[omniORB] oneway callback gets lost

Serguei Kolos Serguei.Kolos at cern.ch
Thu Mar 8 18:28:36 GMT 2007


Hello

I'm using omniORB 4.0.7 on SLC4 Linux (kernel 2.6.9-42).
I have a system with server and subscriber which subscribes to the 
server and
periodically receives callbacks (defined as oneway method) from the server.
I have set the scanGranularity parameter to 0 on the server and I'm using
default settings on the subscriber.
I have noticed the following problem - if the server sends callback to 
subscriber
and then waits for several minutes before sending another one then this new
callback is not properly processed on the subscriber side and in fact it 
never goes
to the user code. This is the ouput which appears on the subscriber side 
when
the callback should have been received:
omniORB: throw giopStream::CommFailure from 
giopStream.cc:838(0,NO,COMM_FAILURE_UnMarshalArguments)
I had a look to the code and found that this happens because the ::recv 
function which
is called by the Recv method returns 0 which happens probably because it 
is trying to
read from the socket which was already shut down.

If I don't set the scanGranularity to 0 then the problem never occurs.
I have attached the output of both server and subscriber with the 
traceLevel set to 35.

Cheers,
Sergei
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Server.debug.gz
Type: application/x-tar
Size: 3657 bytes
Desc: not available
Url : http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20070308/5311487f/Server.debug.tar
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Subscriber.debug.gz
Type: application/x-tar
Size: 3461 bytes
Desc: not available
Url : http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20070308/5311487f/Subscriber.debug.tar


More information about the omniORB-list mailing list