Re: orbit-idl seg fault on simple .idl



> My difficulty is that orbit-idl 0.5 seg faults and dumps core on the
> following simple .idl file (this is a MODIFIED version of an OMG DTF file).
> Sun's idlj compiler seems to like it just fine.  If I comment out the two
> interfaces orbit-idl works fine.  If I comment out the second of the two
> interfaces, orbit-idl produces output, but crashes after.

This seems to be due to the recursion in

>        struct ObservationDataStruct {
>                QualifiedCodeStr code;
>                sequence<ObservationDataStruct> composite;
>                sequence<ObservationDataStruct> qualifiers;

something as simple as this fails as well

====
struct teststruct {
  sequence<teststruct> composite;
  };

interface test {
 void testie( in teststruct test1 );
};
====

What I think seems to be happening is that the recursion causes
marshal_populate() in orbit-idl-genmarshal.c to run out of memory
and fail when trying to create a new marshalling node?

I'm surprised this type of recursion is legal ;)

Mark





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]