[omniORB] Nested call blocked

Peter Nyquist peter.nyquist@tankebolaget.se
Wed, 24 Jan 2001 09:16:52 +0100


We have a system with one client/server using omniORB on Linux (A)
and another client/server using Visibroker on Windows 2000 (B).

In A there are two CORBA objects, Gateway and GatewaySession.
In B there are two CORBA objects, ConnectManager and ApplicationSession.

At startup, Gateway receives a reference to ConnectManager from the naming
service.

A client connects to the GatewaySession, which using Gateway's reference
calls newConnection(GatewaySession-ref) in ConnectManager. Connect manager
passes the GatewaySession-ref to ApplicationSession. No calls are now
"hanging".

The following nested calls now occur:

Visibroker side                                                  omniORB
side

ApplicationSession -----> display(ApplicationSession-ref) ----->
GatewaySession
ApplicationSession <----- request() <--------------------------<
GatewaySession
ApplicationSession -----> push() ------------------------------> blocked in
omniORB.

The push() call does not reach the GatewaySession code.

It seems that since omniORB is already processing the display() call, it
cannot handle the
nested push() call. Is this a correct analysis of the problem? Is this a
known problem?
Can we set up omniORB to somehow handle this type of nested call?

When we run VisiBroker on both sides, it works just fine. Running JavaORB ->
omniBroker still
shows the same problem.

Thanks

/Peter

------------------------------------------------------
Peter Nyquist
peter.nyquist@tankebolaget.se
ph: +46-(0)8-442 96 11, mob: +46-(0)708-104 964
Tankebolaget, Kungstensgatan 21b 2tr, 113 57 Stockholm
www.tankebolaget.se / ICQ: 7 615 442