[PolyORB-users] dsa CosNaming 'AlreadyBound' problem => polyorb.comm_failure

Rod Kay rodkay at mullum.com.au
Thu Aug 4 10:47:31 CEST 2005


hello again,

   thanks from the beltWars crew for past help with our polyOrb dsa apps ...


   following is a 'problem' report, which i hope may explain better ...


best regards,

Rod.


                      -----------------------------------------------------

POLYORB VERSION:   cvs  02/08/05
HOST MACHINE:      pentium IV 
OPERATING SYSTEM:  mandrake 10.0 (with recent dev package updates)
  

COMPILER VERSION:     

# gnatls -v

GNATLS 4.0.1
Copyright 1997-2005 Free Software Foundation, Inc.

Source Search Path:
   <Current_Directory>
   /usr/local/lib/gcc/i686-pc-linux-gnu/4.0.1/adainclude/


Object Search Path:
   <Current_Directory>
   /usr/local/lib/gcc/i686-pc-linux-gnu/4.0.1/adalib/


Project Search Path:
   <Current_Directory>
   /usr/local/lib/gnat/


# gcc -v
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ../gcc-4.0.1/configure --enable-languages=c,ada,c++
Thread model: posix
gcc version 4.0.1


# autoconf --version
autoconf (GNU Autoconf) 2.59

# automake --version
automake (GNU automake) 1.9.4



[root at orth portfwd]# polyorb-config --version
PolyORB 1.4w



[root at orth portfwd]# polyorb-config --config
Personalities built :
* Application personalities :  corba dsa
* Protocol    personalities :  giop
* Services                  :



 DESCRIPTION:

   we have the polyOrb dsa demo running well when it is run locally on an 
internal LAN.  
           (ie  using my 'local' ISP assigned IP address as the default ).

   polyorb.protocols.iiop.default_addr=203.220.152.76  -- my 'local' IP addr
   polyorb.protocols.iiop.default_port=2809

... for instance, works well.


   the 'local' IP address, however, seems not to be 'visible' to anyone 
outside of my local LAN.


   my 'remote' IP address is 'visible' to outside parties, but when i start a 
po_cos_naming server 
using that address, and then start the dsa example server,  i receive a 
polyorb.comm_failure.

   i suspect the trouble may be due to my local network config and possibly my 
polyorb.conf setup 
for each of po_cos_naming, the server and the client.

   also, within gdb, is seems  that the comm_failure is triggered by some kind 
of IP address 'circularity'.



REPEAT BY:

test program:   
   standard polyOrb dsa example (client/server )

topology:           
   server runs on my  'local'     LAN  connected to net via pppd
   client  runs on any 'remote' box   connected to net in any fashion.
   
   po_cos_naming  runs on local LAN, using 'remote' IP address
           'polyorb.protocols.iiop.default_addr=203.220.243.49'


expected results:
   usual result of running dsa example.



'polyorb.conf' for   po_cos_naming config =>

[iiop]
polyorb.protocols.iiop.default_addr=203.220.243.49
polyorb.protocols.iiop.default_port=2809



'polyorb.conf' for  server  config =>


[log]

# Middleware core
polyorb.any.exceptionlist=debug
polyorb.any.exceptionlist=debug
polyorb.binding_data=debug
polyorb.binding_objects=debug
polyorb.configuration=debug
polyorb.exceptions=debug
polyorb.exceptions.stack=debug
polyorb.initialization=debug
polyorb.orb=debug
polyorb.references.binding=debug

# CORBA personality
polyorb.corba_p.exceptions=debug
portableserver=debug
portableserver.poa=debug

# DSA personality
system.polyorb_interface=debug

# GIOP personality
polyorb.binding_data.giop.common_sockets=debug
polyorb.giop_p.exceptions=debug

# IIOP Personality
polyorb.binding_data.giop.iiop=debug

# DIOP Personality
polyorb.binding_data.giop.diop=debug

# MIOP Personality
polyorb.binding_data.giop.uipmc=debug

[corba]
name_service=corbaloc:iiop:1.2 at 203.220.243.49:2809/NameService/000000024fF00000000

[dsa]
name_service=IOR:01aaaaaa2800000049444c3a6f6d672e6f72672f436f734e616d696e672f4e616d696e67436f6e746578743a312e3000020000000000000068000000010102aa0f0000003230332e3232302e3234332e343900aaf90aaaaa1f0000004e616d65536572766963652f30303030303030323466463030303030303030aa01000000010000001c00000001aaaaaa01000100000000000001010002000000010101000201010004ffff7f40000000010100aa0c0000003139322e3136382e312e3100d485aaaa1f0000004e616d65536572766963652f30303030303030323466463030303030303030aa00000000

[iiop]
polyorb.binding_data.iiop.preference=0
polyorb.protocols.iiop.default_addr=203.220.243.49
polyorb.protocols.iiop.default_port=2809

[diop]
polyorb.binding_data.diop.preference=0

[soap]
polyorb.binding_data.soap.preference=0



session transcript:

[root at orth dsa]# cd /cvs/polyorb/examples/dsa


[root at orth portfwd]# polyorb-config --version
PolyORB 1.4w

[root at orth portfwd]# polyorb-config --config
Personalities built :
* Application personalities :  corba dsa
* Protocol    personalities :  giop
* Services                  :


[root at orth dsa]# po_cos_naming &
Loading configuration from polyorb.conf
POLYORB_CORBA_NAME_SERVICE=IOR:01aaaaaa2800000049444c3a6f6d672e6f72672f436f734e616d696e672f4e616d696e67436f6e746578743a312e3000020000000000000068000000010102aa0f0000003230332e3232302e3234332e343900aaf90aaaaa1f0000004e616d65536572766963652f30303030303030323466463030303030303030aa01000000010000001c00000001aaaaaa01000100000000000001010002000000010101000201010004ffff7f40000000010100aa0c0000003139322e3136382e312e3100cf85aaaa1f0000004e616d65536572766963652f30303030303030323466463030303030303030aa00000000
POLYORB_CORBA_NAME_SERVICE=corbaloc:iiop:1.2 at 203.220.243.49:2809/NameService/000000024fF00000000

[root at orth dsa]# cd server_test

<update ./polyorb.conf>
   - use new po_cos_naming outputs

<update ./polyorb.conf>
   - set polyorb.protocols.iiop.default_addr=203.220.243.49
   - set polyorb.protocols.iiop.default_port=2809


-- run the server
--
[root at orth server_test]# ../server
Loading configuration from polyorb.conf
polyorb.orb: Register_Access_Point: enter
polyorb.orb: Inserting new source: Access Point
polyorb.orb: Insert_Source: enter
polyorb.orb: Insert source: leave
polyorb.orb: Register_Access_Point: leave
polyorb.exceptions: Registering exception: 
IDL:omg.org/CosNaming/NamingContext/NotFound:1.0
polyorb.exceptions: Registering exception: 
IDL:omg.org/CosNaming/NamingContext/CannotProceed:1.0
polyorb.exceptions: Registering exception: 
IDL:omg.org/CosNaming/NamingContext/InvalidName:1.0
polyorb.exceptions: Registering exception: 
IDL:omg.org/CosNaming/NamingContext/AlreadyBound:1.0
polyorb.exceptions: Registering exception: 
IDL:omg.org/CosNaming/NamingContext/NotEmpty:1.0
system.polyorb_interface: Initializing DSA library units
system.polyorb_interface: Setting up RPC receiver: RCI
polyorb.orb: Enter Create_Reference
system.polyorb_interface: Registering local RCI: RCI
polyorb.binding_data.giop.common_sockets: Common_Unmarshall_Profile_Body: 
enter
polyorb.binding_data.giop.common_sockets:   Version =  1. 2
polyorb.binding_data.giop.common_sockets:   Address = 203.220.243.49:2809
polyorb.binding_data.giop.common_sockets: Common_Unmarshall_Profile_body: 
leave
polyorb.binding_data.giop.common_sockets: Common_Unmarshall_Profile_Body: 
enter
polyorb.binding_data.giop.common_sockets:   Version =  1. 0
polyorb.binding_data.giop.common_sockets:   Address = 192.168.1.1:34260
polyorb.binding_data.giop.common_sockets: Common_Unmarshall_Profile_body: 
leave
polyorb.orb: Handling message of type POLYORB.ORB.IFACE.QUEUE_REQUEST
polyorb.orb: Queue_Request: enter
polyorb.orb: Queue_Request: leave
polyorb.orb: TPF main_task_08282820: enter Perform_Work
polyorb.orb: TPF main_task_08282820: working on job POLYORB.ORB.REQUEST_JOB
polyorb.orb: Run Request_Job: enter
polyorb.orb: Task main_task_08282820 executing: Operation: bind on object 
Object reference: IDL:omg.org/CosNaming/NamingContext:1.0
  POLYORB.BINDING_DATA.GIOP.IIOP.IIOP_PROFILE_TYPE
    Address : 203.220.243.49:2809, Object_Id : 
4e616d65536572766963652f30303030303030323466463030303030303030
  POLYORB.BINDING_DATA.GIOP.DIOP.DIOP_PROFILE_TYPE
    Address : 192.168.1.1:34260, Object_Id : 
4e616d65536572766963652f30303030303030323466463030303030303030
 with arguments in n = <Any:TK_ALIAS Name (IDL:omg.org/CosNaming/Name:1.0) 
<TK_ALIAS:TK_SEQUENCE<TK_STRUCT NameComponent 
(IDL:omg.org/CosNaming/NameComponent:1.0) { TK_ALIAS Istring 
(IDL:omg.org/CosNaming/Istring:1.0) <TK_ALIAS:TK_STRING> id,  TK_ALIAS 
Istring (IDL:omg.org/CosNaming/Istring:1.0) <TK_ALIAS:TK_STRING> kind }, 0 
>>> in obj = <Any:TK_OBJREF Object (IDL:CORBA/Object:1.0)>
polyorb.orb: ... requested by main_task_08282820
polyorb.references.binding: Bind: enter
polyorb.references.binding: Found profile: 
POLYORB.BINDING_DATA.GIOP.IIOP.IIOP_PROFILE_TYPE
polyorb.references.binding: Binding non-local profile
polyorb.references.binding: Creating new binding object
polyorb.binding_data.giop.iiop: Bind IIOP profile: enter
polyorb.orb: Run_Request: Got an error when binding: COMM_FAILURE_E
polyorb.orb: Handling message of type POLYORB.SERVANTS.IFACE.EXECUTED_REQUEST
polyorb.orb: Request completed.
polyorb.orb: ... requesting task is RUNNING
polyorb.orb: TPF main_task_08282820: leaving Perform_Work
polyorb.orb: Run: leave.
polyorb.exceptions: Exception_Name INTERNAL:POLYORB/COMM_FAILURE:1.0
polyorb.exceptions: Exception Id : POLYORB.COMM_FAILURE
polyorb.orb: Handling message of type POLYORB.ORB.IFACE.QUEUE_REQUEST
polyorb.orb: Queue_Request: enter
polyorb.orb: Queue_Request: leave
polyorb.orb: TPF main_task_08282820: enter Perform_Work
polyorb.orb: TPF main_task_08282820: working on job POLYORB.ORB.REQUEST_JOB
polyorb.orb: Run Request_Job: enter
polyorb.orb: Task main_task_08282820 executing: Operation: rebind on object 
Object reference: IDL:omg.org/CosNaming/NamingContext:1.0
  POLYORB.BINDING_DATA.GIOP.IIOP.IIOP_PROFILE_TYPE
    Address : 203.220.243.49:2809, Object_Id : 
4e616d65536572766963652f30303030303030323466463030303030303030
  POLYORB.BINDING_DATA.GIOP.DIOP.DIOP_PROFILE_TYPE
    Address : 192.168.1.1:34260, Object_Id : 
4e616d65536572766963652f30303030303030323466463030303030303030
 with arguments in n = <Any:TK_ALIAS Name (IDL:omg.org/CosNaming/Name:1.0) 
<TK_ALIAS:TK_SEQUENCE<TK_STRUCT NameComponent 
(IDL:omg.org/CosNaming/NameComponent:1.0) { TK_ALIAS Istring 
(IDL:omg.org/CosNaming/Istring:1.0) <TK_ALIAS:TK_STRING> id,  TK_ALIAS 
Istring (IDL:omg.org/CosNaming/Istring:1.0) <TK_ALIAS:TK_STRING> kind }, 0 
>>> in obj = <Any:TK_OBJREF Object (IDL:CORBA/Object:1.0)>
polyorb.orb: ... requested by main_task_08282820
polyorb.references.binding: Bind: enter
polyorb.references.binding: Found profile: 
POLYORB.BINDING_DATA.GIOP.IIOP.IIOP_PROFILE_TYPE
polyorb.references.binding: Binding non-local profile
polyorb.references.binding: Creating new binding object
polyorb.binding_data.giop.iiop: Bind IIOP profile: enter
polyorb.orb: Run_Request: Got an error when binding: COMM_FAILURE_E
polyorb.orb: Handling message of type POLYORB.SERVANTS.IFACE.EXECUTED_REQUEST
polyorb.orb: Request completed.
polyorb.orb: ... requesting task is RUNNING
polyorb.orb: TPF main_task_08282820: leaving Perform_Work
polyorb.orb: Run: leave.
polyorb.exceptions: Exception_Name INTERNAL:POLYORB/COMM_FAILURE:1.0
polyorb.exceptions: Exception Id : POLYORB.COMM_FAILURE
polyorb.any.exceptionlist: Finalize : enter
polyorb.any.exceptionlist: Length 3
polyorb.any.exceptionlist: Finalize : leave
polyorb.any.exceptionlist: Finalize : enter
polyorb.any.exceptionlist: Length 4
polyorb.any.exceptionlist: Finalize : leave
polyorb.binding_data: Destroying profile of type 
POLYORB.BINDING_DATA.GIOP.IIOP.IIOP_PROFILE_TYPE
polyorb.binding_data: Destroying profile of type 
POLYORB.BINDING_DATA.LOCAL.LOCAL_PROFILE_TYPE
polyorb.binding_data: Destroying profile of type 
POLYORB.BINDING_DATA.GIOP.IIOP.IIOP_PROFILE_TYPE
polyorb.binding_data: Destroying profile of type 
POLYORB.BINDING_DATA.GIOP.DIOP.DIOP_PROFILE_TYPE

Execution terminated by unhandled exception
Exception name: POLYORB.COMM_FAILURE
Call stack traceback locations:
0x8138dc9 0x8172a56 0x8168e2b 0x8122150 0x8121fc0 0x81223fe 0x8122bb3 
0x81b563e 0x804b6f5 0x40062e49



[root at orth server_test]# addr2line -e ../server 0x8138dc9 0x8172a56 0x8168e2b 
0x8122150 0x8121fc0 0x81223fe 0x8122bb3 0x81b563e 0x804b6f5 0x40062e49
/kast/forge/lathe/polyorb/cvs/polyorb/src/polyorb-exceptions.adb:397
/kast/forge/lathe/polyorb/cvs/polyorb/src/polyorb-services-naming-namingcontext-client.adb:213
/kast/forge/lathe/polyorb/cvs/polyorb/src/dsa/s-polint.adb:1159
/kast/forge/lathe/polyorb/cvs/polyorb/src/polyorb-initialization.adb:426
/kast/forge/lathe/polyorb/cvs/polyorb/src/polyorb-initialization.adb:380
/kast/forge/lathe/polyorb/cvs/polyorb/src/polyorb-initialization.adb:447
/kast/forge/lathe/polyorb/cvs/polyorb/src/polyorb-initialization.adb:478
/kast/forge/lathe/polyorb/cvs/polyorb/examples/dsa/server.adb:48
/kast/forge/lathe/polyorb/cvs/polyorb/examples/dsa/b~server.adb:752
??:0



hmm ... i guess thats about the lot for now ... 

please let me know if there is any extra info i need to include.


regards,

Rod.



More information about the PolyORB-users mailing list