[Bug target/42159] app compiled with 4.4.2 SIGABRTs after a trivial nested throw/stack unwinding
--- Comment #10 from vlad at demoninsight dot com 2009-11-30 15:19 --- So, using 4.5 trunk works around this issue... But ouch: 4.5 is almost 2x slower than 4.4... -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42159
[Bug target/42159] app compiled with 4.4.2 SIGABRTs after a trivial nested throw/stack unwinding
--- Comment #12 from vlad at demoninsight dot com 2009-11-30 16:07 --- (In reply to comment #11) Slower in runtime or in compile-time? Compile-time. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42159
[Bug target/42159] app compiled with 4.4.2 SIGABRTs after a trivial nested throw/stack unwinding
--- Comment #14 from vlad at demoninsight dot com 2009-12-01 05:50 --- (In reply to comment #13) (In reply to comment #12) Compile-time. configure with --enable-checking=release to turn off checks that are enabled by default in pre-release builds, that will give a better comparison between the 4.4.2 release and 4.5 snapshot Thank you for a useful tip. I have re-built the same snapshot: Using built-in specs. COLLECT_GCC=gcc-4.5 COLLECT_LTO_WRAPPER=/sw/lib/gcc4.5.trunk/libexec/gcc/x86_64-apple-darwin10/4.5.0/lto-wrapper Target: x86_64-apple-darwin10 Configured with: ../src/configure --enable-checking=release --prefix=/sw/lib/gcc4.5.trunk --mandir=/sw/share/man --infodir=/sw/share/info --enable-languages=c,c++,fortran --with-gmp=/sw --with-libiconv-prefix=/sw --with-ppl=/sw --with-cloog=/sw --with-system-zlib --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib --disable-libjava-multilib --build=x86_64-apple-darwin10 --host=x86_64-apple-darwin10 --target=x86_64-apple-darwin10 Thread model: posix gcc version 4.5.0 20091128 (experimental) (GCC) It did make a noticeable difference. With 4.4.2 and 4.5 snapshot installed in parallel dirs, I ran the same build in two shells and simply pointing the builder from one version to another. The times are quite reproducible: 4.4.2: ~ 337 sec 4.5: ~ 466 sec (averages of two runs each). So, 4.5 snapshot is 40% slower at compile time. This is quite a bit better than without --enable-checking=release (which was close to 2x slower) but seems a tad heavy price to pay to just have exceptions working ... -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42159
[Bug target/42159] app compiled with 4.4.2 SIGABRTs after a trivial nested throw/stack unwinding
--- Comment #9 from vlad at demoninsight dot com 2009-11-29 16:04 --- Well, I think my scheme worked: I have succeeded in reverse engineering the 4.4.2 fink scripts into something I could use to build 4.5 trunk against the prerequisite libs installed via fink. Indeed, 4.5 trunk does not appear to have this issue: [10:00:53] TEMPg++-4.5 -v -save-temps test.cpp -o crash Using built-in specs. COLLECT_GCC=g++-4.5 COLLECT_LTO_WRAPPER=/sw/lib/gcc4.5.trunk/libexec/gcc/x86_64-apple-darwin10/4.5.0/lto-wrapper Target: x86_64-apple-darwin10 Configured with: ../src/configure --prefix=/sw/lib/gcc4.5.trunk --mandir=/sw/share/man --infodir=/sw/share/info --enable-languages=c,c++,fortran --with-gmp=/sw --with-libiconv-prefix=/sw --with-ppl=/sw --with-cloog=/sw --with-system-zlib --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib --disable-libjava-multilib --build=x86_64-apple-darwin10 --host=x86_64-apple-darwin10 --target=x86_64-apple-darwin10 Thread model: posix gcc version 4.5.0 20091128 (experimental) (GCC) COLLECT_GCC_OPTIONS='-mmacosx-version-min=10.6.2' '-v' '-save-temps' '-o' 'crash' '-shared-libgcc' '-mtune=generic' /sw/lib/gcc4.5.trunk/libexec/gcc/x86_64-apple-darwin10/4.5.0/cc1plus -E -quiet -v -D__DYNAMIC__ test.cpp -fPIC -mmacosx-version-min=10.6.2 -mtune=generic -fpch-preprocess -o test.ii ignoring nonexistent directory /usr/local/include ignoring nonexistent directory /sw/lib/gcc4.5.trunk/lib/gcc/x86_64-apple-darwin10/4.5.0/../../../../x86_64-apple-darwin10/include #include ... search starts here: #include ... search starts here: /sw/lib/gcc4.5.trunk/lib/gcc/x86_64-apple-darwin10/4.5.0/../../../../include/c++/4.5.0 /sw/lib/gcc4.5.trunk/lib/gcc/x86_64-apple-darwin10/4.5.0/../../../../include/c++/4.5.0/x86_64-apple-darwin10 /sw/lib/gcc4.5.trunk/lib/gcc/x86_64-apple-darwin10/4.5.0/../../../../include/c++/4.5.0/backward /sw/lib/gcc4.5.trunk/include /sw/lib/gcc4.5.trunk/lib/gcc/x86_64-apple-darwin10/4.5.0/include /sw/lib/gcc4.5.trunk/lib/gcc/x86_64-apple-darwin10/4.5.0/include-fixed /usr/include /System/Library/Frameworks /Library/Frameworks End of search list. COLLECT_GCC_OPTIONS='-mmacosx-version-min=10.6.2' '-v' '-save-temps' '-o' 'crash' '-shared-libgcc' '-mtune=generic' /sw/lib/gcc4.5.trunk/libexec/gcc/x86_64-apple-darwin10/4.5.0/cc1plus -fpreprocessed test.ii -fPIC -quiet -dumpbase test.cpp -mmacosx-version-min=10.6.2 -mtune=generic -auxbase test -version -o test.s GNU C++ (GCC) version 4.5.0 20091128 (experimental) (x86_64-apple-darwin10) compiled by GNU C version 4.5.0 20091128 (experimental), GMP version 4.3.1, MPFR version 2.4.1 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 GNU C++ (GCC) version 4.5.0 20091128 (experimental) (x86_64-apple-darwin10) compiled by GNU C version 4.5.0 20091128 (experimental), GMP version 4.3.1, MPFR version 2.4.1 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: f85e2aae35d4b378debe824f8e82886d COLLECT_GCC_OPTIONS='-mmacosx-version-min=10.6.2' '-v' '-save-temps' '-o' 'crash' '-shared-libgcc' '-mtune=generic' as -arch x86_64 -force_cpusubtype_ALL -o test.o test.s COMPILER_PATH=/sw/lib/gcc4.5.trunk/libexec/gcc/x86_64-apple-darwin10/4.5.0/:/sw/lib/gcc4.5.trunk/libexec/gcc/x86_64-apple-darwin10/4.5.0/:/sw/lib/gcc4.5.trunk/libexec/gcc/x86_64-apple-darwin10/:/sw/lib/gcc4.5.trunk/lib/gcc/x86_64-apple-darwin10/4.5.0/:/sw/lib/gcc4.5.trunk/lib/gcc/x86_64-apple-darwin10/ LIBRARY_PATH=/sw/lib/gcc4.5.trunk/lib/gcc/x86_64-apple-darwin10/4.5.0/:/sw/lib/gcc4.5.trunk/lib/gcc/x86_64-apple-darwin10/4.5.0/../../../:/usr/lib/ COLLECT_GCC_OPTIONS='-mmacosx-version-min=10.6.2' '-v' '-save-temps' '-o' 'crash' '-shared-libgcc' '-mtune=generic' /sw/lib/gcc4.5.trunk/libexec/gcc/x86_64-apple-darwin10/4.5.0/collect2 -dynamic -arch x86_64 -macosx_version_min 10.6.2 -weak_reference_mismatches non-weak -o crash -lcrt1.10.5.o -L/sw/lib/gcc4.5.trunk/lib/gcc/x86_64-apple-darwin10/4.5.0 -L/sw/lib/gcc4.5.trunk/lib/gcc/x86_64-apple-darwin10/4.5.0/../../.. test.o -lstdc++ -lgcc_s.10.5 -lgcc_ext.10.5 -lgcc -no_compact_unwind -lSystem COLLECT_GCC_OPTIONS='-mmacosx-version-min=10.6.2' '-v' '-save-temps' '-o' 'crash' '-shared-libgcc' '-mtune=generic' [10:01:04] TEMP./crash CAUGHT -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42159
[Bug target/42159] app compiled with 4.4.2 SIGABRTs after a trivial nested throw/stack unwinding
--- Comment #8 from vlad at demoninsight dot com 2009-11-28 06:42 --- I am somewhat unsure about what our best course of action is at this point. Can we discuss this in gnu forums? Could I help by providing diagnostics? I'd like to use 4.4.x for its OpenMP support etc in preference to the xcode version. I see that many (all?) prerequisites for building gcc are available through fink: gmp, ppl, fmpr, etc. I wonder if I could leverage fink to get all of the dependencies and then try building the current against those. Jack, since you're the maintainer of the fink package you probably build it all the time. Would be able to point in the right direction with the above idea, assuming a vanilla fink install in /sw? I feel lost among the many svn branches already... -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42159
[Bug c++/42159] app compiled with 4.4.2 SIGABRTs after a trivial nested throw/stack unwinding
--- Comment #5 from vlad at demoninsight dot com 2009-11-25 17:16 --- Same results on a custom Sep 2009 build of gcc 4.5 on Snow Leopard (64 bit mode). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42159
[Bug c++/42159] app compiled with 4.4.2 SIGABRTs after a trivial nested throw/stack unwinding
--- Comment #3 from vlad at demoninsight dot com 2009-11-24 15:48 --- (In reply to comment #1) This bug doesn't appear to be present in current gcc trunk on x86_64-apple-darwin10. Jack, how should I interpret your comment? That all is well in 4.4.3 branch or something? Or that you cannot reproduce it on your end in 4.4.2? If one wanted to leverage darwinports how would one get a 4.4.x version of gcc that does not have this issue? It seems like a basic failure of exception hanlding mechanism. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42159
[Bug c++/42159] New: app compiled with 4.4.2 SIGABRTs after a trivial nested throw/stack unwinding
(x86_64-apple-darwin10) compiled by GNU C version 4.4.2, GMP version 4.3.1, MPFR version 2.4.1. GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: e5506cfd76732233066589d06543f3ba COLLECT_GCC_OPTIONS='-mmacosx-version-min=10.6.2' '-v' '-save-temps' '-o' 'crash' '-shared-libgcc' '-mtune=generic' as -arch x86_64 -force_cpusubtype_ALL -o test.o test.s COMPILER_PATH=/sw/lib/gcc4.4/libexec/gcc/x86_64-apple-darwin10/4.4.2/:/sw/lib/gcc4.4/libexec/gcc/x86_64-apple-darwin10/4.4.2/:/sw/lib/gcc4.4/libexec/gcc/x86_64-apple-darwin10/:/sw/lib/gcc4.4/lib/gcc/x86_64-apple-darwin10/4.4.2/:/sw/lib/gcc4.4/lib/gcc/x86_64-apple-darwin10/ LIBRARY_PATH=/sw/lib/gcc4.4/lib/gcc/x86_64-apple-darwin10/4.4.2/:/sw/lib/gcc4.4/lib/gcc/x86_64-apple-darwin10/4.4.2/../../../:/usr/lib/ COLLECT_GCC_OPTIONS='-mmacosx-version-min=10.6.2' '-v' '-save-temps' '-o' 'crash' '-shared-libgcc' '-mtune=generic' /sw/lib/gcc4.4/libexec/gcc/x86_64-apple-darwin10/4.4.2/collect2 -dynamic -arch x86_64 -macosx_version_min 10.6.2 -weak_reference_mismatches non-weak -o crash -lcrt1.10.5.o -L/sw/lib/gcc4.4/lib/gcc/x86_64-apple-darwin10/4.4.2 -L/sw/lib/gcc4.4/lib/gcc/x86_64-apple-darwin10/4.4.2/../../.. test.o -lstdc++ -lgcc_s.10.5 -lgcc -lSystem COLLECT_GCC_OPTIONS='-mmacosx-version-min=10.6.2' '-v' '-save-temps' '-o' 'crash' '-shared-libgcc' '-mtune=generic' ./crash -- Summary: app compiled with 4.4.2 SIGABRTs after a trivial nested throw/stack unwinding Product: gcc Version: 4.4.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: vlad at demoninsight dot com GCC build triplet: x86_64-apple-darwin10 GCC host triplet: x86_64-apple-darwin10 GCC target triplet: x86_64-apple-darwin10 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42159
[Bug c++/42159] app compiled with 4.4.2 SIGABRTs after a trivial nested throw/stack unwinding
--- Comment #2 from vlad at demoninsight dot com 2009-11-24 01:37 --- I also have 32 bit gcc 4.4.1 on a MacBook Pro (Snow Leopard 10.6.2 as well) obtained outside of darwinports: gcc -v Using built-in specs. Target: i386-apple-darwin9.7.0 Configured with: ./configure --enable-languages=c,c++,fortran Thread model: posix gcc version 4.4.1 20090623 (prerelease) (GCC) and it experiences a similar problem (but only when compiled with -m64): Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x, 0x Crashed Thread: 0 Dispatch queue: com.apple.main-thread Application Specific Information: abort() called Thread 0 Crashed: Dispatch queue: com.apple.main-thread 0 libSystem.B.dylib 0x7fff85225fe6 __kill + 10 1 libSystem.B.dylib 0x7fff852c6e32 abort + 83 2 libgcc_s.1.dylib0x000100183c92 uw_init_context_1 + 146 3 libgcc_s.1.dylib0x0001001842ce _Unwind_RaiseException + 62 4 libstdc++.6.dylib 0x000100073db9 __cxa_throw + 89 5 crash 0x00010bfb dummy() + 201 6 crash 0x00010c84 main + 52 7 crash 0x00010b10 start + 52 Thread 0 crashed with X86 Thread State (64-bit): rax: 0x rbx: 0x7fff5fbff3b0 rcx: 0x7fff5fbfef58 rdx: 0x rdi: 0x5896 rsi: 0x0006 rbp: 0x7fff5fbfef70 rsp: 0x7fff5fbfef58 r8: 0x0001002fc0a0 r9: 0x0001002fc0a4 r10: 0x7fff85222026 r11: 0x0206 r12: 0x7fff5fbff4f0 r13: 0x000100073db9 r14: 0x7fff5fbfef80 r15: 0x rip: 0x7fff85225fe6 rfl: 0x0206 cr2: 0x000100186b0e Binary Images: 0x1 -0x10ff7 +crash ??? (???) 87DD3854-E919-9E63-A7E1-D459EBDB7B82 /Users/vlad/CONTENT/PRJ/crash/crash 0x13000 -0x1000a4fef +libstdc++.6.dylib ??? (???) 791E4340-8218-E2DD-CEBD-5A343975BA5E /usr/local/lib/x86_64/libstdc++.6.dylib 0x100176000 -0x100189ff1 +libgcc_s.1.dylib ??? (???) CCB54A5C-47D8-820A-59E3-55965BF5E635 /usr/local/lib/libgcc_s.1.dylib 0x7fff5fc0 - 0x7fff5fc3bdef dyld 132.1 (???) B633F790-4DDB-53CD-7ACF-2A3682BCEA9F /usr/lib/dyld 0x7fff806fe000 - 0x7fff80702ff7 libmathCommon.A.dylib ??? (???) 95718673-FEEE-B6ED-B127-BCDBDB60D4E5 /usr/lib/system/libmathCommon.A.dylib 0x7fff851d7000 - 0x7fff85395ff7 libSystem.B.dylib ??? (???) 526DD3E5-2A8B-4512-ED97-01B832369959 /usr/lib/libSystem.B.dylib 0x7fe0 - 0x7fe01fff libSystem.B.dylib ??? (???) 526DD3E5-2A8B-4512-ED97-01B832369959 /usr/lib/libSystem.B.dylib Model: MacBookPro2,2, BootROM MBP22.00A5.B07, 2 processors, Intel Core 2 Duo, 2.33 GHz, 4 GB, SMC 1.12f5 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42159