[omniORB] Call to unreachable object hangs

Stefan Winterstein winter@dfki.de
Fri, 19 May 2000 16:14:00 +0200


Hi, I'm having problems with hanging calls (omniORB 2.8.0 on Linux):

My client passes a callback object to my server application. Due to
misconfiguraion, it encapsulates a wrong IP address into the object which the
server cannot reach.

When the server tries to call the client through this faulty client object, the
request hangs forever. Of course, I would like omniORB to throw an exception in
this case after a reasonable time.

This are the debug messeges I get from omniORB:

> <trace> 00-05-19 11:06:47 Pinging client 'hugo-1'...
> scavenger : scanning connections
> scavenger : scanning connections
> tcpSocketMTfactory real_shutdown: fd no. -1
> scavenger : scanning connections
> scavenger : scanning connections
> scavenger : scanning connections
> scavenger : scanning connections
   <ping continues to hang>

I'm already using "-ORBscanGranularity 1  -ORBclientCallTimeOutPeriod 3" and
have installed a transient exception handler. This helps when an already
_existing_ connection is cut (pulling the network cable)  -- the request comes
back with an exception (see also my message on the list from 2000-04-19).
However, opening a connection to an unreachable ORB still hangs.

Is there any way to avoid a hanging request in this case?

Can a callback object (i.e. object reference) be checked for reachability?


Clueless, 

 -Stefan