[omniORB] Assertion failed

Sai-Lai Lo S.Lo@uk.research.att.com
29 Jul 1999 21:40:55 +0100


>>>>> Dietmar May writes:

> I was going to send this as a separate message, but maybe it is related
> to this thread??  Platform is NT 4.0 SP4 [has IE 4.01 SP1].

> I'm getting a COMM_FAILURE during a call to a local (but not colocated)
> server. Usually this is an occasional transient failure (ie. it occurs
> once, then on a retry the call succeeds, and happens once every 50 calls
> or so). I've never been able to debug what happens because of its
> occasional nature.

Unless I'm mistaken, you are seeing the effect of the scavengers at work.
If a connection has not been used for a period of time, the scavenger
shutdown the socket.


> However, today I ran into a problem with identical (application-level)
> symptoms, and it was repeatable. Possibly this is a related (or
> identical) problem.

> Basically, the call to socket(INETSOCKET,SOCK_STREAM,0) returns
> RC_INVALID_SOCKET. A second local (but non-colocated) server continues to
> accept omniORB calls. The server that the socket was communicating with
> is alive, and seems to be operational (at least if I attach to the
> process with the MSVC debugger).

Someone with more knowledge on NT's socket library might be able to answer
this. Could it be that you are running into a resource limit?

> What would cause the socket to close while an application is running?

See answer above.

> Should omniORB be trying to open another socket?

Yes, it would in the case that the connection was shutdown by a scavenger.
omniORB would try to connect again, if that fails it throws a COMM_FAILURE.
If you want the ORB to try harder, see the chapter on setting up system
exception handler in the user guide.



-- 
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