[omniORB] Re: Autoconf Abilities [was Installation and Configuration on RedHat 6.0]

Duane Griffin duane@router.econz.co.nz
Fri, 17 Sep 1999 09:30:46 +1200


Stefan Seefeld wrote:
> 
> I'm working on a heavily multi threaded project ('Berlin')
> with a self built gcc 2.95 *without* --enable-threads.
> I havn't encountered any problems so far though we use
> threads a lot. Note that we have a logger class which
> writes to cout but uses a mutex to serialize access to
> the iostream library. However, if I remember correctly,
> I also used iostreams without mutexes so the output got
> messed up - but never did it core dump. Some voices say
> that threading creates problems only inside exception
> handling (while the stack is being unwound).

I have been having some horribly frustrating problems with exception
handling in my multi-threaded project (which uses omniORB). When I catch
an exception by const reference to a base class it seg-faults upon
leaving the catch block, AFTER all relevant destructors have run. When I
catch by a reference to the derived class, or through ... it works. I am
also having a problem with the program aborting when I throw from within
the buffer of a custom stream class, although I'm only 99% certain I'm
not throwing within a destructor while the stack is unwinding. The abort
seems to happen before the catch block is entered.

These problems are, needless to say, very frustrating. Especially when I
can't use gdb with the application! We are trying to get hold of a copy
of Code Fusion, but no one seems to have any in stock.

*sigh*

Back to banging down that old brick wall with my head...

Duane.