Re: CORBA_Object_release() bug ???



Hi Jules,

It works :-)  

However, I can't find CORBA_ORB_destroy in
CORBA "C language mapping specification" ...  so I think
it's should be invoked inside CORBA_Object_release instead
of asking user to call CORBA_ORB_destroy directly.

By the way, I tested the code on both ORBit2-2.4.1 and
ORBit2-2.10.0 ... both have the same behavior if
CORBA_ORB_destroy is not used.

Thanks
KC
kccheng LinuxDAQ-Labs org


 

On 5/12/05, Jules Colding <colding omesc com> wrote:
> On Thu, 2005-05-12 at 17:55 +0800, KC wrote:
> > Hi,
> >
> > This question probably had been asked couple times, but I didn't
> > find any explanation about it ... so let me to ask it again.
> >
> > A simple example:
> >
> >
> > #include <stdlib.h>
> > #include <orbit/orbit.h>
> >
> > int main (int argc, char *argv[])
> > {
> >     CORBA_ORB orb;
> >     CORBA_Environment ev;
> >
> >     CORBA_exception_init(&ev);
> >     orb = CORBA_ORB_init(&argc, argv, "orbit-local-orb", &ev);
> >
> >     CORBA_Object_release((CORBA_Object)orb, &ev);
> >     CORBA_exception_free(&ev);
> >     exit(0);
> > }
> >
> >
> > Will cause error message at CORBA_Object_release():
> >
> > ** ERROR **: file orbit-object.c: line 146 (do_unref): assertion
> > failed: (robj->refs < ORBIT_REFCOUNT_MAX && robj->refs > 0)
> > aborting...
> > Aborted
> >
> >
> > Anyone know what's wrong ?
> 
> You might try to add CORBA_ORB_destroy() before the CORBA_Object_release
> (). Which ORBit2 version are you using?
> 
> --
>   jules
> 
>


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