[omniORB] Segmentaion fault during exception handling

Helmut Swaczinna Helmut.Swaczinna@wmd.de
Tue, 24 Aug 1999 17:27:52 +0100


Hi,

I resolved this problem now. The little test-program doesn't crash
anymore. I rebuilt the egcs with --enable-threads. (I realy thought it
was built with --enable-threads, but it wasn't. Sorry!)

But there're still other crashes to find ... sigh :-(

Helmut


At 22:29 20.08.99 +0100, I wrote:
>Hi,
>
>I've already put some messages to this list, in which I describe serious
>problems with the reliability of my omniORB processes. Now I can provide
>a rather small and simple test-program, which crashes "very often". That 
>means about every some-hundred runs. The program is a client, which uses 
>one of our servers, so you're not able to test it. But you may have a look
at 
>the source code. (I suppose, the server-process can't cause the client to 
>crash at all, right?) The program has some threads, all trying to get an 
>object-reference from the server by id. The ids are all invalid, so the
>server 
>throws a NotFound-exception every time. This is the desired function of the 
>test-program and this works almost all the time. But sometimes it crashes 
>during the exception-handling. This means, that the catch-clause is not 
>reached, but the method-call has returned (as seen from the server's
output). 
>The crash always occurs very early after program start and the probability
of 
>the crash depends on the system load (processes, swap activity). When the 
>system load increases, the probability increases too. To me, it seems like a 
>time-critical problem in the exception handling in multithreaded processes. 
>I don't know, if it's in omniORB or in the gnu-compiler. Or can there be a
>programming error in thuch little program (see below)? I'm using omniORB 
>2.7.1 with egcs 1.1.1 on Linux 2.0.36 and egcs 1.1.2 on Linux 2.2.10.
>