[omniORB] HPUX10.20 eg2_impl problem, more details

Sai-Lai Lo S.Lo@uk.research.att.com
20 Oct 1999 00:20:03 +0100


>>>>> jfd  writes:

> The impl object received the call, the client receives the returned
> string, omniorb2 loops again in GIOP_S::dispatcher(s), omniorb detects
> that 12 octets must still be read and in NetBufferedStream::receive the
> process receives SEGV.
> The stack looks crunched. Is there any proiblem with cma threads?

Looks like this is problem with exception handling in gcc. Normally the
call to recv from GIOP_S::dispatcher() would result in a COMM_FAILURE
exception because the client process has exit and the connection has been
closed. The COMM_FAILURE normally is caught by the outer try loop and the
worker thread would exit gracefully. The SEGV I suspect is because the
exception handler fails to locate the try block and unwind the stack.
This is typical of all gcc compiler versions that does not support
multithreaded exception handling. 

Sai-Lai


-- 
Sai-Lai Lo                                   S.Lo@uk.research.att.com
AT&T Laboratories Cambridge           WWW:   http://www.uk.research.att.com 
24a Trumpington Street                Tel:   +44 1223 343000
Cambridge CB2 1QA                     Fax:   +44 1223 313542
ENGLAND