Opened 10 years ago

Closed 10 years ago

#41364 closed defect (fixed)

gcc48: f951: internal compiler error: Illegal instruction

Reported by: nicolaiheitz@… Owned by: mww@…
Priority: Normal Milestone:
Component: ports Version: 2.2.1
Keywords: Cc: klaus.zimmermann@…, gnw3, liampg72@…, kurtjaeke@…, cooljeanius (Eric Gallager)
Port: gcc48

Description

Configuring and compiling of standard libraries like scalapack and hdf5 fails due to an internal compiler error. A minimal error example is attached as well as the output it produces:

Home$ gfortran -v mini.f 
Driving: gfortran -mmacosx-version-min=10.7.4 -v mini.f -l gfortran -shared-libgcc
Using built-in specs.
COLLECT_GCC=gfortran
COLLECT_LTO_WRAPPER=/opt/local/libexec/gcc/x86_64-apple-darwin11/4.8.2/lto-wrapper
Target: x86_64-apple-darwin11
Configured with: /opt/local/var/macports/build/_opt_mports_dports_lang_gcc48/gcc48/work/gcc-4.8.2/configure --prefix=/opt/local --build=x86_64-apple-darwin11 --enable-languages=c,c++,objc,obj-c++,lto,fortran,java --libdir=/opt/local/lib/gcc48 --includedir=/opt/local/include/gcc48 --infodir=/opt/local/share/info --mandir=/opt/local/share/man --datarootdir=/opt/local/share/gcc-4.8 --with-local-prefix=/opt/local --with-system-zlib --disable-nls --program-suffix=-mp-4.8 --with-gxx-include-dir=/opt/local/include/gcc48/c++/ --with-gmp=/opt/local --with-mpfr=/opt/local --with-mpc=/opt/local --with-cloog=/opt/local --enable-cloog-backend=isl --disable-cloog-version-check --enable-stage1-checking --disable-multilib --enable-lto --enable-libstdcxx-time --with-as=/opt/local/bin/as --with-ld=/opt/local/bin/ld --with-ar=/opt/local/bin/ar --with-bugurl=https://trac.macports.org/newticket --with-pkgversion='MacPorts gcc48 4.8.2_0'
Thread model: posix
gcc version 4.8.2 (MacPorts gcc48 4.8.2_0) 
COLLECT_GCC_OPTIONS='-mmacosx-version-min=10.7.4' '-v' '-shared-libgcc' '-mtune=core2'
 /opt/local/libexec/gcc/x86_64-apple-darwin11/4.8.2/f951 mini.f -ffixed-form -fPIC -quiet -dumpbase mini.f -mmacosx-version-min=10.7.4 -mtune=core2 -auxbase mini -version -fintrinsic-modules-path /opt/local/lib/gcc48/gcc/x86_64-apple-darwin11/4.8.2/finclude -o /var/folders/9y/l6x_lpzn68lfv0667l0gmcfw0000gn/T//ccwFY8D6.s
GNU Fortran (MacPorts gcc48 4.8.2_0) version 4.8.2 (x86_64-apple-darwin11)
	compiled by GNU C version 4.8.2, GMP version 5.1.2, MPFR version 3.1.1-p2, MPC version 1.0.1
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU Fortran (MacPorts gcc48 4.8.2_0) version 4.8.2 (x86_64-apple-darwin11)
	compiled by GNU C version 4.8.2, GMP version 5.1.2, MPFR version 3.1.1-p2, MPC version 1.0.1
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
f951: internal compiler error: Illegal instruction: 4

f951: internal compiler error: Abort trap: 6
gfortran: internal compiler error: Abort trap: 6 (program f951)
Abort trap: 6

Attachments (1)

mini.f (172 bytes) - added by nicolaiheitz@… 10 years ago.

Download all attachments as: .zip

Change History (14)

Changed 10 years ago by nicolaiheitz@…

Attachment: mini.f added

comment:1 Changed 10 years ago by klaus.zimmermann@…

Cc: klaus.zimmermann@… added

Cc Me!

comment:2 Changed 10 years ago by gnw3

Cc: gnwiii@… added

Cc Me!

comment:3 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Keywords: gfortran gcc scalapack hdf5 removed
Owner: changed from macports-tickets@… to mww@…
Port: gcc48 added; gfortran/gcc removed
Summary: gfortran/gcc @mp-gcc48 f951: internal compiler errorgcc48: f951: internal compiler error: Illegal instruction

comment:4 Changed 10 years ago by liampg72@…

Cc: liampg72@… added

Cc Me!

comment:5 Changed 10 years ago by kurtjaeke@…

Cc: kurtjaeke@… added

Cc Me!

comment:6 Changed 10 years ago by kurtjaeke@…

Please run the compiler back-end in lldb:

lldb -- /opt/local/libexec/gcc/x86_64-apple-darwin11/4.8.2/f951 mini.f -ffixed-form -fPIC -quiet -dumpbase mini.f -mmacosx-version-min=10.7.4 -mtune=core2 -auxbase mini -version -fintrinsic-modules-path /opt/local/lib/gcc48/gcc/x86_64-apple-darwin11/4.8.2/finclude -o /var/folders/9y/l6x_lpzn68lfv0667l0gmcfw0000gn/T//ccwFY8D6.s

as in #41555, and post the results.

Last edited 10 years ago by kurtjaeke@… (previous) (diff)

comment:7 Changed 10 years ago by nicolaiheitz@…

lldb -- /opt/local/libexec/gcc/x86_64-apple-darwin11/4.8.2/f951 mini.f -ffixed-form -fPIC -quiet -dumpbase mini.f -mmacosx-version-min=10.7.4 -mtune=core2 -auxbase mini -version -fintrinsic-modules-path /opt/local/lib/gcc48/gcc/x86_64-apple-darwin11/4.8.2/finclude -o /var/folders/9y/l6x_lpzn68lfv0667l0gmcfw0000gn/T//ccwFY8D6.s
Current executable set to '/opt/local/libexec/gcc/x86_64-apple-darwin11/4.8.2/f951' (x86_64).
(lldb) run
Process 31804 launched: '/opt/local/libexec/gcc/x86_64-apple-darwin11/4.8.2/f951' (x86_64)
GNU Fortran (MacPorts gcc48 4.8.2_0) version 4.8.2 (x86_64-apple-darwin11)
	compiled by GNU C version 4.8.2, GMP version 5.1.2, MPFR version 3.1.1-p2, MPC version 1.0.1
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU Fortran (MacPorts gcc48 4.8.2_0) version 4.8.2 (x86_64-apple-darwin11)
	compiled by GNU C version 4.8.2, GMP version 5.1.2, MPFR version 3.1.1-p2, MPC version 1.0.1
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Process 31804 stopped
* thread #1: tid = 0x1f03, 0x0000000141580466 libgmp.10.dylib`__gmpn_popcount + 134, stop reason = EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
    frame #0: 0x0000000141580466 libgmp.10.dylib`__gmpn_popcount + 134
libgmp.10.dylib`__gmpn_popcount + 134:
-> 0x141580466:  popcntq 56(%rdi,%rsi,8), %r9
   0x14158046d:  addq   %r9, %rax
   0x141580470:  addq   $8, %rsi
   0x141580474:  js     0x0000000141580420       ; __gmpn_popcount + 64
(lldb) bt
* thread #1: tid = 0x1f03, 0x0000000141580466 libgmp.10.dylib`__gmpn_popcount + 134, stop reason = EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
    frame #0: 0x0000000141580466 libgmp.10.dylib`__gmpn_popcount + 134
    frame #1: 0x00000001415334dd libmpfr.4.dylib`parsed_string_to_mpfr + 381
    frame #2: 0x00000001415332c1 libmpfr.4.dylib`mpfr_strtofr + 1921
    frame #3: 0x00000001415196e0 libmpfr.4.dylib`mpfr_set_str + 32
    frame #4: 0x000000010000407c f951`gfc_convert_real(char const*, int, locus*) + 44
    frame #5: 0x000000010007897e f951`_ZL19match_real_constantPP8gfc_expri + 798
    frame #6: 0x0000000100079ebc f951`gfc_match_literal_constant(gfc_expr**, int) + 1404
(lldb) 

comment:8 Changed 10 years ago by kurtjaeke@…

Try reinstalling gmp from source (with "-s"):

port -f uninstall gmp
port -s install gmp

Does this fix your problem?

comment:9 Changed 10 years ago by nicolaiheitz@…

It does fix my problem.

Thank you so much for your support!

comment:10 Changed 10 years ago by kurtjaeke@…

So, can this issue be closed, then?

comment:11 in reply to:  10 Changed 10 years ago by nicolaiheitz@…

Replying to kurtjaeke@…:

So, can this issue be closed, then?

Yes! Thank you.

comment:12 Changed 10 years ago by cooljeanius (Eric Gallager)

Cc: egall@… added

Cc Me!

comment:13 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.