Re: possible bug in ORBit2



Hi Diego,

> 	i've been playing with ORBit2 and the name service, while calling:
> 
> 	object = CosNaming_NamingContext_resolve (...);
> 
> on an unexistent name i get the NotFound exception, this is ok, but
> object is not CORBA_OBJECT_NIL, as it should be, if i try to apply
> CORBA_Object_release on the returned object the ORB makes an abort.
> 
> 	Before aborting this message is printed: 
> 
> (process:18265): ** ERROR **: file orbit-object.c: line 73 (do_unref):
> assertion failed: (robj->refs < ORBIT_REFCOUNT_MAX && robj->refs > 0)

When an exception is thrown, none of the out, inout or return parameters
are returned. Only the exception. This is in analogy to C++ (or any
exception system)

> 
> This is:
> 
> 	The _resolve operation on the server side returns CORBA_OBJECT_NIL, but
> on the client side something different is received, i think that this is
> a bug on the ORB.

No, the _resolve operation on the server side throws an exception, but
it has to return something (NIL is this case) in order to satisfy the
signature of the function requiring it to return a CORBA_Object.

Bye,
Sebastian
-- 
Sebastian Wilhelmi
mailto:wilhelmi@ira.uka.de
http://goethe.ira.uka.de/~wilhelmi





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