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

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Blocker
    • Resolution: Explained
    • Affects Version/s: 14.0.0.Final, 15.0.0.Beta1
    • Fix Version/s: None
    • Component/s: IIOP
    • Labels:
    • Steps to Reproduce:
      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

      Description

      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.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  tomekadamski Tomasz Adamski
                  Reporter:
                  istraka Ivan Straka
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  8 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: