compiler fail with "TERMINATED by signal 11" error

Hi Mat,

I tried to compiled public domain molecule dynamic simulation code, say PWSCF, using v5.2-4 (mpich fortran/cc wrapped with this version). However, compiler prompted the following error and terminate abnormally.


[jason@cluster Modules]$ mpif90 -fast -r8 -I. -I…/include -I…/Modules -I…/PW -I…/PH -D__LINUX -D__PGI -D__MPI -D__PARA -D__FFTW -D__USE_INTERNAL_FFTW -c cell_base.F90 -o cell_base.o
pgf90-Fatal-/usr/pgi_v5.2-4/linux86/5.2/bin/pgf901 TERMINATED by signal 11
Arguments to /usr/pgi_v5.2-4/linux86/5.2/bin/pgf901
/usr/pgi_v5.2-4/linux86/5.2/bin/pgf901 cell_base.F90 -opt 2 -terse 1 -inform warn -nohpf -nostatic -x 119 0x100000 -x 15 2 -x 49 0x400004 -x 51 0x20 -x 57 0x4c -x 58 0x10000 -x 124 0x1000 -x 57 0x10000 -x 58 0x8031040 -x 48 3328 -stdinc /usr/pgi_v5.2-4/linux86/5.2/include:/usr/local/include:/usr/lib/gcc-lib/i386-redhat-linux/2.96/include:/usr/lib/gcc-lib/i386-redhat-linux/2.96/include:/usr/include -def unix -def __unix -def unix -def linux -def __linux -def linux -def inline= -def i386 -def __i386 -def i386 -def __NO_MATH_INLINES -def linux86 -def __THROW= -idir . -idir …/include -idir …/Modules -idir …/PW -idir …/PH -idir /usr/local/mpich/include/f90choice -def __LINUX -def __PGI -def __MPI -def __PARA -def __FFTW -def __USE_INTERNAL_FFTW -vect 48 -x 124 0x8 -output /home/jason/temp//pgf90aaaaamFCag.ilm

However, compile the routine as dryrun contain no further error:

compile as dryrun

[jason@cluster Modules]$ mpif90 -dryrun -fast -r8 -I. -I…/include -I…/Modules -I…/PW -I…/PH -D__LINUX -D__PGI -D__MPI -D__PARA -D__FFTW -D__USE_INTERNAL_FFTW -c cell_base.F90 -o cell_base.o
Reading rcfile /usr/pgi_v5.2-4/linux86/5.2/bin/.pgf90rc
Reading rcfile /usr/pgi_v5.2-4/linux86/5.2/bin/nativerc
Reading rcfile /usr/pgi_v5.2-4/linux86/5.2/bin/fnativerc
Reading rcfile /usr/pgi_v5.2-4/linux86/5.2/bin/x86rc
Reading rcfile /usr/pgi_v5.2-4/linux86/5.2/bin/x8632rc
Reading rcfile /usr/pgi_v5.2-4/linux86/5.2/bin/lin86rc
Reading rcfile /usr/pgi_v5.2-4/linux86/5.2/bin/lin8632rc
Reading rcfile /usr/pgi_v5.2-4/linux86/5.2/bin/iparc
Reading rcfile /usr/pgi_v5.2-4/linux86/5.2/bin/pgf90rc
Reading rcfile /usr/pgi_v5.2-4/linux86/5.2/bin/pgftnrc
Reading rcfile /usr/pgi_v5.2-4/linux86/5.2/bin/localrc
Skipping .mypgf90rc (not found)

/usr/pgi_v5.2-4/linux86/5.2/bin/pgf901 cell_base.F90 -opt 2 -terse 1 -inform warn -nohpf -nostatic -x 119 0x100000 -x 15 2 -x 49 0x400004 -x 51 0x20 -x 57 0x4c -x 58 0x10000 -x 124 0x1000 -x 57 0x10000 -x 58 0x8031040 -x 48 3328 -stdinc /usr/pgi_v5.2-4/linux86/5.2/include:/usr/local/include:/usr/lib/gcc-lib/i386-redhat-linux/2.96/include:/usr/lib/gcc-lib/i386-redhat-linux/2.96/include:/usr/include -def unix -def __unix -def unix -def linux -def __linux -def linux -def inline= -def i386 -def __i386 -def i386 -def __NO_MATH_INLINES -def linux86 -def __THROW= -idir . -idir …/include -idir …/Modules -idir …/PW -idir …/PH -idir /usr/local/mpich/include/f90choice -def __LINUX -def __PGI -def __MPI -def __PARA -def __FFTW -def __USE_INTERNAL_FFTW -vect 48 -x 124 0x8 -output /home/jason/temp//pgf90aaaaatACav.ilm

/usr/pgi_v5.2-4/linux86/5.2/bin/pgf902 /home/jason/temp//pgf90aaaaatACav.ilm -fn cell_base.F90 -opt 2 -terse 1 -inform warn -x 51 0x20 -x 119 0xa10000 -x 119 0x100000 -x 122 0x40 -x 123 0x1000 -x 127 4 -x 119 0x40000000 -x 80 0x300 -y 80 0x1000 -x 80 0x40000000 -x 124 0x1400 -y 15 2 -x 80 0x300 -y 80 0x1000 -x 80 0x40000000 -x 57 0x10000 -x 58 0x8000000 -astype 0 -x 121 1 -stdinc /usr/pgi_v5.2-4/linux86/5.2/include:/usr/local/include:/usr/lib/gcc-lib/i386-redhat-linux/2.96/include:/usr/lib/gcc-lib/i386-redhat-linux/2.96/include:/usr/include -def unix -def __unix -def unix -def linux -def __linux -def linux -def inline= -def i386 -def __i386 -def i386 -def __NO_MATH_INLINES -def linux86 -def __THROW= -idir . -idir …/include -idir …/Modules -idir …/PW -idir …/PH -idir /usr/local/mpich/include/f90choice -def __LINUX -def __PGI -def __MPI -def __PARA -def __FFTW -def __USE_INTERNAL_FFTW -x 124 1 -x 9 1 -x 42 0x24200000 -x 72 0x1 -x 136 0x11 -asm /home/jason/temp//pgf90baaaatACav.s

/usr/bin/as /home/jason/temp//pgf90baaaatACav.s -I. -I…/include -I…/Modules -I…/PW -I…/PH -I/usr/local/mpich/include/f90choice -o cell_base.o
Unlinking /home/jason/temp//pgf90aaaaatACav.ilm
Unlinking /home/jason/temp//pgf90aaaaatACav.dwf
Unlinking /home/jason/temp//pgf90baaaatACav.s

any suggestion for this error encountered?

BR,
J

Hi Jason,


Unfortunately, the 5.2 pgf90 compiler has a bug when using the RESHAPE intrinsic in a variable intialization. This has been fixed for the upcoming 6.0 release. The work around is to change lines 68 and 69 of cell_base.f90 from:

        REAL(dbl) :: at(3,3) = RESHAPE( (/ 0.0d0 /), (/ 3, 3 /), (/ 0.0d0 /) )
        REAL(dbl) :: bg(3,3) = RESHAPE( (/ 0.0d0 /), (/ 3, 3 /), (/ 0.0d0 /) )

to:

         REAL(dbl) :: at(3,3) = 0.0d0
         REAL(dbl) :: bg(3,3) = 0.0d0

I was able to successfully compile and link the application with this change. For the most part, the examples ran correctly. A few did fail, but I have not yet investigated the cause. Also, I will add PWscf to our quailty assurance tests to ensure future version of the compiler will not fail.

FYI, “-dryrun” shows you what steps the compiler would take to compile your code, but does not actually perform the compilation. This is why you did not see the problem with “-dryrun”.

Thank you,
Mat

Thanks Mat,

after swtich off the RESHAPE initialization, I can successifully compile all binaries. But how to trace back this problem, as posted yesterday, the compiler didnt have much information where the compilation abort. I would prefer to try it myself in the future if encounter similar problem and I’ll look forward the next release of PGI.

And thanks for put this code as your quailty assurance tests. :-)

BR,
J

Hi Jason,

I’m glad the work around helped. For this type of error it would be very difficult for you to diagnose. Also, these are very servere errrors so we definately want to hear about them. It is a good idea that we should do a “How-to” on tracking down bugs, compiler or otherwise. Of course, this is more an art than a science but we might be able give some useful ideas. I’ll put this on our “to-do” list, but don’t hold me to a time table ;-).

Thanks,
Mat

Mat, Thanks for the effort. I am looking forward to hear from you if similar functionality have been implemented in PGI. :-)

BR,
J