Solaris throw bug, PR 5936
Andras Pataki
apataki@apataki.dhs.org
Thu Apr 18 05:56:00 GMT 2002
Last week I investigated the problem I was experiencing some more and
found a solution. We installed a Solaris linker patch (as part of a
larger patch set) which seems to have solved the problem for me.
Here are the patch numbers for the various versions of Solaris. It's
worth giving a try:
103627 - Solaris 2.5.1
107733 - Solaris 2.6
106950 - Solaris 7
109147 - Solaris 8
Andras
On Wed, 17 Apr 2002, Jakob [iso-8859-1] Østergaard wrote:
>
> Hello all,
>
> I am seeing an error possibly related to PR 5936:
>
> Following configurations are affected:
> GCC-3.0.2 with vendor linker and assembler, with sjlj-exceptions.
> GCC-3.0.4 with vendor linker and assembler, with and without sjlj-exceptions
> GCC-3.0.4 with GNU binutils 2.12, without sjlj-exceptions.
>
> I have not yet found a working configuration (one that does not expose the bug
> that I see - any configuration not listed above, is simply not yet tested)
>
> My problem: A non-virtual method in a base class throws an exception, causing
> either a segfault or a bus error, depending on configurations either in
> vec.cc or eh_throw.cc.
>
> The method throwing the exception can be either in a shared library, or in the
> main executable (linked statically, but first incrementally linked into a
> library prior to linking into the executable). This makes no difference.
>
> With GCC-3.0.4 and GNU binutils 2.12, I get:
>
> #0 0xff24fca0 in __cxa_throw (obj=0xfeb19fec, tinfo=0x15a038,
> dest=0xb194c <_ZN6errors16connectionclosedD1Ev>) at eh_throw.cc:63
> 63 header->unwindHeader.exception_class = __gxx_exception_class;
>
> Compiler configuration:
>
> $ g++ -v
> Reading specs from /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.0.4/specs
> Configured with: ./configure --enable-languages=c,c++ --disable-threads
> --with-as=/usr/local/bin/as --with-gnu-as --with-ld=/usr/local/bin/ld
> --with-gnu-ld
> Thread model: single
> gcc version 3.0.4
>
> I tried writing a small test program, but weren't successful in that. I have
> some hundreds of thousands of lines of C++, two handfulls of processes all
> using this code, and *one* process exhibiting the problem. The exact same
> code compiles and works with GCC-3.0.1, GCC-3.0.3 (and others) on various
> Intel based systems (RedHat Linux, Debian GNU/Linux, FreeBSD).
>
> Oh, and my system is:
> $ uname -a
> SunOS sol 5.8 Generic_108528-05 sun4u sparc SUNW,Ultra-1
>
> Any ideas ? Need more info ? Anything I can try/test ? I will try the head
> of the 3.1 branch today.
>
> Cheers,
>
> / jakob
>
>
More information about the Gcc-bugs
mailing list