Discussion:
[omniORB] Error getting POA Manager
Marin Bogdan
2009-12-02 19:46:37 UTC
Permalink
Hi,

Please provide me informations about how can I post on omniORB list.
My email address is : marin.bogdan at yahoo . com

My question is:

When trying to get poa manager and activate it, my CORBA app is crashing with a strange error:

CORBA::ORB_var orb = _globalORB->GetORB();
CORBA::Object_var tmpRef = orb->resolve_initial_references(
_rootPOA = PortableServer::POA::_narrow( tmpRef );
?"RootPOA");
if( CORBA::is_nil( _rootPOA ))return( 0 );

_rootPOAManager = _rootPOA->the_POAManager();?? // <--- here it crashes on operator? =
_rootPOAManager->activate();
?
?
_rootPoaManager si declared as:
?PortableServer::POAManager_var _rootPOAManager;
?
omniNames is running and the application is builded with Visual Studio 7 and linking with the build for VS7, debug versions
?
Here it is the stack:
?
?libcorbasrv_2k.dll!CORBA::Object::_NP_is_nil()? Line 116 + 0xc?C++
??libcorbasrv_2k.dll!CORBA::release(CORBA::Object * o=0xffffffe8)? Line 155 + 0xe?C++
??libcorbasrv_2k.dll!_CORBA_PseudoObj_Var<PortableServer::POAManager>::operator=(PortableServer::POAManager * p=0x00759ad8)? Line 82 + 0xb?C++
??libcorbasrv_2k.dll!MyGlobalORB::Init(int argc=8, char * * argv=0x00d46cb0, const char * OrbName=0x00e09b08)? Line 158?C++
?
?inlineBoolean _NP_is_nil() const{ returnpd_obj == 0; }?? //pd_object has bad address..but why?
?
I suspect that this a problem of configuring omniORB. Can you tell me what am I missing?

?if( CORBA::is_nil( _rootPOAManager ))return( 0 );

Thank you,
Bogdan Marin



-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20091202/72968819/attachment.htm
Duncan Grisby
2009-12-07 23:55:45 UTC
Permalink
Post by Marin Bogdan
Please provide me informations about how can I post on omniORB list.
My email address is : marin.bogdan at yahoo . com
You have posted on the omniORB list...

[...]
Post by Marin Bogdan
_rootPOAManager = _rootPOA->the_POAManager(); // <--- here it
crashes on operator =
[...]
Post by Marin Bogdan
PortableServer::POAManager_var _rootPOAManager;
Where is that declared? Is it somewhere global? From the stack trace
you post, it looks like it's a static in a DLL. Have you done the
necessary things to export it from the DLL? If you don't follow the
inconvenient DLL export / import rules, Windows helpfully sets the
pointer to an invalid location, and the code blows up like this.

Cheers,

Duncan.
--
-- Duncan Grisby --
-- ***@grisby.org --
-- http://www.grisby.org --
Loading...