[omniORB] Detail on omniORBpy segfaults

Julian Satchell j.satchell@eris.qinetiq.com
Fri Sep 20 10:05:01 2002


I have run the server with tracing, and the last message is

omniORB: (4) throw giopStream::CommFailure from
giopStream.cc:812(0,NO,COMM_FAILURE_UnMarshalArguments)
./spider: line 3: 23719 Segmentation fault     
/usr/local/Mars_Zope/bin/python mercury_spider.py config.py $@

mercury_spider.py is the server process.

I have tried adding a handler for the COMM_FAILURE exception, by  adding
the lines,

def ignore_err(cookie, retries, exc):
    print "In ignore err",cookie
    return 0


and later when starting the ORB up,
    omniORB.traceLevel(10)
    omniORB.traceThreadId(1)
    omniORB.installCommFailureExceptionHandler( "x", ignore_err)
    orb = CORBA.ORB_init( [], CORBA.ORB_ID)
 
ignore_err is never invoked.

Is any of this helpful? It looks like the segfault happens after the
connection is closed, but the exception is never delivered to python.

Julian