[omniORB] tcpConnection::Recv never times out on windows

Duncan Grisby duncan at grisby.org
Wed Dec 13 18:08:27 GMT 2006


On Friday 8 December, "Dietmar May" wrote:

> In omniORB 4.0.7 under Windows XP, the code for tcpConnection::Recv() stays
> in an infinite loop unless the deadline_secs / deadline_nanosecs parameters
> are non-zero. These are apparently set to zero for client calls to the
> COSNamingService, causing a client (thread) hang.

Yes, that's by design. If you don't set an explicit timeout for your
CORBA calls, there is no default timeout so they block for ever if the
server is there but does not respond.

[...]
> omniNames IS running (has been executed prior to attempting to start the
> hanging client app), has been properly initialized (using -start), and has
> been demonstrated to work properly following the -start invocation. However,
> on numerous occasions (stretching back at least to omniORB 2.8.0, and maybe
> even 2.6.1), I've seen omniNames get confused and cause problems for client
> apps - deleting the omninames*.log file and restarting omniNames resolves
> the issue.

That's the real issue. We need to know where omniNames is looping. What
is the output of -ORBtraceLevel 25 -ORBtraceThreadId 1
-ORBtraceInvocations 1 -ORBtraceTime 1 in the case of a hang?

It's not clear from your investigations what's going on. The tracing
will help a great deal.

Cheers,

Duncan.

-- 
 -- Duncan Grisby         --
  -- duncan at grisby.org     --
   -- http://www.grisby.org --



More information about the omniORB-list mailing list