[omniORB] omniorb and AIX : problem when doing narrow on Naming
Service
Michael Dussere
dussere at labri.fr
Fri Sep 24 17:20:07 BST 2004
Hi,
I'm trying to use omniorb 4.0.3 (compiled with xlC 6) on AIX 5.2 and I
get some serious problems.
I compile without problems (except warning on duplicated symbols as usual).
I link without problems.
But the execution fail on an omniorb assert in omniInternal.cc (line: 997)
-----------------------------------------------------------------------
if( !pof ) {
pof = proxyObjectFactory::lookup(targetRepoId);
OMNIORB_ASSERT(pof);
// The assertion above will fail if your application attempts to
// create an object reference while another thread is shutting
// down the ORB.
if( !omni::ptrStrMatch(targetRepoId, CORBA::Object::_PD_repoId) )
target_intf_not_confirmed = 1;
}
-----------------------------------------------------------------------
This happened when I try to narrow the Naming Service.
The test program echo3 runs perfectly.
I 'm pretty sure that no other thread try to shut down the ORB.
I test if the reference that I get is valid and in the very same
function I narrow the POA without problem.
So if anybody has an idea please let me know.Thanks
-----------------------------------------------------------------------
CORBA::Object_var obj_ref;
// Obtain a reference of the name service:
COLCOWS_DEBUG( dblTest, "Obtain a reference of the Naming Service");
try {
obj_ref = orbp->resolve_initial_references("NameService");
COLCOWS_DEBUG( dblTest, "got the reference");
COLCOWS_ASSERT( !CORBA::is_nil(obj_ref) , "gros bleme");
new_node_servant->_naming_ctxt =
CosNaming::NamingContext::_narrow(obj_ref);
COLCOWS_DEBUG( dblTest, "reference narrow");
}
catch ( ... ) {
COLCOWS_DEBUG( dblException, "Throw InternalException : Failed to
resolve NameService");
throw
InternalException(Generical,InternalExceptionInfo[Generical],__FILE__,__LINE__);
}
-----------------------------------------------------------------------
Also, there are some problems for compiling omniORB 4.0.4 on AIX:
- the omniidl is created but it makes seg faults (even a simple "omniidl
-u").
- the NotifyService cannot be linked because of undefined symbols.
- ... and it gives me the same assert error in omniInternal.cc
Michael
More information about the omniORB-list
mailing list