[jbossts-issues] [JBoss JIRA] (JBTM-3088) NPE in Recovery Manager

Ondrej Chaloupka (Jira) issues at jboss.org
Wed Mar 4 10:12:38 EST 2020


    [ https://issues.redhat.com/browse/JBTM-3088?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13988997#comment-13988997 ] 

Ondrej Chaloupka commented on JBTM-3088:
----------------------------------------

My trouble happens when the recovery runs on the Remote EJB XAResource and authentication is wrongly setup. In such case the call to `recover` throws an exception.
https://github.com/jbosstm/narayana/blob/5.10.4.Final/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/recovery/arjunacore/XARecoveryModule.java#L634
On the follow-up call during the second pass of recovery the `NPE` may be obtained
https://github.com/jbosstm/narayana/blob/5.10.4.Final/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/recovery/arjunacore/XARecoveryModule.java#L738

The stacktrace of the exception I work with is
{code}
WARN  [com.arjuna.ats.jta] (Periodic Recovery) ARJUNA016027: Local XARecoveryModule.xaRecovery got XA exception XAException.XAER_RMFAIL: javax.transaction.xa.XAException: WFTXN0034: Failed to acquire a connection for this operation
  at org.wildfly.transaction.client at 1.1.7.Final//org.wildfly.transaction.client.provider.remoting.RemotingRemoteTransactionPeer.getPeerIdentityXA(RemotingRemoteTransactionPeer.java:96)
  at org.wildfly.transaction.client at 1.1.7.Final//org.wildfly.transaction.client.provider.remoting.RemotingRemoteTransactionPeer.recover(RemotingRemoteTransactionPeer.java:203)
  at org.wildfly.transaction.client at 1.1.7.Final//org.wildfly.transaction.client.SubordinateXAResource.recover(SubordinateXAResource.java:210)
  at org.wildfly.transaction.client at 1.1.7.Final//org.wildfly.transaction.client.SubordinateXAResource.recover(SubordinateXAResource.java:206)
  at org.jboss.jts//com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.xaRecoveryFirstPass(XARecoveryModule.java:634)
  at org.jboss.jts//com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkFirstPass(XARecoveryModule.java:226)
  at org.jboss.jts//com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkFirstPass(XARecoveryModule.java:171)
  at org.jboss.jts//com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.doWorkInternal(PeriodicRecovery.java:770)
  at org.jboss.jts//com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.run(PeriodicRecovery.java:382)
Caused by: org.wildfly.security.auth.AuthenticationException: JBREM000308: Authentication failed (no mechanisms left), tried: 
   JBOSS-LOCAL-USER: org.wildfly.security.auth.AuthenticationException: JBREM000300: Authentication failed due to I/O error
  at org.jboss.remoting at 5.0.15.Final//org.jboss.remoting3.ConnectionPeerIdentityContext.doAuthenticate(ConnectionPeerIdentityContext.java:379)
  at org.jboss.remoting at 5.0.15.Final//org.jboss.remoting3.ConnectionPeerIdentityContext.authenticate(ConnectionPeerIdentityContext.java:183)
  at org.jboss.remoting at 5.0.15.Final//org.jboss.remoting3.EndpointImpl$3.lambda$handleDone$0(EndpointImpl.java:529)
  at org.jboss.threads at 2.3.3.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
  at org.jboss.threads at 2.3.3.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)
  at org.jboss.threads at 2.3.3.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
  at org.jboss.threads at 2.3.3.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
  at java.base/java.lang.Thread.run(Thread.java:834)

WARN  [com.arjuna.ats.jta] (Periodic Recovery) ARJUNA016009: Caught:: java.lang.NullPointerException
  at org.jboss.jts//com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.xaRecoverySecondPass(XARecoveryModule.java:738)
  at org.jboss.jts//com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.bottomUpRecovery(XARecoveryModule.java:519)
  at org.jboss.jts//com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkSecondPass(XARecoveryModule.java:270)
  at org.jboss.jts//com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.doWorkInternal(PeriodicRecovery.java:816)
  at org.jboss.jts//com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.run(PeriodicRecovery.java:382)
{code}

> NPE in Recovery Manager
> -----------------------
>
>                 Key: JBTM-3088
>                 URL: https://issues.redhat.com/browse/JBTM-3088
>             Project: JBoss Transaction Manager
>          Issue Type: Bug
>          Components: JTA
>    Affects Versions: 5.9.0.Final
>            Reporter: Vadim Lotarev
>            Assignee: Ondrej Chaloupka
>            Priority: Major
>
> NPE happens during Recovery:
> Dec 12 00:01:54.559 WARN  [][Periodic Recovery]  ARJUNA016009: Caught: (com.arjuna.ats.jta:) 
> java.lang.NullPointerException
> 	at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.xaRecoverySecondPass(XARecoveryModule.java:713) ~[narayana-jta-5.9.0.Final.jar.9186195290256057980.jar:5.9.0.Final (revision: f0935)]
> 	at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.bottomUpRecovery(XARecoveryModule.java:494) ~[narayana-jta-5.9.0.Final.jar.9186195290256057980.jar:5.9.0.Final (revision: f0935)]
> 	at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkSecondPass(XARecoveryModule.java:245) ~[narayana-jta-5.9.0.Final.jar.9186195290256057980.jar:5.9.0.Final (revision: f0935)]
> 	at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.doWorkInternal(PeriodicRecovery.java:811) ~[narayana-jta-5.9.0.Final.jar.9186195290256057980.jar:5.9.0.Final (revision: f0935)]
> 	at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.run(PeriodicRecovery.java:377) ~[narayana-jta-5.9.0.Final.jar.9186195290256057980.jar:5.9.0.Final (revision: f0935)]



--
This message was sent by Atlassian Jira
(v7.13.8#713008)


More information about the jbossts-issues mailing list