- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi
Just doing a compile of my code using latest ifort 15 service pack 1, message says please report, so here it is
There was an error with mismatched parenthesis in a standard deviation calculation
OS X 10.10 command line
ifort rbm.f90 -i8 -openmp -I$MKLROOT/include/ilp64 -I$MKLROOT/include $MKLROOT/lib/libmkl_blas95_ilp64.a $MKLROOT/lib/libmkl_intel_ilp64.a $MKLROOT/lib/libmkl_core.a $MKLROOT/lib/libmkl_intel_thread.a -lpthread -lm -march=native -heap-arrays -O3 -WARN -o rbm rbm.f90(447): error #5276: Unbalanced parentheses std = sqrt(sum((exp(logww - aa) - mean)**2)))/(batchSample - 1.0)) -----------------------------------------------------^ rbm.f90(447): error #5276: Unbalanced parentheses std = sqrt(sum((exp(logww - aa) - mean)**2)))/(batchSample - 1.0)) -------------------------------------------------------------------------^ rbm.f90(447): error #5276: Unbalanced parentheses std = sqrt(sum((exp(logww - aa) - mean)**2)))/(batchSample - 1.0)) --------------------------------------------------------------------------^ rbm.f90(447): error #5082: Syntax error, found ')' when expecting one of: <END-OF-STATEMENT> ; std = sqrt(sum((exp(logww - aa) - mean)**2)))/(batchSample - 1.0)) -----------------------------------------------------^ rbm.f90(447): error #5082: Syntax error, found ')' when expecting one of: <END-OF-STATEMENT> ; std = sqrt(sum((exp(logww - aa) - mean)**2)))/(batchSample - 1.0)) --------------------------------------------------------------------------^ rbm.f90(447): error #6410: This name has not been declared as an array or a function. [SQRT] std = sqrt(sum((exp(logww - aa) - mean)**2)))/(batchSample - 1.0)) ---------------^ rbm.f90(447): error #6514: A substring must be of type CHARACTER. [SQRT] std = sqrt(sum((exp(logww - aa) - mean)**2)))/(batchSample - 1.0)) ---------------^ rbm.f90: catastrophic error: **Internal compiler error: segmentation violation signal raised** Please report this error along with the circumstances in which it occurred in a Software Problem Report. Note: File and line given may not be explicit cause of this error. compilation aborted for rbm.f90 (code 1)
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Apart from the compiler's crashing, if there is an MKL include file that contributes to the crash with unbalanced parenthesis, it would help to know its name and location. If not, in addition to the line with the unbalanced parenthesis from your source code, it would be helpful to have the declarations of the variables involved in the offending line. This is because the line that you displayed contains aggregate functions such as SUM, and the happening of the crash may depend on which variables have been declared as arrays.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Please attach a source file that triggers the error - thanks.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
A source file isn't needed, you can just compile the line of code as it stands. Or, if you're fussy, add declaration and end statements:
real, dimension(100) :: logww, aa, mean
std = sqrt(sum((exp(logww - aa) - mean)**2)))/(batchSample - 1.0))
end
By inspection, the source line has more right parentheses than left parentheses, and the compiler points this out before the internal error.
I agree that a simple syntax error should not cause an internal compiler error; nevertheless, that's a lot less serious than an internal compiler error for standard-conforming code. I am escalating this to the compiler developers to investigate, but with relatively low priority.
Thanks for the report.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Turns out this issue had already deen reported. A fix is targeted for a future compiler.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks Martyn
Sorry for not posting the code, there was rather a lot and I was busy doing other stuff ;-)
I agree, it wasn't really causing a problem as I realised it originated from my typo, I mentioned it only because the error message asked me to - ~30 years ago I got a DOS C compiler error that asked me to phone a number, when I phoned and explained the circumstance they advised me to use a competitors compiler (not intel by the way ;-)
thanks all
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This issue has been fixed in the version 16 compiler, released a few days ago as part of Intel Parallel Studio XE 2016. It's available from https://registrationcenter.intel.com with current support. The compiler no longer gives an internal error, although it still gives an error because of the unmatched parentheses, as you would expect.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page