[omniORB] omniORB not using active connections in some situations?

jklein at rockwellcollins.com jklein at rockwellcollins.com
Mon Mar 27 16:54:02 BST 2006


Ok, took me a bit to get my hands on the equipment..

Hopefully attachments work.. Here's the log..

(See attached file: LOG.txt)

This log is obviously from the client.. The IOR of the server is as
follows..

Type ID: "IDL:CF/DeviceManager:1.0"
Profiles:
1. IIOP 1.2 10.0.26.1 32778 "....Q........."
            TAG_ORB_TYPE omniORB
            TAG_CODE_SETS char native code set: ISO-8859-1
                          char conversion code set: UTF-8
                          wchar native code set: UTF-16
                          wchar conversion code set: UTF-16

            TAG_ALTERNATE_IIOP_ADDRESS 192.168.78.22 32778
            TAG_ALTERNATE_IIOP_ADDRESS 10.26.1.1 32778
            TAG_ALTERNATE_IIOP_ADDRESS 172.16.0.26 32778

You will notice in the LOG that the very first entry is that the server
actually contacted client first which caused the client to call the server
back..

I know you asked for code, but I'm not allowed to show the actual code here
as it is not mine.. Sorry.. But I can try to summarize the code..

void client::method( _ptr ptr_server )
{
      if( CORBA::is_nil(ptr_server)
      {
            Do bad things
      }

      _var var_server = _nil();
      try
      {
            var_server = _narrow(ptr_server);
      }
      catch(...)
      {
            Do bad things
      }

      if( CORBA::is_nil(var_server)
      {
            Do bad things
      }

      StringVar var1 = ptr_server->CallMethod1();
      StringVar var2 = ptr_server->CallMethod2();
      StringVar var3 = ptr_server->CallMethod3();
      _var var_Object = ptr_server->CallMethod4();
      ...
      more stuff
}

There is more code after this that is to complicated to summarize.. .. If
you look at the log and determine that you must see the actual source code,
I can contact the author to try to get permission to send it directly to
you..

So, what you will see is that it had to fail the first two IPs on all these
calls.. I think this is clear by looking at the thread id (which is "4")..
But again, I could be wrong.. :)

Thanks,
John





                                                                           
             Duncan Grisby                                                 
             <duncan at grisby.or                                             
             g>                                                         To 
                                       jklein at rockwellcollins.com          
             03/24/2006 09:52                                           cc 
             AM                        omniorb-list at omniorb-support.com    
                                                                   Subject 
                                       Re: [omniORB] omniORB not using     
                                       active connections in some          
                                       situations?                         
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           




It shouldn't do that. It should remember the working address and keep
using it. Please send the fragment of your code that's calling the
methods, and the trace from traceLevel 25 traceThreadId 1.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: LOG.txt
Type: application/octet-stream
Size: 64952 bytes
Desc: not available
Url : http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20060327/e80c23a8/LOG-0001.obj


More information about the omniORB-list mailing list