[omniORB] Problem with deeply nested structs.

Duncan Grisby dgrisby@uk.research.att.com
Fri, 15 Mar 2002 10:47:53 +0000


On Thursday 14 March, baileyk@schneider.com wrote:

[...]
>    I found that omniORB4 SEGVs if it tries to return
> a deeply nested recursive structure.

The obvious way to marshal recursive structs is with recursive
function calls, so that's what omniORB and omniORBpy do (and
presumably Orbix2000 does too). Each nested call uses a bit of
stack. If you do enough calls, you fall off the end of the stack and
segfault. There's no easy way to avoid the problem, although you can
defer it by increasing the thread stack size with
omni_thread::stack_size().

Cheers,

Duncan.

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