[omniORB] Method invocation hangs

bjorn rohde jensen shamus@tdcadsl.dk
Sat, 09 Feb 2002 00:29:03 +0100


Hi guys,

 Well, since this seems to be a transport problem, i would suggest
starting up a network sniffer to have a look at what is going on.
I highly recommend using Ethereal, since it can decode iiop trafic
for you, is free and has a fairly nice gui.
 My guess at the cause for this would be DNS, simply because, i think,
it is the most common cause of these sorts problems. I would suggest,
you dump the relevant IORs and use catior to see, what addresses are
actually being adverticed. Do you use hosts with multiple interfaces?
ORBs using ip-addresses in their IORS might publish the wrong one. If
you are using a mixed windoze/anything else enviroment, good old WINS
might disagree with the DNS and cause all sorts of mischief.
 I guess, the assumption of a fully functional transport layer is
sort of an Achillis heel of CORBA:)

Yours sincerely,

Bjorn


Patrick Hartling wrote:
> 
> I am experiencing a very strange problem that I have not been able to
> track down so far.  We are using omniORB 3.0.4 for a C++ application, and
> we connect to it using a Java ORB.  (So far, we have tried Java IDL with
> JDK 1.4 and OpenORB 1.2.0.)  We have C++ objects acting as servants, and
> our Java code gets references to those servants to manipulate the C++
> application.
> 
> When we make the initial connection to the Naming Service, everything
> works fine on both the Java and the C++ sides.   We can request a
> reference to an object known to the Naming Service.  In our Java code,
> the first time we try to invoke a method on a CORBA reference, however,
> the Java application hangs.  Using OpenORB, we have narrowed it down to
> the creation of a new socket in org.openorb.iiop.IIOPTransport.open().  I
> assume that a similar problem is happening with Java IDL, but I have not
> tracked it down that far.
> 
> Based on my understanding of CORBA in general, it seems that the initial
> connection to the machine that holds the servant is failing to
> complete--probably in the TCP three-way handshake.  Since it happens with
> two different Java ORBs, it seems that something is going wrong on our
> C++ side.  Do these symptoms point to any known issues with omniORB or
> with CORBA in general?
> 
>   -Patrick
> 
> --
> Patrick L. Hartling                     | Research Assistant, VRAC
> patrick@vrac.iastate.edu                | 2624 Howe Hall -- (515)294-4916
> http://www.137.org/patrick/             | http://www.vrac.iastate.edu/