[omniORB] Client hangs while trying to narrow reference specified by corbaloc

Duncan Grisby duncan at grisby.org
Thu Jul 27 12:14:03 BST 2006


On Tuesday 25 July, "Patrick Hartling" wrote:

> Everything works very well if I have the client and server running on
> the same machine. If I run on two separate machines, however, the
> client hangs while trying to narrow the reference to the bootstrap
> object that it gets back from CORBA::ORB::string_to_object(). It
> reports the following error:

Does it hang?  From the trace you sent, it looks like it got an
exception.

> omniORB: Client attempt to connect to giop:tcp:192.168.1.199:42000
> omniORB: AsyncInvoker: thread id = 1 has started. Total threads = 2
> omniORB: giopRendezvouser task execute for giop:tcp:192.168.1.183:37128
> omniORB: AsyncInvoker: thread id = 2 has started. Total threads = 2
> omniORB: Scavenger task execute.
> omniORB: Client opened connection to giop:tcp:192.168.1.199:42000
> omniORB: sendChunk: to giop:tcp:192.168.1.199:42000 98 bytes
> omniORB: inputMessage: from giop:tcp:192.168.1.199:42000 12 bytes

This message is a CloseConnection message...

> omniORB: throw giopStream::CommFailure from
> giopImpl10.cc:298(1,NO,COMM_FAILURE_WaitingForReply)

...so the client says communication failed.

> The server reports a communication failure while trying to un-marshal
> arguments:
> 
> omniORB: Server accepted connection from giop:tcp:192.168.1.183:37129
> omniORB: AsyncInvoker: thread id = 5 has started. Total threads = 3
> omniORB: Scavenger task execute.
> omniORB: AsyncInvoker: thread id = 6 has started. Total threads = 3
> omniORB: giopWorker task execute.
> omniORB: Accepted connection from giop:tcp:192.168.1.183:37129 because
> of this rule: "* bidir,tcp"
> omniORB: inputMessage: from giop:tcp:192.168.1.183:37129 98 bytes
> omniORB: sendCloseConnection: to giop:tcp:192.168.1.183:37129 12 bytes

The server immediately closed the connection when it got the call. I
can't explain why that happened. Try running with traceLevel 40 to see
the GIOP messages. That might give some idea of what's going on.

> omniORB: throw giopStream::CommFailure from
> giopStream.cc:880(0,NO,COMM_FAILURE_UnMarshalArguments)

That's not part of the problem -- that's simply the server noticing that
the client has gone away after it was sent the CloseConnection message.

Cheers,

Duncan.

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



More information about the omniORB-list mailing list