Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-11218

IIOP call does not work with transaction started on client side when run on IBM JDK

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Not a Bug
    • Icon: Blocker Blocker
    • None
    • 14.0.0.Final, 15.0.0.Beta1
    • IIOP
    • Hide
      1. obtain wildfly
      2. clone crashrec testsuite
      3. run mvn clean verify -DfailIfNoTests=false -Dversion.wildfly=15.0.0.Alpha1-SNAPSHOT -Dtest=JMSCrashRecoveryTestCase#none -Dclient.side.transaction -Djbossts.noJTA
      Show
      obtain wildfly clone crashrec testsuite run mvn clean verify -DfailIfNoTests=false -Dversion.wildfly=15.0.0.Alpha1-SNAPSHOT -Dtest=JMSCrashRecoveryTestCase#none -Dclient.side.transaction -Djbossts.noJTA

      Issue is valid only for IBM JDK 8...scenario works on oracle jdk 8 and 11 and openjdk 8.

      Scenario (using CORBA):

      1. start transaction
      2. lookup
      3. IIOP call
      4. EJB perform a basic operation and return (no failure is expected)

      IIOP call fails with following exception:

      java.lang.NullPointerException: null
      	at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.sentFullMessage(CorbaMessageMediatorImpl.java:429)
      	at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.sendCancelRequestIfFinalFragmentNotSent(CorbaMessageMediatorImpl.java:394)
      	at com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.endRequest(CorbaClientRequestDispatcherImpl.java:895)
      	at com.sun.corba.se.impl.protocol.CorbaClientDelegateImpl.releaseReply(CorbaClientDelegateImpl.java:167)
      	at com.sun.corba.se.impl.protocol.CorbaClientDelegateImpl.is_a(CorbaClientDelegateImpl.java:253)
      	at org.omg.CORBA.portable.ObjectImpl._is_a(ObjectImpl.java:139)
      	at org.omg.CosNaming.NamingContextHelper.narrow(NamingContextHelper.java:91)
      	at com.sun.jndi.cosnaming.CNCtx.setOrbAndRootContext(CNCtx.java:408)
      	at com.sun.jndi.cosnaming.CNCtx.initOrbAndRootContext(CNCtx.java:274)
      	at com.sun.jndi.cosnaming.CNCtx.<init>(CNCtx.java:132)
      	at com.sun.jndi.cosnaming.CNCtxFactory.getInitialContext(CNCtxFactory.java:61)
      	at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:695)
      	at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:324)
      	at javax.naming.InitialContext.init(InitialContext.java:255)
      	at javax.naming.InitialContext.<init>(InitialContext.java:227)
      	at org.jboss.as.test.jbossts.client.utils.TxUtil.lookupIIOP(TxUtil.java:93)
      	at org.jboss.as.test.jbossts.client.utils.TxUtil.lookupIIOP(TxUtil.java:103)
      	at org.jboss.as.test.jbossts.crashrec.test.JMSCrashRecoveryTestCase.lookupCrashBeanOverIIOP(JMSCrashRecoveryTestCase.java:164)
      	at org.jboss.as.test.jbossts.crashrec.test.JMSCrashRecoveryTestCase.callCrashTest(JMSCrashRecoveryTestCase.java:126)
      

      When transaction is not started on client side, IIOP call works smoothly.

              tadamski@redhat.com Tomasz Adamski
              istraka@redhat.com Ivan Straka
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

                Created:
                Updated:
                Resolved: