AW: [omniORB] Array size limit

Bruce Visscher bruce.visscher at gmail.com
Wed May 7 11:34:36 BST 2008


See also, omni_thread::stacksize() and omni_thread::stacksize(unsigned long).

On Wed, May 7, 2008 at 9:11 AM, <BaileyK at schneider.com> wrote:
> I suspect the use of a fixed size array is causing the marshalling code to
> try to allocate it on the stack, and it's too big.  The orb configuration
> wouldn't help in that case.
>
> Try using sequence<octet> rather than a fixed size array.
>
>
> ---
> Kendall Bailey
> Engineering & Research
>
>
> omniorb-list-bounces at omniorb-support.com wrote on 05/07/2008 07:44:55 AM:
>
>
>
>
> > Here is part from omniOrb.cfg
> > Is this what you are looking for?
> > Kind Regards, Evgeni
> > ....
> >
> ############################################################################
>
> > # giopMaxMsgSize
> > #
> > #    This value defines the ORB-wide limit on the size of GIOP message
> > #    (excluding the header). If this limit is exceeded, the ORB will
> > #    refuse to send or receive the message and raise a MARSHAL exception.
> > #
> > #    Valid values = (n >= 8192)
> > #
> > giopMaxMsgSize = 2097152    # 2 MBytes.
> > ....
> >
> > -----Ursprüngliche Nachricht-----
> > Von: omniorb-list-bounces at omniorb-support.com
> > [mailto:omniorb-list-bounces at omniorb-support.com] Im Auftrag von Klas
> Nordberg
> > Gesendet: Mittwoch, 7. Mai 2008 10:29
> > An: omniorb-list at omniorb-support.com
> > Betreff: [omniORB] Array size limit
> >
> >
> > Hi
> >
> > I'm testing how long time it takes to send large arrays of bytes
> > (CORBA::Octet) between a server and client using omniORB CORBA by
> > writing a client which sends 10^6 bytes to a server which just copies
> > the received byte array to a local buffer.
> >
> > On a linux platform this works fine, but when I tested to run the client
> > on a Windows platform, I get a stack overflow runtime error (not an
> > exception) from somewhere deep in the ORB.  When I decrease the size of
> > the array, however, it works.  Apparently, there is a limit on the
> > amount of data in an array which can be processed by the ORB.
> >
> > The idl looks like
> >
> > typedef octet inputdata[1000000];
> >
> > interface server {
> >   long receivedata(in inputdata data);
> > };
> >
> >
> > QUESTION1: Can I increase the limit so that a 10^6  byte array can be
> > sent in one chunk also from a Windows client?  Is there a configuration
> > variable?
> >
> > QUESTION2: Is this limit documented somewhere?  Is it a bug?  It appears
> > to me that the stack overflow error is not gracefully managed by the ORB
> >
> > Regards
> >
> > Klas Nordberg
> >
>
>
>
> _______________________________________________
> omniORB-list mailing list
> omniORB-list at omniorb-support.com
> http://www.omniorb-support.com/mailman/listinfo/omniorb-list
>



More information about the omniORB-list mailing list