[omniORB] obtaining reference to object fails
henning.schmidt@philips.com
henning.schmidt@philips.com
Fri, 30 Mar 2001 18:10:48 -0600
I have a simple omniORB program that does the following:
{
// ... shortly after entering into main()
// especially: no other threads created up to here and no calls t=
o the omniORB libs made yet
CORBA::ORB_var myOrb =3D CORBA::ORB_init(argc, argv, "omniORB3");=
CORBA::Object_var obj =3D myOrb->resolve_initial_references("Root=
POA");
PortableServer::POA_var poa =3D PortableServer::POA::_narrow(obj)=
;
=20
Dummy_impl *pDummy_impl =3D new Dummy_impl();
PortableServer::ObjectId_var myDummyid =3D poa->activate_object(p=
Dummy_impl);
=20
obj =3D pDummy_impl->_this(); // abort from this line
// never get here ...
}
when I run it as=20
% a.out -ORBtraceLevel 25
I receive the following messages: (Of course it does abort with the sam=
e exception wehn being started without the -ORBtranseLevel argument)
omniORB: gateKeeper is not installed. All incoming are accepted.
omniORB: strand Ripper: start.
omniORB: scavenger : start.
omniORB: strand Rope::incrRefCount: old value =3D 0
omniORB: Creating ref to remote: key<0x494e4954>
target id : IDL:omg.org/CORBA/Object:1.0
most derived id: omg.org/CORBA/InitialReferences:1.0
omniORB: Initialising omniDynamic library.
omniORB: Initialising incoming rope factories.
omniORB: strand Rope::incrRefCount: old value =3D 0
omniORB: Starting incoming rope factories.
omniORB: Activating: root<0>
omniORB: Assertion failed. This indicates a bug in the applicati=
on using
omniORB, or maybe in omniORB itself. e.g. using the ORB after it =
has
been shut down.
file: ../omniInternal.cc
line: 747
info: pof
omniORB: tcpSocketMTfactory Rendezvouser: start.
omniORB: tcpSocketMTfactory Rendezvouser: block on accept()
Abort (core dumped)
%
The call stack in the dumped core begins at the indicated line ( pDummy=
_impl->_this() )
Do you have any hint as to what could be going wrong.
I have to mention that this is running in the program that has linked t=
he omni-libs statically as described in my other (large) message about =
the "segmentation violation at startup". Maybe it has something to do w=
ith that and my workaround (that I=20
describe there) does not really solve that other problem. In this case =
it would propably mean that the omnithread library is not initialized c=
orrectly ... ??
I would appreciate if you could spend some thoughts on this. This is a =
severe stumbling stone for me ...
Thanks a lot
;Henning
BTW this is omniORB303 running on SGI IRIX 6.5.10
--
H. Henning Schmidt <Henning.Schmidt@Philips.com>
Philips Broadcast / Film Imaging Products
phone: +1 (408) 617 5751
fax: +1 (408) 617 7713
http://www.broadcast.philips.com/Web/FProductType.asp?lNodeId=3D282
=