Throw/catch across thread boundary with EGCS 1.1.2 on IRIX 6.5

Brian Calves
Fri May 14 13:16:00 GMT 1999


I think I found a bug in EGCS g++ 1.1.2.

I have a program with two threads of execution. When an exception is thrown in
one thread, it is caught in the other. My understanding is that throwing
exceptions across thread boundaries is a) not correct behavior, and b) not
possible (well, not "normally" possible, anyway).

I wrote a simple test program to reproduce the bug. The bug first appeared on
IRIX 6.5 with egcs-1.1.2. I have a pc running linux, but I have only been able
to produce the unexpected behavior with EGCS on the SGI.

I get the behavior I expect with egcs-1.1.1 on pc/Linux. I also get the
behavior I expect with SGI's native CC on IRIX 6.5. Consequently, this bug
appears to be platform selective (if not completely limited to egcs on IRIX
6.5). I discovered the unexpected behavior recently in the course of new
development; so I have no reason to believe that the unexpected behavior is
limited to EGCS version 1.1.2.

I have included several attachments to this e-mail:

1) Test program source.
2) Pre-processed test program source from the SGI.
3) Test program output and detailed platform/compiler version info.

I tried to follow the bug-report guidelines, but please contact me if you
require additional information.


p.s. Thanks for the great work on egcs. Most of the world would probably still
be in the programming dark-ages without your efforts.

More information about the Gcc-bugs mailing list