[omniORB] Strange bug when transferring data between objects

Duncan Grisby dgrisby@uk.research.att.com
Tue, 14 Mar 2000 11:25:12 +0000


On Tuesday 14 March, Bjorn Wennberg wrote:

> Now - suddenly the object.select() call casts an an
> unknown exception. This happens IF and only IF the result
> set is larger than 15499 number of rows! No fatal-exception,
> no omniorb-comm exception, no nothing. Trying to run the
> client with -ORBtraceLevel 99 doesn't print out _any_
> information. Thats why I'm curios.

[...]

> For 15499 rows this would be 156*15499 = 2'417'844

To prevent a malicious client or server specifying an enormous GIOP
message size, omniORB has a message size limit. By default, the limit
is arbitrarily set a 2MB. That's what you are hitting. It throws a
CORBA::MARSHAL exception if the limit is exceeded.

You can change the limit with the omniORB::MaxMessageSize() function,
or with the -ORBgiopMaxMsgSize command line argument.

Cheers,

Duncan.

-- 
 -- Duncan Grisby  \  Research Engineer  --
  -- AT&T Laboratories Cambridge          --
   -- http://www.uk.research.att.com/~dpg1 --