[omniORB] Bad infuence of IFR on omniNames (Windows)

Sai-Lai Lo S.Lo@uk.research.att.com
20 Sep 1999 12:01:10 +0100


Poilpret,

May be the documentation is not that clear about the purpose of
-ORBInitialHost and -ORBInitialPort. The idea is that either:

1. You define -ORBInitialHost so that all the orb->resolve_initial_reference()
   call will be answered by that process.

OR

2. You define NAMESERVICE and INTERFACE_REPOSITORY in omniORB.cfg. These
   entries would be used to answer resolve_initial_reference.

In your case, it is easier just to run omniNames and give it a omniORB.cfg
containing the INTERFACE_REPOSITORY entry. And then for all other
clients/servers define InitialHost and InitialPort to point to omniNames.
Everything will work automagically.

Sai-Lai



>>>>> Poilpret Jean Francois writes:

> It seems I just found a bug on the way omniORB (2.8.0 pre 1) bootstraps
> on Windows (NT4).  I just added an Interface Repository to my config (for
> testing).  To be recognized by omniORB, I added an entry
> "INTERFACE_REPOSITORY" to the Windows registry, with the IOR of my IFR.
> The problem is that now, I cannot get the Root NamingContext from
> omniNames !!!!

> I just browsed through the initFile.cc and found the following lines that
> seemed strange to me:

>>>>> 
>     if (CORBA::is_nil(NameService) && CORBA::is_nil(InterfaceRepository)) {
>         if ((char*)bootstrapAgentHostname != 0) {
>             omniInitialReferences::singleton()
-> initialise_bootstrap_agent(bootstrapAgentHostname,
>                                             bootstrapAgentPort);
> <<<<
> in method initFile::initialize()

> The problem here is that when you put an entry for INTERFACE_REPOSITORY,
> the global test fails.  HOWEVER, at this time the NameService is not yet
> initialized (because I used the "ORBInitialHost" and "ORBInitialPort"
> entries (instead of the "NAMESERVICE " one).  So in this precise case,
> the Naming Service reference will never be initialized.

> I had no time to search deeper in the sources (I am not sure this is
> actually this part of the source which is faulty, it's just the part of
> code that catched my eyes while browsing).

> The work-around is not to use the ORBInitialHost and ORBInitialPort
> entries in the registry, but use the NAMESERVICE entry instead (in this
> case, don't forget to remove the two previous entries completely).

> Since I haven't tried omni 2.8 pre2 yet, I apologize if this problem has
> already been fixed.

> Thanks to all you guys at ATT



-- 
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