[omniORB] Re: Exception thrown when calling resolve_initial_references

Sai-Lai Lo S.Lo@uk.research.att.com
07 Aug 2000 11:47:48 +0100


>>>>> John A Byerly writes:

> I am migrating our project from omniORB 2.7.1 to omniORB 3.0.0.  Our core
> code calls resolve_initial_references to get the Naming service, and then
> when a DLL is loaded, the code in the DLL calls resolve_initial_references
> again.  This second call causes an exception to be thrown, but only after
> about 20 - 30 seconds.  This code used to work.

> I traced the problem into the following code (resolveBootAgent() inside
> initRefs.cc).

>       // XXX we will end up in a deadlock if this invocation turns
>       //     out to be a chain of invocations and eventually go back
>       //     to us.
>       if (omniORB::trace(10)) {
> 	CORBA::String_var ior(omniURI::objectToString(the_bootagent));
> 	omniORB::logger l;
> 	l << "Trying to resolve initial reference `" << id << "'\n";
> 	l << " with boot agent: " << (const char*)ior << "\n";
>       }
>       result = the_bootagent->get(id);

> Execution hangs on the last line (for 20 - 30 seconds).


My guess is you are using ORBInitialHost and ORBInitialPort. The call is to
get in touch with the bootstrapping agent and may be it fails to connect.

Please run you code with -ORBtraceLevel 30 and send me the output. 

> This is an NT project in VC++ 6.0.  When I run the release version, I get
> the following message:

> 	omniORB: Assertion failed -- mutex should not be held.
> 	 This is a bug in omniORB. Please submit a report (with stack
> 	 trace if possible) to <omniorb@uk.research.att.com>.
> 	   file: ..\corbaBoa.cc
> 	   line: 833

> Is this true, or am I doing something wrong?

This is a misleading message. It is not a bug contrary to what the message
suggested. 


Sai-Lai


-- 
Sai-Lai Lo                                   S.Lo@uk.research.att.com
AT&T Laboratories Cambridge           WWW:   http://www.uk.research.att.com 
24a Trumpington Street                Tel:   +44 1223 343000
Cambridge CB2 1QA                     Fax:   +44 1223 313542
ENGLAND