Discussion:
[omniORB] giopMaxMsgSize + MARSHAL_MessageSizeExceedLimitOnClient + Send GIOP 1.2 MessageError because a protocol error has been detected
Martin Ba
2014-01-21 20:33:06 UTC
Permalink
Hi Duncan, everyone,

We seem to have a case where the message size is exceeded (only on the
client side) and after having sent part of the response, I see the
following log (on the server side):
+ + + +
omniORB: (5) inputMessage: from giop:tcp:192.168.1.10:49353 68 bytes
omniORB: (5) Dispatching remote call 'GetAllChannels' to: root<0> (active)
omniORB: (5) sendChunk: to giop:tcp:192.168.1.10:49353 8192 bytes
... ...
omniORB: (5) sendChunk: to giop:tcp:192.168.1.10:49353 8192 bytes
omniORB: (5) throw MARSHAL from giopImpl12.cc:2014
(YES,MARSHAL_MessageSizeExceedLimitOnClient)
omniORB: (5) To endpoint: giop:tcp:192.168.1.10:49353. Send GIOP 1.2
MessageError because a protocol error has been detected. Connection is
closed.
omniORB: (5) System Exception occurred while marshalling reply. Sending
a MessageError: giop:tcp:192.168.1.10:49353
omniORB: (5) throw giopStream::CommFailure from
giopImpl12.cc:1694(0,YES,COMM_FAILURE_MarshalResults)
omniORB: (5) Server connection refcount = 1
omniORB: (5) Server connection refcount = 0
omniORB: (5) Server close connection from giop:tcp:192.168.1.10:49353

+ + + +

I have several questions here:

* It seems that it is not possible to send the marshal exception to the
client -- is this because it is only detected after we already started
sending data to the client?
* What happens with the COMM_FAILURE_MarshalResults exception that is
logged?
* How can the server or client programatically reacty "correctly" to
this situation? At the moment, we just have an error condition on the
client and we don't even notice the error on the server!

Any ideas?

thanks,
Martin

ps: Obviously I'm going to fix this immediate problem by increasing
giopMaxMsgSize.

Loading...