This is with the Polyhedron aermod.f90 test case
(http://www.polyhedron.co.uk/pb05/polyhedron_benchmark_suite.html).

The program crashes (in << 1 sec) with
  gfortran -funroll-loops -march=opteron -O2 -g aermod.f90

It does not crash:
 - without: -march=opteron
 - without: -funroll-loops
 - with: -O1

It was working on 2007-04-23 (should be r124055) and started to fail since
2007-04-24 (should be r124093).

gdb shows:
Program received signal SIGSEGV, Segmentation fault.
#0  resini_ () at aermod.f90:23766
#1  0x00000000004c7357 in MAIN__ () at aermod.f90:2189

And valgrind:
==6590== Invalid write of size 4
==6590==    at 0x4066D1: resini_ (aermod.f90:23766)
==6590==    by 0x4C8BD6: MAIN__ (aermod.f90:2189)
==6590==    by 0x4C95AB: main (fmain.c:22)
==6590==  Address 0x1BE65FD0 is not stack'd, malloc'd or (recently) free'd

 23757              DO K = 1 , NUMGRP
 23758                 DO J = 1 , NUMREC
 23759                    AVEVAL(J,K,L,M) = 0.0
 23760                    DO I = 1 , NHIVAL
 23761                       HIVALU(J,I,K,L,M) = 0.0
 23762                       NHIDAT(J,I,K,L,M) = 0
 23763                       HCLMSG(J,I,K,L,M) = ' '
 23764                       HMAX(I,K,L,M) = 0.0
 23765                       HMDATE(I,K,L,M) = 0
 23766                       HMLOC(I,K,L,M) = 0
 23767                       HMCLM(I,K,L,M) = ' '
 23768                    ENDDO
 23769                 ENDDO


-- 
           Summary: [Regression 4.3] Crash of gen. prog. when using -
                    funroll-loops -march=opteron
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Keywords: wrong-code
          Severity: normal
          Priority: P3
         Component: middle-end
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: burnus at gcc dot gnu dot org
GCC target triplet: x86_64-unknown-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31697

Reply via email to