http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54034
Bug #: 54034
Summary: [4.8 Regression] doduc benchmark from polyhedron 11
segfaults
Classification: Unclassified
Product: gcc
Version: 4.8.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
AssignedTo: [email protected]
ReportedBy: [email protected]
doduc benchmark from Polyhedron 11 benchmark suite segfaults when compile with
-O3 -ffast-math for x86_64-pc-linux-gnu target:
gcc version 4.8.0 20120719 (experimental) [trunk revision 189664] (GCC)
[uros@localhost source]$ ./a.out
MAIN : FIN S00002
MAIN : FIN S00001
MAIN : FIN S00011
MAIN : FIN S00022
TEMPS = 33.00000000 , NITERA : 1
TEMPS = 34.00031044 , NITERA : 186
TEMPS = 35.00497388 , NITERA : 955
TEMPS = 36.00007615 , NITERA : 1512
TEMPS = 37.00012624 , NITERA : 1765
TEMPS = 38.00060760 , NITERA : 2044
TEMPS = 39.00312223 , NITERA : 2327
TEMPS = 40.00168143 , NITERA : 2607
TEMPS = 45.00187475 , NITERA : 4017
TEMPS = 50.00261983 , NITERA : 5492
TEMPS = 55.00263522 , NITERA : 6981
TEMPS = 60.00087007 , NITERA : 8679
Program received signal SIGSEGV: Segmentation fault - invalid memory reference.
Backtrace for this error:
#0 0x7F6627DD0FD7
#1 0x7F6627DD15A4
#2 0x3C02E3599F
#3 0x4040E8 in s00061_ at doduc.f90:568
#4 0x412AD3 in s00013_ at doduc.f90:1150
#5 0x41B9D4 in doduc at doduc.f90:182
The problem is with index to y array:
Program received signal SIGSEGV, Segmentation fault.
s00061 (i=7, hv=0.0050539815561751163, hvt=0, hvme=0, hvms=0,
ynu=4.3611596409392313, re=-nan(0x8000000000000),
tfl=1773.5356631567458, dtfl=-nan(0x8000000000000), iopt=0) at
doduc.f90:568
568 y1 = y(i1)
Missing separate debuginfos, use: debuginfo-install glibc-2.15-51.fc17.x86_64
(gdb) p i1
$1 = -2147483635
(gdb) bt
#0 s00061 (i=7, hv=0.0050539815561751163, hvt=0, hvme=0, hvms=0,
ynu=4.3611596409392313, re=-nan(0x8000000000000),
tfl=1773.5356631567458, dtfl=-nan(0x8000000000000), iopt=0) at
doduc.f90:568
#1 0x0000000000412ad4 in s00013 () at doduc.f90:1150
#2 0x000000000041b9d5 in doduc () at doduc.f90:182
#3 0x0000000000400b4d in main (argc=<optimized out>, argv=<optimized out>) at
doduc.f90:199
#4 0x0000003c02e21735 in __libc_start_main () from /lib64/libc.so.6
#5 0x0000000000400b79 in _start ()
(gdb)
Please also note that a strange runtime regression happened with this benchmark
on 18th of July [1].
[1] http://gcc.opensuse.org/c++bench/polyhedron/polyhedron-summary.txt-2-0.html