[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