Bug 956227

Summary: java.lang.ArrayIndexOutOfBoundsException
Product: [JBoss] JBoss Enterprise Application Platform 6 Reporter: Tom Ross <tom.ross>
Component: EJBAssignee: Jaikiran Pai <jpai>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.0.1CC: dimitris, jlivings, jmartisk, jpai, lcosti, myarboro, rdickens
Target Milestone: ER2   
Target Release: EAP 6.1.1   
Hardware: All   
OS: All   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
There was an issue in previous versions of JBoss EAP 6 when calling an EJB on a remote server where the node identifier was longer than 9 characters. This resulted in an `ArrayIndexOutOfBoundsException` being thrown. This issue was fixed in the EJB client library so that it now properly constructs an Xid while parsing the node identifier. As a result, calls to an EJB on a remote server should no longer throw exceptions caused by a long node identifier.
Story Points: ---
Clone Of:
: 961606 (view as bug list) Environment:
Last Closed: 2013-09-16 20:30:32 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: 961606    

Description Tom Ross 2013-04-24 13:45:17 UTC
When calling an EJB on remote server the following exception is throw when the node identifier is longer than 9 characters.

{noformat}
2013-04-18 14:33:51,809 ERROR [org.jboss.as.ejb3.invocation] (EJB default - 1) JBAS014134: EJB Invocation failed on component XATestNode2FacadeBean for method public abstract java.lang.String XX.abcde.xatestnode2.ejb.XATestNode2Facade.testSimpleEJBCall(): java.lang.ArrayIndexOutOfBoundsException
	at java.lang.System.arraycopy(Native Method) [rt.jar:1.7.0_17]
	at org.jboss.ejb.client.XidTransactionID$XidImpl.getBranchQualifier(XidTransactionID.java:111) [jboss-ejb-client-1.0.11.Final-redhat-1-bz-912513.jar:1.0.11.Final-redhat-1-bz-903990]
	at com.arjuna.ats.jta.xa.XidImple.copy(XidImple.java:190)
	at com.arjuna.ats.jta.xa.XidImple.<init>(XidImple.java:69)
	at com.arjuna.ats.internal.jta.transaction.jts.jca.TransactionImporterImple.getImportedTransaction(TransactionImporterImple.java:139)
	at org.jboss.as.ejb3.remote.EJBRemoteTransactionsRepository.getImportedTransaction(EJBRemoteTransactionsRepository.java:136) [jboss-as-ejb3-7.1.3.Final-redhat-4-bz-922340.jar:7.1.3.Final-redhat-4]
	at org.jboss.as.ejb3.remote.EJBRemoteTransactionPropagatingInterceptor.createOrResumeXidTransaction(EJBRemoteTransactionPropagatingInterceptor.java:110) [jboss-as-ejb3-7.1.3.Final-redhat-4-bz-922340.jar:7.1.3.Final-redhat-4]
	at org.jboss.as.ejb3.remote.EJBRemoteTransactionPropagatingInterceptor.processInvocation(EJBRemoteTransactionPropagatingInterceptor.java:71) [jboss-as-ejb3-7.1.3.Final-redhat-4-bz-922340.jar:7.1.3.Final-redhat-4]
	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final-redhat-2.jar:1.1.1.Final-redhat-2]
	at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41) [jboss-as-ejb3-7.1.3.Final-redhat-4-bz-922340.jar:7.1.3.Final-redhat-4]
	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final-redhat-2.jar:1.1.1.Final-redhat-2]
	at org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:42) [jboss-as-ejb3-7.1.3.Final-redhat-4-bz-922340.jar:7.1.3.Final-redhat-4]
	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final-redhat-2.jar:1.1.1.Final-redhat-2]
	at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:59) [jboss-as-ejb3-7.1.3.Final-redhat-4-bz-922340.jar:7.1.3.Final-redhat-4]
	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final-redhat-2.jar:1.1.1.Final-redhat-2]
	at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50) [jboss-as-ee-7.1.3.Final-redhat-4-JBPAPP-10504.jar:7.1.3.Final-redhat-4]
	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final-redhat-2.jar:1.1.1.Final-redhat-2]
	at org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:43) [jboss-as-ejb3-7.1.3.Final-redhat-4-bz-922340.jar:7.1.3.Final-redhat-4]
	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final-redhat-2.jar:1.1.1.Final-redhat-2]
	at org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45) [jboss-as-ee-7.1.3.Final-redhat-4-JBPAPP-10504.jar:7.1.3.Final-redhat-4]
	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final-redhat-2.jar:1.1.1.Final-redhat-2]
	at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) [jboss-invocation-1.1.1.Final-redhat-2.jar:1.1.1.Final-redhat-2]
	at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:165) [jboss-as-ee-7.1.3.Final-redhat-4-JBPAPP-10504.jar:7.1.3.Final-redhat-4]
	at org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler.invokeMethod(MethodInvocationMessageHandler.java:321) [jboss-as-ejb3-7.1.3.Final-redhat-4-bz-922340.jar:7.1.3.Final-redhat-4]
	at org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler.access$100(MethodInvocationMessageHandler.java:69) [jboss-as-ejb3-7.1.3.Final-redhat-4-bz-922340.jar:7.1.3.Final-redhat-4]
	at org.jboss.as.ejb3.remote.protocol.versionone.MethodInvocationMessageHandler$1.run(MethodInvocationMessageHandler.java:202) [jboss-as-ejb3-7.1.3.Final-redhat-4-bz-922340.jar:7.1.3.Final-redhat-4]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [rt.jar:1.7.0_17]
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) [rt.jar:1.7.0_17]
	at java.util.concurrent.FutureTask.run(FutureTask.java:166) [rt.jar:1.7.0_17]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_17]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_17]
	at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_17]
	at org.jboss.threads.JBossThread.run(JBossThread.java:122)
{noformat}

Comment 1 James Livingston 2013-05-07 23:34:53 UTC
This is fixed in 1.0.20 and EAP 6.1 ER6 uses 1.0.19. I'm not sure what GA is currently planned to use.

Comment 2 Jaikiran Pai 2013-05-08 03:50:34 UTC
EAP 6.1 ER7 uses 1.0.21, so this fix should be available in 6.1 GA.

Comment 5 Paul Gier 2013-07-01 22:26:17 UTC
EAP 6.1.0.GA has ejb-client version 1.0.21.Final, so this should be fixed already, but looks like it was never verified by QA.

Comment 7 Jan Martiska 2013-07-03 10:43:37 UTC
Verified in EAP 6.1.0 / jboss-ejb-client 1.0.21.Final