[omniORB] trying to interpret omniORB debug traces
Stefan Seefeld
seefeld@sympatico.ca
Wed Feb 12 04:22:02 2003
hi there,
I'm in the process of debugging an application and I'm seeing
this debug trace:
omniORB: State root<336003072> (active) -> deactivating
omniORB: Object is still busy -- etherealise later.
omniORB: POA(RootPOA) etherealising object.
id: IDL:fresco.org/Fresco/DrawingKit:1.0
omniORB: State root<336003072> (deactivating) -> etherealising
omniORB: Removing root<336003072> (etherealising) from object table
omniORB: RefCountServantBase has zero ref count -- deleted.
omniORB: throw BAD_INV_ORDER from poa.cc:684 (NO,BAD_INV_ORDER_WouldDeadLock)
omniORB: throw BAD_INV_ORDER from GIOP_C.cc:241 (NO,BAD_INV_ORDER_WouldDeadLock)
I'd much appreciate if anybody could help me to interpret that. The code
I'm calling is this:
void KitImpl::deactivate()
{
PortableServer::POA_var poa = _default_POA();
PortableServer::ObjectId *oid = poa->servant_to_id(this);
poa->deactivate_object(*oid);
delete oid;
}
where KitImpl is derived from RefCountServantBase... (the real
object is derived from KitImpl and holds the repoId
"IDL:fresco.org/Fresco/DrawingKit:1.0".
Where is the error ? What causes the 'WouldDeadLock' exception
to be thrown ?
Thanks a lot !
Stefan