[MacPorts] #25042: g++-mp-4.3 aborts instead of catching exceptions

MacPorts noreply at macports.org
Wed May 26 14:15:08 PDT 2010


#25042: g++-mp-4.3 aborts instead of catching exceptions
--------------------------------------+-------------------------------------
 Reporter:  jsanchez@…                |       Owner:  mww@…           
     Type:  defect                    |      Status:  new             
 Priority:  Normal                    |   Milestone:                  
Component:  ports                     |     Version:  1.8.2           
 Keywords:                            |        Port:  gcc43           
--------------------------------------+-------------------------------------
Changes (by macsforever2000@…):

  * owner:  macports-tickets@… => mww@…
  * port:  gcc43 @4.3.4 (lang) => gcc43


Old description:

> 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

New description:

 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

--

-- 
Ticket URL: <http://trac.macports.org/ticket/25042#comment:1>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list