[omniORB] POA resolution failing for cut-down Linux system
Bruce Fountain
B_Fountain@motherwell.com.au
Thu, 23 Aug 2001 13:56:26 +0800
Hi guys,
we are developing a CORBA server process to run on a
cut-down Redhat 6.1 system. The process is compiled
statically on a standard RH system and then copied
on to the deployment system. Client-side functionality
is fine - we can make requests to other systems without
any problems.
When we try to resolve the the RootPOA we get CORBA
system exception INITIALIZE.
Compiler is egcs/glibc2.1:
% gcc -v
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/specs
gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)
the server code looks like this:
#include <omniORB3/CORBA.h>
#include <omniORB3/poa.h>
#include <CosEventChannelAdmin.hh>
#include <stdio.h>
int main (int argc, char *argv[])
{
try
{
CORBA::ORB_var m_orbVar = CORBA::ORB_init(argc, argv);
printf("resolving POA!\n");
CORBA::Object_var obj =
m_orbVar->resolve_initial_references("RootPOA");
printf("narrowing POA!\n");
PortableServer::POA_var root_poa =
PortableServer::POA::_narrow(obj);
}
catch(const CORBA::Exception& ex)
{
printf("CORBA::Exception caught\n");
CORBA::Any any;
any <<= ex;
CORBA::TypeCode_var tc = any.type();
printf("With the following type: %s\n", tc->name());
}
return 0;
}
If I run this code on the development machine it works fine. Here
is the debug output (trace level 20):
omniORB: strand Ripper: start.
omniORB: scavenger : start.
omniORB: gateKeeper is tcpwrapGK 1.0 - based on tcp_wrappers_7.6
omniORB configuration file: /etc/omniORB.cfg either does not exist or is
not a file.
omniORB: The omniDynamic library is not linked.
resolving POA!
omniORB: Initialising incoming rope factories.
omniORB: strand Rope::incrRefCount: old value = 0
omniORB: Starting incoming rope factories.
narrowing POA!
omniORB: tcpSocketMTfactory Rendezvouser: start.
omniORB: tcpSocketMTfactory Rendezvouser: block on accept()
But if I run it on the deployment machine the resolve_initial_references()
fails:
omniORB: The omniDynamic library is not linked.
resolving POA!
omniORB: Initialising incoming rope factories.
omniORB: throw INITIALIZE from objectAdapter.cc:182
CORBA::Exception caught
With the following type: INITIALIZE
omniORB: scavenger : start.
If anyone can suggest what could be causing this exception
I would be eternally grateful (no really!)
Bruce Fountain
Mi Consulting Group (Australia) Pty Ltd
Direct Line: +61 (0)8 9368 8607
Switchboard: +61 (0)8 9368 8600
Facsimile: +61 (0)8 9368 8699
E-mail: b_fountain@motherwell.com.au