Opened 14 years ago
Last modified 8 years ago
#25042 assigned defect
g++-mp-4.3 aborts instead of catching exceptions — at Version 1
Reported by: | jsanchez@… | Owned by: | mww@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.8.2 |
Keywords: | Cc: | ||
Port: | gcc43 |
Description (last modified by mf2k (Frank Schima))
Hello,
This is on Mac OS X 10.6.3 and using
Darwin myhostname 10.3.0 Darwin Kernel Version 10.3.0: Fri Feb 26 11:57:13 PST 2010; root:xnu-1504.3.12~1/RELEASE_X86_64 x86_64
which is a macbook pro
When testing my application, one of my regressions throws an exception. It is caught fine using the xcode g++ 4.2.1, but crashes on g++-mp-4.3. I investigated this and found that by removing "-lgcc_s.10.5" from the link line generated by the compiler, the exception is then properly caught.
The xcode compiler line is:
/usr/libexec/gcc/i686-apple-darwin10/4.2.1/collect2 -dynamic -arch x86_64 -macosx_version_min 10.6.3 -weak_reference_mismatches non-weak -o test1 -lcrt1.10.6.o -L/usr/lib/gcc/i686-apple-darwin10/4.2.1/x86_64 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1/x86_64 -L/usr/lib/i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1/../../../i686-apple-darwin10/4.2.1 -L/usr/lib/gcc/i686-apple-darwin10/4.2.1/../../.. CMakeFiles/models.dir/Arrhenius.o CMakeFiles/models.dir/ModelBase.o CMakeFiles/models.dir/ParameterDatabase.o CMakeFiles/models.dir/ReactionSet.o CMakeFiles/models.dir/DoubleEntry.o CMakeFiles/models.dir/SpeciesProduct.o CMakeFiles/models.dir/KEqModel.o CMakeFiles/models.dir/ProductModel.o CMakeFiles/models.dir/AddModel.o CMakeFiles/models.dir/OmegaDot.o CMakeFiles/models.dir/KbModel.o CMakeFiles/models.dir/GibbsFreeEnergy.o CMakeFiles/models.dir/KEqGibbsModel.o ../testing/CMakeFiles/test1.dir/test1.o -lstdc++ -lSystem -lgcc -lSystem
and the mac ports compiler line is
/opt/local/libexec/gcc/x86_64-apple-darwin10/4.3.4/collect2 -dynamic -arch x86_64 -macosx_version_min 10.6.3 -weak_reference_mismatches non-weak -o test1 -lcrt1.10.5.o -L/opt/local/lib/gcc43/gcc/x86_64-apple-darwin10/4.3.4 -L/opt/local/lib/gcc43/gcc/x86_64-apple-darwin10/4.3.4/../../.. CMakeFiles/models.dir/Arrhenius.o CMakeFiles/models.dir/ModelBase.o CMakeFiles/models.dir/ParameterDatabase.o CMakeFiles/models.dir/ReactionSet.o CMakeFiles/models.dir/DoubleEntry.o CMakeFiles/models.dir/SpeciesProduct.o CMakeFiles/models.dir/KEqModel.o CMakeFiles/models.dir/ProductModel.o CMakeFiles/models.dir/AddModel.o CMakeFiles/models.dir/OmegaDot.o CMakeFiles/models.dir/KbModel.o CMakeFiles/models.dir/GibbsFreeEnergy.o CMakeFiles/models.dir/KEqGibbsModel.o ../testing/CMakeFiles/test1.dir/test1.o -lstdc++ -lgcc_s.10.5 -lgcc -lSystem
Removing -lgcc_s.10.5 fixes the problem, since I suspect it was written for a previous version of the OS.
The stack trace of the problem is:
Program received signal SIGABRT, Aborted. 0x00007fff85cc9886 in __kill () (gdb) up #1 0x00007fff85d69eae in abort () (gdb) #2 0x0000000100267c3e in uw_init_context_1 () (gdb) #3 0x0000000100268058 in _Unwind_Resume () (gdb) #4 0x0000000100015ae6 in HTChem::DoubleEntry::operator double (this=Could not find the frame base for "HTChem::DoubleEntry::operator double()". ) at /workspace/svn/htchem/prototype1/models/DoubleEntry.cc:11 11 hpcassert(first, "Entry does not exist");
Thank you,
Juan
Change History (1)
comment:1 Changed 14 years ago by mf2k (Frank Schima)
Description: | modified (diff) |
---|---|
Owner: | changed from macports-tickets@… to mww@… |
Port: | @4.3.4 (lang) removed |