[ET Trac] [Einstein Toolkit] #1276: Intel 2013.1.117 mis-compiles NewRad
Einstein Toolkit
trac-noreply at einsteintoolkit.org
Sun Mar 3 16:38:23 CST 2013
#1276: Intel 2013.1.117 mis-compiles NewRad
------------------------------------+---------------------------------------
Reporter: rhaas | Owner:
Type: defect | Status: review
Priority: minor | Milestone:
Component: EinsteinToolkit thorn | Version:
Resolution: | Keywords: NewRad
------------------------------------+---------------------------------------
Comment (by rhaas):
I do not fully understand what triggers the compiler bug. Unfortunately I
do not have a short test case that reproduces it. Only NewRad. The error
manifested as a segfault when the code was run, it was easy to detect. To
diagnose I added printf statements at various places and ran the code in
gdb. Eventually I found that the error is triggered in the very first
iteration of the loop in extrap_kernel at which point i,j,k had the values
that bmin was initialized with :-INT_MAX,-INT_MAX/2,-INT_MAX/3 in my case.
Adding printf statements at the wrong spot removes the error eg adding a
printf(%d %d %d\n", bmin[0],...) removes it, indep. of whether it is added
in the driver or in the extrap routine, which in itself is odd since it
would hint at some kind of cross-procedure optimization.
I cannot really lower the optimization settings below -O2 (for the whole
code) and thus will use a different compiler version. As far are removing
the statements goes: we'd never be able to remove them since this compiler
version will always be buggy. Only when no one uses the compiler anymore
could we do so.
I am unfamiliar with the procedure of submitting a bug report to intel.
Can one submit all of newrad as the failing routine or is a stand-alone
code that demonstrates the issue required?
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1276#comment:5>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
More information about the Trac
mailing list