[omniORB] EndPointNoListen problems, IOR problems etc.

Michael Houck mhouck at alumni.tufts.edu
Wed Apr 7 14:05:52 BST 2004


Okay, I've been searching through the mailing list archives for a couple 
hours now and haven't been able to find a working solution to my 
problem.  I'm using the latest omniorb and omniorbpy installations.

My initial problem that I wanted to solve was that my computer is behind 
a router and my IP address locally is 10.0.0.100, and when other 
machines try to connect to mine, that IP is what is encoded in the IOR, 
so they can't connect.  I've tried the following:

export OMNIORB_USEHOSTNAME=66.30.my.ip

Using this, omniNames gives the error:
omniORB: Error: Unable to create an endpoint of this description: 
giop:tcp::2809

So then I tried the endPoint rules in the omniORB.cfg file, I added the 
following lines:
endPointNoListen=giop:tcp:66.30.my.ip:
endPointNoPublish=giop:tcp::

omniNames worked, but when running the python server example, it would 
give the following errors:
omniORB: Read from configuration file "/etc/omniorb/omniORB.cfg".
omniORB: Distribution date: Fri Nov 21 17:39:25 GMT 2003 dgrisby
omniORB: My addresses are:
omniORB: 127.0.0.1
omniORB: 10.0.0.100
omniORB: Maximum supported GIOP version is 1.2
omniORB: Native char code sets: ISO-8859-1 UTF-8.
omniORB: Transmission char code sets: ISO-8859-1(1.2) ISO-8859-1(1.1) 
ISO-8859-1(1.0) UTF-8(1.2).
omniORB: Native wide char code sets: UTF-16.
omniORB: Transmission wide char code sets: UTF-16(1.2).
omniORB: Information: the omniDynamic library is not linked.
omniORB: Current configuration is as follows:
omniORB:   DefaultInitRef (file) = corbaloc::10.0.0.100
omniORB:   DefaultInitRef (args) =
omniORB:   abortOnInternalError = 0
omniORB:   acceptBiDirectionalGIOP = 0
omniORB:   acceptMisalignedTcIndirections = 0
omniORB:   bootstrapAgentHostname =
omniORB:   bootstrapAgentPort = 900
omniORB:   clientCallTimeOutPeriod = 0
omniORB:   clientTransportRule = * unix,ssl,tcp
omniORB:   diiThrowsSysExceptions = 0
omniORB:   dumpConfiguration = 0
omniORB:   endPointNoListen = giop:tcp:66.30.246.101:2809
omniORB:   endPointNoPublish = giop:tcp::
omniORB:   endPointPublishAllIFs = 0
omniORB:   giopMaxMsgSize = 2097152
omniORB:   giopTargetAddressMode = KeyAddr
omniORB:   id = omniORB4
omniORB:   inConScanPeriod = 180
omniORB:   lcdMode = 0
omniORB:   maxGIOPConnectionPerServer = 5
omniORB:   maxGIOPVersion = 1.2
omniORB:   maxInterleavedCallsPerConnection = 5
omniORB:   maxServerThreadPerConnection = 100
omniORB:   maxServerThreadPoolSize = 100
omniORB:   nativeCharCodeSet = ISO-8859-1
omniORB:   nativeWCharCodeSet = UTF-16
omniORB:   objectTableSize = 0
omniORB:   offerBiDirectionalGIOP = 0
omniORB:   omniORB_27_CompatibleAnyExtraction = 0
omniORB:   oneCallPerConnection = 1
omniORB:   outConScanPeriod = 120
omniORB:   poaHoldRequestTimeout = 0
omniORB:   poaUniquePersistentSystemIds = 1
omniORB:   principal = [Null]
omniORB:   scanGranularity = 5
omniORB:   serverCallTimeOutPeriod = 0
omniORB:   serverTransportRule = * unix,ssl,tcp
omniORB:   strictIIOP = 1
omniORB:   supportBootstrapAgent = 1
omniORB:   supportCurrent = 1
omniORB:   supportPerThreadTimeOut = 0
omniORB:   tcAliasExpand = 0
omniORB:   threadPerConnectionLowerLimit = 9000
omniORB:   threadPerConnectionPolicy = 1
omniORB:   threadPerConnectionUpperLimit = 10000
omniORB:   threadPoolWatchConnection = 1
omniORB:   traceInvocations = 1
omniORB:   traceLevel = 40
omniORB:   traceThreadId = 0
omniORB:   unixTransportDirectory = /tmp/omni-%u
omniORB:   unixTransportPermission =  777
omniORB:   useTypeCodeIndirections = 1
omniORB:   verifyObjectExistsAndType = 1
omniORB: omniORBpy distribution date: Fri Nov 21 17:42:54 GMT 2003 dgrisby
omniORB: Python thread state scavenger start.
omniORB: Initialising incoming endpoints.
omniORB: Bind to address 0.0.0.0.
omniORB: Starting serving incoming endpoints.
omniORB: Reusing Python state for thread id 16384
omniORB: Adding root<0> (activating) to object table.
omniORB: State root<0> (activating) -> active
omniORB: Creating ref to local: root<0>
 target id      : IDL:omg.org/CORBA/Object:1.0
 most derived id: IDL:Example/Echo:1.0
omniORB: Creating Python ref to local: root<0>
 target id      : IDL:Example/Echo:1.0
 most derived id: IDL:Example/Echo:1.0
omniORB: ObjRef(IDL:Example/Echo:1.0) -- deleted.
omniORB: Trying to resolve initial reference `NameService'
 with configuration file default `corbaloc::10.0.0.100/NameService'
omniORB: Creating ref to remote: key<0x4e616d6553657276696365>
 target id      : IDL:omg.org/CORBA/Object:1.0
 most derived id:
omniORB: Initial reference `NameService' resolved with configuration 
file ORBDefaultInitRef prefix.
omniORB: Creating Python ref to remote: key<0x4e616d6553657276696365>
 target id      : IDL:omg.org/CORBA/Object:1.0
 most derived id:
omniORB: Invoke '_is_a' on remote: key<0x4e616d6553657276696365>
omniORB: AsyncInvoker: thread id = 2 has started. Total threads = 1
omniORB: Client attempt to connect to giop:tcp:10.0.0.100:2809
omniORB: Client opened connection to giop:tcp:10.0.0.100:2809
omniORB: sendChunk: to giop:tcp:10.0.0.100:2809 100 bytes
omniORB:
4749 4f50 0100 0100 5800 0000 0000 0000 GIOP....X.......
0200 0000 0100 0000 0b00 0000 4e61 6d65 ............Name
5365 7276 6963 6500 0600 0000 5f69 735f Service....._is_
6100 0000 0000 0000 2800 0000 4944 4c3a a.......(...IDL:
6f6d 672e 6f72 672f 436f 734e 616d 696e omg.org/CosNamin
672f 4e61 6d69 6e67 436f 6e74 6578 743a g/NamingContext:
312e 3000                               1.0.
omniORB: AsyncInvoker: thread id = 3 has started. Total threads = 2
omniORB: giopRendezvouser task execute for giop:tcp:10.0.0.100:33171
omniORB: Scavenger task execute.
omniORB: inputMessage: from giop:tcp:10.0.0.100:2809 25 bytes
omniORB:
4749 4f50 0100 0101 0d00 0000 0000 0000 GIOP............
0200 0000 0000 0000 01                  .........
omniORB: Creating Python ref to remote: key<0x4e616d6553657276696365>
 target id      : IDL:omg.org/CosNaming/NamingContext:1.0
 most derived id:
omniORB: LocateRequest to remote: key<0x4e616d6553657276696365>
omniORB: sendChunk: to giop:tcp:10.0.0.100:2809 31 bytes
omniORB:
4749 4f50 0100 0103 1300 0000 0400 0000 GIOP............
0b00 0000 4e61 6d65 5365 7276 6963 65   ....NameService
omniORB: inputMessage: from giop:tcp:10.0.0.100:2809 20 bytes
omniORB:
4749 4f50 0100 0104 0800 0000 0400 0000 GIOP............
0100 0000                               ....
omniORB: Invoke 'bind_new_context' on remote: key<0x4e616d6553657276696365>
omniORB: sendChunk: to giop:tcp:10.0.0.100:2809 99 bytes
omniORB:
4749 4f50 0100 0100 5700 0000 0000 0000 GIOP....W.......
0600 0000 0161 6d65 0b00 0000 4e61 6d65 .....ame....Name
5365 7276 6963 6500 1100 0000 6269 6e64 Service.....bind
5f6e 6577 5f63 6f6e 7465 7874 0044 4c3a _new_context.DL:
0000 0000 0100 0000 0500 0000 7465 7374 ............test
002f 4e61 0b00 0000 6d79 5f63 6f6e 7465 ./Na....my_conte
7874 00                                 xt.
omniORB: inputMessage: from giop:tcp:10.0.0.100:2809 214 bytes
omniORB:
4749 4f50 0100 0101 ca00 0000 0000 0000 GIOP............
0600 0000 0000 0000 2b00 0000 4944 4c3a ........+...IDL:
6f6d 672e 6f72 672f 436f 734e 616d 696e omg.org/CosNamin
672f 4e61 6d69 6e67 436f 6e74 6578 7445 g/NamingContextE
7874 3a31 2e30 0000 0100 0000 0000 0000 xt:1.0..........
8200 0000 0101 0200 0e00 0000 3636 2e33 ............66.3
302e 3234 362e 3130 3100 f90a 0e00 0000 0.246.101.......
ff00 87fb 7340 0100 48c6 0000 0000 0000 ....s at ..H.......
0300 0000 0000 0000 0800 0000 0100 0000 ................
0054 5441 0100 0000 1c00 0000 0100 0000 .TTA............
0100 0100 0100 0000 0100 0105 0901 0100 ................
0100 0000 0901 0100 0300 0000 1600 0000 ................
0100 0000 0b00 0000 3130 2e30 2e30 2e31 ........10.0.0.1
3030 0000 f90a                          00....
omniORB: Creating Python ref to in process: root/<..s...H.....>
 target id      : IDL:omg.org/CosNaming/NamingContext:1.0
 most derived id: IDL:omg.org/CosNaming/NamingContextExt:1.0
New test context bound
omniORB: Invoke '_is_a' on in process: root/<..s...H.....>
omniORB: throw OBJECT_NOT_EXIST from inProcessIdentity.cc:179 
(NO,OBJECT_NOT_EXIST_NoMatch)
omniORB: throw OBJECT_NOT_EXIST from omniObjRef.cc:780 
(NO,OBJECT_NOT_EXIST_NoMatch)
Traceback (most recent call last):
  File "server.py", line 48, in ?
    testContext.bind(name, eo)
  File "/usr/lib/python2.3/site-packages/CosNaming_idl.py", line 203, in 
bind
    return _omnipy.invoke(self, "bind", 
_0_CosNaming.NamingContext._d_bind, args)
omniORB.CORBA.OBJECT_NOT_EXIST: Minor: OBJECT_NOT_EXIST_NoMatch, 
COMPLETED_NO.
omniORB: ObjRef(IDL:Example/Echo:1.0) -- deleted.
omniORB: omniRemoteIdentity deleted.
omniORB: ObjRef() -- deleted.
omniORB: omniRemoteIdentity deleted.
omniORB: ObjRef() -- deleted.
omniORB: ObjRef(IDL:omg.org/CosNaming/NamingContextExt:1.0) -- deleted.
omniORB: omniRemoteIdentity deleted.
omniORB: ObjRef() -- deleted.
omniORB: ORB not destroyed; no final clean-up.
bash-2.05b# python server.py -ORBtraceLevel 10
omniORB: Read from configuration file "/etc/omniorb/omniORB.cfg".
omniORB: Distribution date: Fri Nov 21 17:39:25 GMT 2003 dgrisby
omniORB: Information: the omniDynamic library is not linked.
omniORB: omniORBpy distribution date: Fri Nov 21 17:42:54 GMT 2003 dgrisby
omniORB: Initialising incoming endpoints.
omniORB: Starting serving incoming endpoints.
omniORB: Adding root<0> (activating) to object table.
omniORB: Creating ref to local: root<0>
 target id      : IDL:omg.org/CORBA/Object:1.0
 most derived id: IDL:Example/Echo:1.0
omniORB: Creating Python ref to local: root<0>
 target id      : IDL:Example/Echo:1.0
 most derived id: IDL:Example/Echo:1.0
omniORB: Trying to resolve initial reference `NameService'
 with configuration file default `corbaloc::10.0.0.100/NameService'
omniORB: Creating ref to remote: key<0x4e616d6553657276696365>
 target id      : IDL:omg.org/CORBA/Object:1.0
 most derived id:
omniORB: Initial reference `NameService' resolved with configuration 
file ORBDefaultInitRef prefix.
omniORB: Creating Python ref to remote: key<0x4e616d6553657276696365>
 target id      : IDL:omg.org/CORBA/Object:1.0
 most derived id:
omniORB: Invoke '_is_a' on remote: key<0x4e616d6553657276696365>
omniORB: AsyncInvoker: thread id = 2 has started. Total threads = 1
omniORB: Creating Python ref to remote: key<0x4e616d6553657276696365>
 target id      : IDL:omg.org/CosNaming/NamingContext:1.0
 most derived id:
omniORB: LocateRequest to remote: key<0x4e616d6553657276696365>
omniORB: Invoke 'bind_new_context' on remote: key<0x4e616d6553657276696365>
Test context already exists
omniORB: Invoke 'resolve' on remote: key<0x4e616d6553657276696365>
omniORB: Creating Python ref to in process: root/<..s...H.....>
 target id      : IDL:omg.org/CORBA/Object:1.0
 most derived id: IDL:omg.org/CosNaming/NamingContextExt:1.0
omniORB: Invoke '_is_a' on in process: root/<..s...H.....>
omniORB: throw OBJECT_NOT_EXIST from inProcessIdentity.cc:179 
(NO,OBJECT_NOT_EXIST_NoMatch)
omniORB: throw OBJECT_NOT_EXIST from omniObjRef.cc:780 
(NO,OBJECT_NOT_EXIST_NoMatch)
Traceback (most recent call last):
  File "server.py", line 40, in ?
    testContext = obj._narrow(CosNaming.NamingContext)
  File "/usr/lib/python2.3/site-packages/omniORB/CORBA.py", line 667, in 
_narrow
    return _omnipy.narrow(self, dest._NP_RepositoryId)
omniORB.CORBA.OBJECT_NOT_EXIST: Minor: OBJECT_NOT_EXIST_NoMatch, 
COMPLETED_NO.

What's even stranger is that if I run the server again, then it prints 
out the following errors (truncated, starting at the message "test 
context already bound"):

Test context already exists
omniORB: Invoke 'resolve' on remote: key<0x4e616d6553657276696365>
omniORB: Creating Python ref to in process: root/<..s...H.....>
 target id      : IDL:omg.org/CORBA/Object:1.0
 most derived id: IDL:omg.org/CosNaming/NamingContextExt:1.0
rootContext obj 
IOR:010000002b00000049444c3a6f6d672e6f72672f436f734e616d696e672f4e616d696e67436f6e746578744578743a312e300000010000000000000082000000010102000e00000036362e33302e3234362e31303100f90a0e000000ff0087fb7340010048c60000000000000300000000000000080000000100000000545441010000001c000000010000000100010001000000010001050901010001000000090101000300000016000000010000000b00000031302e302e302e3130300000f90a
omniORB: Invoke '_is_a' on in process: root/<..s...H.....>
omniORB: throw OBJECT_NOT_EXIST from inProcessIdentity.cc:179 
(NO,OBJECT_NOT_EXIST_NoMatch)
omniORB: throw OBJECT_NOT_EXIST from omniObjRef.cc:780 
(NO,OBJECT_NOT_EXIST_NoMatch)
Traceback (most recent call last):
  File "server.py", line 40, in ?
    testContext = obj._narrow(CosNaming.NamingContext)
  File "/usr/lib/python2.3/site-packages/omniORB/CORBA.py", line 667, in 
_narrow
    return _omnipy.narrow(self, dest._NP_RepositoryId)
omniORB.CORBA.OBJECT_NOT_EXIST: Minor: OBJECT_NOT_EXIST_NoMatch, 
COMPLETED_NO.


I can't figure out what's going on here.  I've also tried adding lines like:
endPoint = giop:tcp::
endPointPublishAllIFs = 1
to the config, but I still get the same error.

Can anyone help me?  Why would setting the endPointNoListen screw up the 
rootpoa?  Is that what is giving the errors?
Thanks

Mike Houck




More information about the omniORB-list mailing list