[omniORB] Multiple IP Addresses Problem Naming Service

Doug Brown doug.brown at shadysoft.com
Wed Sep 28 20:02:43 BST 2005


On Wednesday 28 September 2005 12:42 am, Steven King wrote:
aaaaaaaaaaaaaaaaaaaaaa/??>#######################################################> 
Hi all,
>
> We are running a naming server (omni names 4.0.6) and a number of CORBA
> services (omni ORB 4.0.6) which publish their interfaces with the naming
> service on the same virtual server.  The virtual server's address is
> 192.168.6.14 and the machine on which the virtual server is running is
> 192.168.6.12.
>
> The CORBA services fail to start if the naming service has started from
> any previous history (i.e omninames-<hostname>.log file exists).  The
> CORBA services fail when trying to resolve the NamingContext with (calls
> throw giopStream::CommFailure from
> giopStream.cc:1076(1,NO,TRANSIENT_ConnectFailed ) thrown from the
> omniOrb core. This appears to be the case because its switched the rope
> to another address 192.168.6.12 (which is invalid in the virtual server
> - hence the connection problem).  We can see why this may be a fallback
> address, but we don't want it to be one and cannot work out how to
> configure omniOrb/omni name to remove it.
>
> We have set the endPoint = giop:tcp:192.168.6.14: in /etc/omniORB4.cfg.
> This makes the naming service bind to the correct address and port
> (192.168.6.14:2809).  as well as the clients
>
> The logs for the failed connection is shown below:
>
> Runing as uid: 106
> omniORB: Distribution date: Thu Apr 14 17:19:57 BST 2005 dgrisby
> omniORB: My addresses are:
> omniORB: 127.0.0.1
> omniORB: 192.168.6.12
> omniORB: 192.168.6.16
> omniORB: 192.168.6.15
> omniORB: 192.168.6.14
> 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) UTF-8(1.1).
> 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::
> 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:   endPoint = giop:tcp:192.168.6.14:
> 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:   traceExceptions = 1
> omniORB:   traceInvocations = 0
> omniORB:   traceLevel = 40
> omniORB:   traceThreadId = 0
> omniORB:   unixTransportDirectory = /tmp/omni-%u
> omniORB:   unixTransportPermission =  777
> omniORB:   useTypeCodeIndirections = 1
> omniORB:   verifyObjectExistsAndType = 1
> omniORB: Initialising incoming endpoints.
> omniORB: Explicit bind to host 192.168.6.14.
> omniORB: Bind to address 192.168.6.14.
> omniORB: Starting serving incoming endpoints.
> omniORB: Trying to resolve initial reference `NameService'
>  with configuration file default `corbaloc::/NameService'
> omniORB: Creating ref to remote: key<NameService>
>  target id      : IDL:omg.org/CORBA/Object:1.0
>  most derived id:
> omniORB: Initial reference `NameService' resolved with configuration
> file ORBDefaultInitRef prefix.
> omniORB: Client attempt to connect to giop:tcp:localhost:2809
> omniORB: Client opened connection to giop:tcp:192.168.6.14:2809
> omniORB: sendChunk: to giop:tcp:192.168.6.14:2809 100 bytes
> omniORB:
> 4749 4f50 0100 0100 5800 0000 0000 0000 GIOP....X.......
> 0200 0000 0161 6e47 0b00 0000 4e61 6d65 .....anG....Name
> 5365 7276 6963 656f 0600 0000 5f69 735f Serviceo...._is_
> 6100 7365 0000 0000 2800 0000 4944 4c3a a.se....(...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 = 1 has started. Total threads = 2
> omniORB: giopRendezvouser task execute for giop:tcp:192.168.6.14:33167
> omniORB: inputMessage: from giop:tcp:192.168.6.14:2809 25 bytes
> omniORB:
> 4749 4f50 0100 0101 0d00 0000 0000 0000 GIOP............
> 0200 0000 0000 0000 01                  .........
> omniORB: Creating ref to remote: key<NameService>
>  target id      : IDL:omg.org/CosNaming/NamingContext:1.0
>  most derived id:
> Cleaner thread started.
> omniORB: sendChunk: to giop:tcp:192.168.6.14:2809 101 bytes
> omniORB:
> 4749 4f50 0100 0100 5900 0000 0000 0000 GIOP....Y.......
> 0400 0000 0161 6e47 0b00 0000 4e61 6d65 .....anG....Name
> 5365 7276 6963 656f 1100 0000 6269 6e64 Serviceo....bind
> 5f6e 6577 5f63 6f6e 7465 7874 0044 4c3a _new_context.DL:
> 0000 0000 0100 0000 0900 0000 5365 7276 ............Serv
> 6963 6573 0069 6e67 0900 0000 4e69 6768 ices.ing....Nigh
> 744f 776c 00                            tOwl.
> omniORB: inputMessage: from giop:tcp:192.168.6.14:2809 81 bytes
> omniORB:
> 4749 4f50 0100 0101 4500 0000 0000 0000 GIOP....E.......
> 0400 0000 0100 0000 3500 0000 4944 4c3a ........5...IDL:
> 6f6d 672e 6f72 672f 436f 734e 616d 696e omg.org/CosNamin
> 672f 4e61 6d69 6e67 436f 6e74 6578 742f g/NamingContext/
> 416c 7265 6164 7942 6f75 6e64 3a31 2e30 AlreadyBound:1.0
> 00                                      .
> omniORB: sendChunk: to giop:tcp:192.168.6.14:2809 89 bytes
> omniORB:
> 4749 4f50 0100 0100 4d00 0000 0000 0000 GIOP....M.......
> 0600 0000 0161 6e47 0b00 0000 4e61 6d65 .....anG....Name
> 5365 7276 6963 656f 0800 0000 7265 736f Serviceo....reso
> 6c76 6500 0000 0000 0100 0000 0900 0000 lve.............
> 5365 7276 6963 6573 0000 0000 0900 0000 Services........
> 4e69 6768 744f 776c 00                  NightOwl.
> omniORB:
> 4749 4f50 0100 0101 cc00 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 0042 0100 0000 0000 0000 xt:1.0.B........
> 8400 0000 0101 0200 0d00 0000 3139 322e ............192.
> 3136 382e 362e 3134 0000 7281 0e00 0000 168.6.14..r.....
> ff00 51f0 3943 0100 1677 0000 0000 0000 ..Q.9C...w......
> 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 1800 0000 ................
> 0100 0000 0d00 0000 3139 322e 3136 382e ........192.168.
> 362e 3132 0000 f90a                     6.12....
> omniORB: Creating ref to remote: root/<51f0394301001677/0>
>  target id      : IDL:omg.org/CORBA/Object:1.0
>  most derived id: IDL:omg.org/CosNaming/NamingContextExt:1.0
> omniORB: Adding root<0> (activating) to object table.
> omniORB: State root<0> (activating) -> active
> omniORB: Creating ref to local: root<0>
>  target id      : IDL:DomExtra/DomFactory:1.0
>  most derived id: IDL:DomExtra/DomFactory:1.0
> Binding Services.NightOwl/DomFactory.Object
> omniORB: LocateRequest to remote: root/<51f0394301001677/0>
> omniORB: Client attempt to connect to giop:tcp:192.168.6.14:33138
> omniORB: Switch rope to use address giop:tcp:192.168.6.12:2809*
> omniORB: throw giopStream::CommFailure from
> giopStream.cc:1076(1,NO,TRANSIENT_ConnectFailed)*
> omniORB: LocateRequest to remote: root/<51f0394301001677/0>
> omniORB: Client attempt to connect to giop:tcp:192.168.6.12:2809
> omniORB: Switch rope to use address giop:tcp:192.168.6.14:33138*
> omniORB: throw giopStream::CommFailure from
> giopStream.cc:1076(0,NO,TRANSIENT_ConnectFailed)*
> omniORB: Preparing to shutdown ORB.
> omniORB: Destroying POA(RootPOA).
> omniORB: Deactivating all POA(RootPOA)'s objects.
> omniORB: State root<0> (active) -> deactivating (OA destruction)
> omniORB: Waiting for requests to complete on POA(RootPOA).
> omniORB: Requests on POA(RootPOA) completed.
> omniORB: State root<0> (deactivating OA) -> etherealising
> omniORB: Etherealising POA(RootPOA)'s objects.
> omniORB: Removing root<0> (etherealising) from object table
> omniORB: Stopping serving incoming endpoints.
> omniORB: giopServer waits for completion of rendezvousers and workers
> omniORB: AsyncInvoker: thread id = 2 has started. Total threads = 2
> omniORB: Scavenger task execute.
> omniORB: giopServer back from waiting.
> omniORB: Destruction of POA(RootPOA) complete.
> omniORB: Shutting-down all incoming endpoints.
> omniORB: TCP endpoint shut down.
> omniORB: Disable ObjRef(IDL:DomExtra/DomFactory:1.0) root<0>
> omniORB: Object table entry root<0> (dead) deleted.
> omniORB: Disable ObjRef(IDL:omg.org/CosNaming/NamingContextExt:1.0)
> root/<51f0394301001677/0>
> omniORB: omniRemoteIdentity deleted.
> omniORB: Disable ObjRef() key<NameService>
> omniORB: Disable ObjRef() key<NameService>
> omniORB: omniRemoteIdentity deleted.
> omniORB: 4 object references present at ORB shutdown.
> omniORB: ORB shutdown is complete.
> omniORB: ObjRef() -- deleted.
> omniORB: Shutdown close connection to giop:tcp:localhost:2809
> omniORB: Client connection refcount (forced) = 0
> omniORB: Client close connection to giop:tcp:192.168.6.14:2809
> omniORB: 0 remaining bidir ropes deleted.
> omniORB: 1 remaining rope deleted.
> omniORB: Clear endPoint options.
> omniORB: AsyncInvoker: thread id = 1 has exited. Total threads = 2
> omniORB: Scan for idle connections (1127870838,565834000)
> omniORB: Scan for idle connections done (1127870838,565834000).
> omniORB: AsyncInvoker: thread id = 2 has exited. Total threads = 1
> omniORB: AsyncInvoker: deleted.
> omniORB: ObjRef() -- deleted.
> omniORB: ObjRef(IDL:omg.org/CosNaming/NamingContextExt:1.0) -- deleted.
> omniORB: No more references to the ORB -- deleted.
> Caught exception: Caught a CORBA::SystemExceptionwhile using the naming
> service.
> omniORB: Final clean-up
> omniORB: Deleted 4 nil object references and 0 other tracked objects.
> omniORB: Final clean-up completed.
>
> The trace for omniNames when this happens looks like:
>
> omniORB: Server accepted connection from giop:tcp:127.0.0.1:33237
> omniORB: AsyncInvoker: thread id = 3 has started. Total threads = 4
> omniORB: Scavenger task execute.
> omniORB: AsyncInvoker: thread id = 4 has started. Total threads = 4
> omniORB: giopWorker task execute.
> omniORB: Accepted connection from giop:tcp:127.0.0.1:33237 because of
> this rule: "* unix,ssl,tcp"
> omniORB: inputMessage: from giop:tcp:127.0.0.1:33237 100 bytes
> omniORB:
> 4749 4f50 0100 0100 5800 0000 0000 0000 GIOP....X.......
> 0200 0000 0161 6e47 0b00 0000 4e61 6d65 .....anG....Name
> 5365 7276 6963 656f 0600 0000 5f69 735f Serviceo...._is_
> 6100 7365 0000 0000 2800 0000 4944 4c3a a.se....(...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: sendChunk: to giop:tcp:127.0.0.1:33237 25 bytes
> omniORB:
> 4749 4f50 0100 0101 0d00 0000 0000 0000 GIOP............
> 0200 0000 0000 0000 01                  .........
> omniORB: inputMessage: from giop:tcp:127.0.0.1:33237 101 bytes
> omniORB:
> 4749 4f50 0100 0100 5900 0000 0000 0000 GIOP....Y.......
> 0400 0000 0161 6e47 0b00 0000 4e61 6d65 .....anG....Name
> 5365 7276 6963 656f 1100 0000 6269 6e64 Serviceo....bind
> 5f6e 6577 5f63 6f6e 7465 7874 0044 4c3a _new_context.DL:
> 0000 0000 0100 0000 0900 0000 5365 7276 ............Serv
> 6963 6573 0069 6e67 0900 0000 4e69 6768 ices.ing....Nigh
> 744f 776c 00                            tOwl.
> omniORB: Creating ref to in process: root/<eb1c3a4301001977/0>
>  target id      : IDL:omg.org/CORBA/Object:1.0
>  most derived id: IDL:omg.org/CosNaming/NamingContext:1.0
> omniORB: Adding root/<eb1c3a4301001977/0> (activating) to object table.
> omniORB: State root/<eb1c3a4301001977/0> (activating) -> active
> omniORB: Creating ref to local: root/<eb1c3a4301001977/0>
>  target id      : IDL:omg.org/CosNaming/NamingContextExt:1.0
>  most derived id: IDL:omg.org/CosNaming/NamingContextExt:1.0
> omniORB: ObjRef(IDL:omg.org/CosNaming/NamingContext:1.0) -- deleted.
> omniORB: State root/<eb1c3a4301001977/0> (active) -> deactivating
> omniORB: Object is still busy -- etherealise later.
> omniORB: POA() etherealising object root/<eb1c3a4301001977/0>
> (deactivating).
>  id: IDL:omg.org/CosNaming/NamingContextExt:1.0
> omniORB: State root/<eb1c3a4301001977/0> (deactivating) -> etherealising
> omniORB: Removing root/<eb1c3a4301001977/0> (etherealising) from object
> table
> omniORB: RefCountServantBase has zero ref count -- deleted.
> omniORB: Object table entry root/<eb1c3a4301001977/0> (dead) deleted.
> omniORB: ObjRef(IDL:omg.org/CosNaming/NamingContextExt:1.0) -- deleted.
> omniORB: sendChunk: to giop:tcp:127.0.0.1:33237 81 bytes
> omniORB:
> 4749 4f50 0100 0101 4500 0000 0000 0000 GIOP....E.......
> 0400 0000 0100 0000 3500 0000 4944 4c3a ........5...IDL:
> 6f6d 672e 6f72 672f 436f 734e 616d 696e omg.org/CosNamin
> 672f 4e61 6d69 6e67 436f 6e74 6578 742f g/NamingContext/
> 416c 7265 6164 7942 6f75 6e64 3a31 2e30 AlreadyBound:1.0
> 00                                      .
> omniORB: inputMessage: from giop:tcp:127.0.0.1:33237 89 bytes
> omniORB:
> 4749 4f50 0100 0100 4d00 0000 0000 0000 GIOP....M.......
> 0600 0000 0161 6e47 0b00 0000 4e61 6d65 .....anG....Name
> 5365 7276 6963 656f 0800 0000 7265 736f Serviceo....reso
> 6c76 6500 0000 0000 0100 0000 0900 0000 lve.............
> 5365 7276 6963 6573 0000 0000 0900 0000 Services........
> 4e69 6768 744f 776c 00                  NightOwl.
> omniORB: sendChunk: to giop:tcp:127.0.0.1:33237 216 bytes
> omniORB:
> 4749 4f50 0100 0101 cc00 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 0042 0100 0000 0000 0000 xt:1.0.B........
> 8400 0000 0101 0200 0d00 0000 3139 322e ............192.
> 3136 382e 362e 3134 0000 c681 0e00 0000 168.6.14........
> ff00 d61c 3a43 0100 1959 0000 0000 0000 ....:C...Y......
> 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 1800 0000 ................
> 0100 0000 0d00 0000 3139 322e 3136 382e ........192.168.
> 362e 3132 0000 f90a                     6.12....
> omniORB: throw giopStream::CommFailure from
> giopStream.cc:834(0,NO,COMM_FAILURE_UnMarshalArguments)
> omniORB: Server connection refcount = 1
> omniORB: Server connection refcount = 0
> omniORB: Server close connection from giop:tcp:127.0.0.1:33237
> omniORB: Scan for idle connections (1127881975,882716000)
> omniORB: Scan for idle connections done (1127881975,882716000).
> omniORB: Scan for idle connections (1127881980,883895000)
> omniORB: Scan for idle connections done (1127881980,883895000).
> omniORB: AsyncInvoker: thread id = 4 has exited. Total threads = 4
>
> I looked through the source, particularly at finding out what IP
> addresses get sent to the creating of a new rope but no luck.
>
> Thanks,
>
> Steven King



More information about the omniORB-list mailing list