[omniORB] ORBit and omniORB 2.8

Attila.Pletyak@anemosky.com Attila.Pletyak@anemosky.com
Tue, 6 Mar 2001 20:43:12 +0100


Hello,

     I am just introduced to a system where the omniORB 2.8 servant should
be called with ORBit clients, because of libc and libc++ differences on the
client side.

     There is an interesting point which someone maybe encountered:

     When I call a function of the servant, which waits for a complicated
struct (having struct members), the servant says with ORBtraceLevel 50:

GIOP_S::RequestReceived: garbage left at the end of message.
tcpSocketMTfactory Worker: #### Communication failure. Connection closed.
tcpSocketMTfactory Worker: exit.
tcpSocketMTfactory ~tcpScoketStrand: close socket no. 11

     On the client side we get CORBA::COMM_FAILURE.

     I looked into the source of omniORB, and it says that this message is written to log when the message size is different than the info in the
message header.

     The only change that was made on the system is that the stucture got a new boolean member and some strings in the structure was changed to long
types.

     On the client side the ORBit structure has 112 bytes by sizeof(), on the servant part the structure is 130, by sizeof(). Maybe this is because C
-> C++ change, but I don't know.

     I am a bit hopeless at the moment, as I wrote a minimal client, which sets all of the data to default values, calls the servant's function with
it, and gets the same error message.

     Thanks for anyone in advane, who can help.

     Attila Pletyak