[omniORB] RE: Exception thrown when calling resolve_initial_references

Byerly_John John.Byerly@marconi.com
Mon, 7 Aug 2000 11:12:22 -0500


Thanks for the information.  I see that ORBInitialHost and ORBInitialPort
have been deprecated.

I tried launching omniORB on my machine (PARADISE, an NT workstation in a
workgroup) with the following argument list

	omniNames -start 1570 -logdir C:\OmniNames -ORBInitRef
NameService=corbaname::PARADISE

and got the following error

	C:\>omninames -start 1570 -logdir C:\omninames -ORBInitRef
corbaname::PARADISE
	omniORB: CORBA::ORB_init failed: invalid -ORBInitRef parameter
`corbaname::PARADISE'.

	abnormal program termination
	omniORB: Assertion failed -- mutex destroyed whilst held.
	 This is a bug in omniORB. Please submit a report (with stack
	 trace if possible) to <omniorb@uk.research.att.com>.

I am sure that it is my parameter list that is wrong (particularly
-ORBInitRef).  As best as I could tell from the documentation, the form of
the parameters is -ORBInitRef <Service Name>=corbaname::<hostname>.

What am I doing wrong?

Thanks!

JAB

> -----Original Message-----
> From: John A. Byerly [mailto:byerly@stargate.net]
> Sent: Monday, August 07, 2000 9:23 AM
> To: 'john_byerly@marconi.com'
> Subject: FW: Exception thrown when calling resolve_initial_references
> 
> 
> 
> 
> -----Original Message-----
> From:	Sai-Lai Lo [SMTP:S.Lo@uk.research.att.com]
> Sent:	Monday, August 07, 2000 5:48 AM
> To:	John A. Byerly
> Cc:	omniorb-list@uk.research.att.com
> Subject:	Re: Exception thrown when calling 
> resolve_initial_references
> 
> >>>>> 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
>