[omniORB] omniORB4 SystemException minor code bug?
Norrie Quinn
norrie.quinn@tumbleweed.com
Tue Aug 20 23:36:01 2002
Hi,
I have noticed some strange behaviour with omniORB SystemException minor
codes and their descriptions.
With no naming service running, I run the following code with omniORB4 and
get a TRANSIENT SystemException as expected.
try {
CORBA::ORB_var orb = CORBA::ORB_init( argc, argv );
CORBA::Object_var root_object =
orb->resolve_initial_references("NameService");
CosNaming::NamingContext_var root_context =
CosNaming::NamingContext::_narrow(root_object);
...
catch ( CORBA::SystemException& e ) {
...
cerr << e.minor() << " :" << e.NP_minorString() << endl;
}
However, calling minor() on the exception returns an omniORB specific
COMM_FAILURE minor code instead of a TRANSIENT minor code. This also means
that a call to NP_minorString() returns no description.
I know that this is not the most portable method of getting more detail on a
SystemException, but unless I have missed something this looks like a bug in
the internal omniORB method is_COMM_FAILURE_minor().
Regards
Norrie