Bug 1146462

Summary: [QE] (6.4.0) EJBClientXidTransactionTestCase fails due to ARJUNA022006: The ORB has not been initialized yet
Product: [JBoss] JBoss Enterprise Application Platform 6 Reporter: Petr Kremensky <pkremens>
Component: Testsuite, Transaction ManagerAssignee: tom.jenkinson
Status: CLOSED CURRENTRELEASE QA Contact: Petr Kremensky <pkremens>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.4.0CC: cdewolf, jason.greene, kkhan, mkopecky, ochaloup, pkremens, tom.jenkinson
Target Milestone: DR8   
Target Release: EAP 6.4.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-08-19 12:44:28 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 996500    

Description Petr Kremensky 2014-09-25 09:54:23 UTC
Description of problem:
org.jboss.as.test.integration.ejb.remote.client.api.tx.EJBClientXidTransactionTestCase
 - testSLSBMandatoryTx
 - testClientTransactionManagement
fails once run with other tests with ARJUNA022006: The ORB has not been initialized yet

Version-Release number of selected component (if applicable):
 EAP 6.4.0.DR2

How reproducible:
 Not if run as a single test, only once I run whole it.basic module

Steps to Reproduce:
1. See reproducer jobs configuration

Actual results:
org.jboss.as.test.integration.ejb.remote.client.api.tx.EJBClientXidTransactionTestCase.testSLSBMandatoryTx
https://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/eapp-640-as-testsuite-EJBClientXidTransactionTestCase-RHEL_IPv6_secman/2/jdk=ibm1.6,label_exp=eap-sustaining%20&&%20RHEL5 && x86 && ipv6/testReport/org.jboss.as.test.integration.ejb.remote.client.api.tx/EJBClientXidTransactionTestCase/testSLSBMandatoryTx/
com.arjuna.ats.arjuna.exceptions.FatalError
	at com.arjuna.ats.internal.jts.ORBManager.getPOA(ORBManager.java:96)
	at com.arjuna.ats.internal.jts.OTSImpleManager.<clinit>(OTSImpleManager.java:296)
	at java.lang.J9VMInternals.initializeImpl(Native Method)
	at java.lang.J9VMInternals.initialize(J9VMInternals.java:201)
	at com.arjuna.ats.jts.OTSManager.get_current(OTSManager.java:71)
	at com.arjuna.ats.internal.jta.transaction.jts.BaseTransaction.checkTransactionState(BaseTransaction.java:265)
	at com.arjuna.ats.internal.jta.transaction.jts.BaseTransaction.begin(BaseTransaction.java:72)
	at org.jboss.as.test.integration.ejb.remote.client.api.tx.EJBClientXidTransactionTestCase.testSLSBMandatoryTx(EJBClientXidTransactionTestCase.java:130)

org.jboss.as.test.integration.ejb.remote.client.api.tx.EJBClientXidTransactionTestCase.testClientTransactionManagement
https://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/eapp-640-as-testsuite-EJBClientXidTransactionTestCase-RHEL_IPv6_secman/2/jdk=ibm1.6,label_exp=eap-sustaining%20&&%20RHEL5 && x86 && ipv6/testReport/org.jboss.as.test.integration.ejb.remote.client.api.tx/EJBClientXidTransactionTestCase/testClientTransactionManagement/
java.lang.NoClassDefFoundError: com.arjuna.ats.internal.jts.OTSImpleManager (initialization failure)
	at java.lang.J9VMInternals.initialize(J9VMInternals.java:141)
	at com.arjuna.ats.jts.OTSManager.get_current(OTSManager.java:71)
	at com.arjuna.ats.internal.jta.transaction.jts.BaseTransaction.checkTransactionState(BaseTransaction.java:265)
	at com.arjuna.ats.internal.jta.transaction.jts.BaseTransaction.begin(BaseTransaction.java:72)
	at org.jboss.as.test.integration.ejb.remote.client.api.tx.EJBClientXidTransactionTestCase.testClientTransactionManagement(EJBClientXidTransactionTestCase.java:152)

Expected results:
Both tests pass

Additional info:
To see server logs and surefire reports:
 - click on "red ball"
 - click on Build Artifacts
 - navigate to testsuite/integration/basic/target/surefire-reports/

Reproducer job - RHEL IPv6 w/ secman
https://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/eapp-640-as-testsuite-EJBClientXidTransactionTestCase-RHEL_IPv6_secman/2/

Reproducer job - solaris
https://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/eap-640-as-testsuite-EJBClientXidTransactionTestCase/5/

Seen also on RHEL e.g.: https://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/eap-6x-as-testsuite-rhel/5/RELEASE=6.4.0,jdk=openjdk1.6_local,label_exp=eap-sustaining%20&&%20RHEL6%20&&%20x86_64/testReport/

Comment 2 tom.jenkinson 2014-10-28 16:28:50 UTC
Hi Petr,

This test only makes sense to run with the none-JTS transaction manager as it is about EJB remoting transaction propagation. As such it does not do any ORB initialization.

The test attempts to set Narayana to use the JTA transaction manager using system properties:
https://github.com/jbossas/jboss-eap/blob/6.x/testsuite/integration/basic/src/test/java/org/jboss/as/test/integration/ejb/remote/client/api/tx/EJBClientXidTransactionTestCase.java#L112

Unfortunately these are only read once at startup, hence why the test fails when ran with other tests.

Reconfiguring the transaction manager from JTS to none-JTS within one JVM is hairy and not recommended.

Even then, you can't reconfigure it using system properties and would need something like this probably:
https://github.com/jbossas/jboss-eap/pull/1856

Petr, are you able to test my change for me as I am not really too au fait with the EAP testsuite.

Many thanks,
Tom

Comment 3 Petr Kremensky 2014-10-29 07:19:54 UTC
Hi Tom,
sure, we will test it out and let you know whether it helps.
Petr

Comment 4 Marek Kopecky 2014-10-30 11:08:34 UTC
Hi Tom.

I tested your change in reproducer job on Solaris. EJBClientXidTransactionTestCase finished witnout any errors, so the error was probably fixed by your commit.

Marek

Comment 5 tom.jenkinson 2014-10-30 11:10:22 UTC
Perfect - thanks Marek!

Comment 6 Kabir Khan 2014-11-04 21:09:38 UTC
https://github.com/jbossas/jboss-eap/pull/1856

Comment 7 Petr Kremensky 2014-11-28 14:39:07 UTC
Verified on EAP 6.4.0.DR11

Comment 8 JBoss JIRA Server 2014-11-28 14:39:30 UTC
Petr Kremensky <pkremens> updated the status of jira JBQA-11003 to Closed