[omniORB] giopMaxMsgSize + MARSHAL_MessageSizeExceedLimitOnClient + Send GIOP 1.2 MessageError because a protocol error has been detected

Martin Ba 0xcdcdcdcd at gmx.at
Tue Jan 21 20:33:06 GMT 2014


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.



More information about the omniORB-list mailing list