[jbossts-issues] [JBoss JIRA] (JBTM-2854) XATerminatorImple.importTransaction can produce ArrayIndexOutOfBoundsException

David Lloyd (JIRA) issues at jboss.org
Thu Feb 23 00:50:00 EST 2017


David Lloyd created JBTM-2854:
---------------------------------

             Summary: XATerminatorImple.importTransaction can produce ArrayIndexOutOfBoundsException
                 Key: JBTM-2854
                 URL: https://issues.jboss.org/browse/JBTM-2854
             Project: JBoss Transaction Manager
          Issue Type: Bug
          Components: JTA
            Reporter: David Lloyd
            Priority: Blocker


Here is what the stack trace looks like:

{noformat}
Caused by: Remote exception java.lang.ArrayIndexOutOfBoundsException: 32
        at com.arjuna.ats.jta.xa.XATxConverter.getSubordinateNodeName(XATxConverter.java:204)
        at com.arjuna.ats.internal.jta.transaction.arjunacore.subordinate.jca.SubordinateAtomicAction.<init>(SubordinateAtomicAction.java:115)
        at com.arjuna.ats.internal.jta.transaction.arjunacore.subordinate.jca.TransactionImple.<init>(TransactionImple.java:57)
        at com.arjuna.ats.internal.jta.transaction.arjunacore.jca.TransactionImporterImple.addImportedTransaction(TransactionImporterImple.java:281)
        at com.arjuna.ats.internal.jta.transaction.arjunacore.jca.TransactionImporterImple.importRemoteTransaction(TransactionImporterImple.java:105)
        at com.arjuna.ats.internal.jta.transaction.arjunacore.jca.XATerminatorImple.importTransaction(XATerminatorImple.java:599)
        at org.wildfly.transaction.client.provider.jboss.JBossLocalTransactionProvider$XAImporterImpl.findOrImportTransaction(JBossLocalTransactionProvider.java:585)
        ... 11 more
{noformat}

It appears that there is no protection against an XID of inadequate length in XATxConverter#setSubordinateNodeName.

At present the protocol is attempting to import an XID which contains only the gtid from the master node (based on what I discussed with [~tomjenkinson] some time ago at a previous meeting).  This can be changed if it is wrong, but either way this method should fail with a friendlier exception if the XID is not valid for some reason.




--
This message was sent by Atlassian JIRA
(v7.2.3#72005)


More information about the jbossts-issues mailing list