Java CORBA Client IIOP Request Indefinitely Waiting For Response From Tuxedo Server

(Doc ID 1493410.1)

Last updated on NOVEMBER 04, 2016

Applies to:

Oracle Tuxedo - Version 10.3.0 and later
Information in this document applies to any platform.

Symptoms

 

  Java CORBA Client invoking Tuxedo CORBA objects in transaction mode remains blocked : transaction time-out does not occur.
  - Problem suspected to be in ISH not returning that transaction time-out has occurred.
  - A workaround exists if using IBM JVM.

 

   To reproduce the problem :

  JAVA CORBA client connecting to a Tuxedo CORBA application.
  (1) Creating CosTransactions.Control object to start a transaction
  (2) Time-out set up to 20 seconds
  (3) Invoking a method on a remote CORBA object published by Tuxedo CORBA
  (4) CORBA object lasts more than 20 seconds (to simulate it, sleep() function can be invoked)
  (5) Nothing happens : client remains blocked !!!!!

Changes

 On JAVA client side :

Extract of a thread dump generated on JAVA client side :

3XMTHREADINFO      "Thread-1" (TID:0x313E5100, sys_thread_t:0x31447C38, state:CW, native ID:0x0014408F) prio=5
4XESTACKTRACE          at java/lang/Object.wait(Native Method)
4XESTACKTRACE          at java/lang/Object.wait(Object.java:231)
4XESTACKTRACE          at com/ibm/rmi/iiop/OutCallDesc.waitForResponse(OutCallDesc.java:66)
4XESTACKTRACE          at com/ibm/rmi/iiop/OutCallDesc.waitForResponse(OutCallDesc.java:70)
4XESTACKTRACE          at com/ibm/rmi/iiop/Connection.send(Connection.java:2126)
4XESTACKTRACE          at com/ibm/rmi/iiop/ClientRequestImpl.invoke(ClientRequestImpl.java:319)
4XESTACKTRACE          at com/ibm/rmi/corba/ClientDelegate.invoke(ClientDelegate.java:435)
4XESTACKTRACE          at com/ibm/CORBA/iiop/ClientDelegate.invoke(ClientDelegate.java:1185)
4XESTACKTRACE          at com/ibm/rmi/corba/ClientDelegate.invoke(ClientDelegate.java:764)
4XESTACKTRACE          at com/ibm/CORBA/iiop/ClientDelegate.invoke(ClientDelegate.java:1215)
4XESTACKTRACE          at org/omg/CORBA/portable/ObjectImpl._invoke(ObjectImpl.java:484)
4XESTACKTRACE          at _SimpleStub.to_lower(_SimpleStub.java:38)
4XESTACKTRACE          at ClientThread.run(ThreadedClient.java:293(Compiled Code))

 


Several thread dumps highlight the same : client remaining blocked in waitForResponse() method



On Tuxedo side, using tmadmin utility print transaction info :

When starting the client

> pt -v
>> index=0      gtrid=x0 x4edf9658 x3
:  Machine id: simple, Transaction status: TMGACTIVE
   Group count: 2, timeout: 20, time left: 29
   Known participants:
    group: GRPS, status: TMGACTIVE, local, coord
    group: GRP2, status: TMGACTIVE, local

 

Few seconds later :

>
pt -v
>> index=0      gtrid=x0 x4edf9658 x3
:  Machine id: simple, Transaction status: TMGACTIVE
   Group count: 2, timeout: 20, time left: 9
   Known participants:
    group: GRPS, status: TMGACTIVE, local, coord
    group: GRP2, status: TMGACTIVE, local

 


Few seconds later :

>
pt -v
>> index=0      gtrid=x0 x4edf9658 x3
:  Machine id: simple, Transaction status: TMGABORTONLY
   Group count: 2, timeout: 20, transaction timed out
   Known participants:
    group: GRPS, status: TMGABORTED, local, coord
    group: GRP2, status: TMGABORTED, local

 

After several minutes :

>
pt -v
TMADMIN_CAT:629: INFO: No outstanding transactions

 


Then print client's status :

> pclt
  LMID         User Name       Client Name    Time    Status   Bgn/Cmmt/Abrt
--------------- --------------- --------------- -------- -------  -------------
simple          francois        ISH              1:12:21  IDLE         0/0/0
simple          IIOP client    IIOP client     0:34:27 BUSYT/W  1/0/0
simple          francois        tmadmin       0:00:20 IDLE         0/0/0

 To be noted : IIOP client transaction Begin is marked (Bgn = 1) but is neither Committed (Cmmt = 0) nor Aborted (Abrt = 0).

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms