[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