[
https://issues.redhat.com/browse/WFLY-14284?page=com.atlassian.jira.plugi...
]
Brian Stansberry commented on WFLY-14284:
-----------------------------------------
[~mmusgrov]
This is what looks like the key part of the thread dump:
First we have a thread doing a recovery scan:
{code}
"Periodic Recovery" - Thread t@115
java.lang.Thread.State: WAITING
at java.base(a)11.0.8/jdk.internal.misc.Unsafe.park(Native Method)
- parking to wait for <6a00decd> (a
java.util.concurrent.CompletableFuture$Signaller)
at
java.base@11.0.8/java.util.concurrent.locks.LockSupport.park(LockSupport.java:194)
at
java.base@11.0.8/java.util.concurrent.CompletableFuture$Signaller.block(CompletableFuture.java:1796)
at
java.base@11.0.8/java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3128)
at
java.base@11.0.8/java.util.concurrent.CompletableFuture.waitingGet(CompletableFuture.java:1823)
at
java.base@11.0.8/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1998)
at
org.wildfly.http-client.transaction@1.0.21.Final//org.wildfly.httpclient.transaction.HttpRemoteTransactionPeer.recover(HttpRemoteTransactionPeer.java:98)
at
org.wildfly.transaction.client@1.1.11.Final//org.wildfly.transaction.client.SubordinateXAResource.recover(SubordinateXAResource.java:213)
at
org.wildfly.transaction.client@1.1.11.Final//org.wildfly.transaction.client.SubordinateXAResource.recover(SubordinateXAResource.java:209)
at
org.jboss.jts//com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.xaRecoveryFirstPass(XARecoveryModule.java:659)
at
org.jboss.jts//com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkFirstPass(XARecoveryModule.java:240)
- locked <45b75a72> (a
com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule)
at
org.jboss.jts//com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkFirstPass(XARecoveryModule.java:182)
- locked <45b75a72> (a
com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule)
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)
{code}
And next we have a thread trying to do a shutdown trying to suspend the server first. But
it blocks preSuspend until PeriodicRecovery.suspendScan no longer sees the current status
as SCANNING.
{code}
"ServerService Thread Pool -- 37" - Thread t@65
java.lang.Thread.State: WAITING
at java.base(a)11.0.8/java.lang.Object.wait(Native Method)
- waiting on <15eaeba8> (a java.lang.Object)
at java.base@11.0.8/java.lang.Object.wait(Object.java:328)
at
org.jboss.jts//com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.suspendScan(PeriodicRecovery.java:247)
at
org.jboss.jts//com.arjuna.ats.internal.arjuna.recovery.RecoveryManagerImple.trySuspendScan(RecoveryManagerImple.java:192)
at
org.jboss.jts//com.arjuna.ats.arjuna.recovery.RecoveryManager.trySuspend(RecoveryManager.java:265)
at
org.jboss.jts//com.arjuna.ats.arjuna.recovery.RecoveryManager.suspend(RecoveryManager.java:259)
at
org.jboss.jts.integration//com.arjuna.ats.jbossatx.jta.RecoveryManagerService.suspend(RecoveryManagerService.java:79)
at
org.jboss.as.transactions@20.0.1.Final//org.jboss.as.txn.suspend.RecoverySuspendController.preSuspend(RecoverySuspendController.java:42)
at
org.jboss.as.server@12.0.3.Final//org.jboss.as.server.suspend.SuspendController.suspend(SuspendController.java:103)
- locked <2ef5626e> (a org.jboss.as.server.suspend.SuspendController)
at
org.jboss.as.server@12.0.3.Final//org.jboss.as.server.operations.ServerDomainProcessShutdownHandler$1$1.handleResult(ServerDomainProcessShutdownHandler.java:100)
at
org.jboss.as.controller@12.0.3.Final//org.jboss.as.controller.AbstractOperationContext$Step.invokeResultHandler(AbstractOperationContext.java:1533)
at
org.jboss.as.controller@12.0.3.Final//org.jboss.as.controller.AbstractOperationContext$Step.handleResult(AbstractOperationContext.java:1515)
at
org.jboss.as.controller@12.0.3.Final//org.jboss.as.controller.AbstractOperationContext$Step.finalizeInternal(AbstractOperationContext.java:1472)
at
org.jboss.as.controller@12.0.3.Final//org.jboss.as.controller.AbstractOperationContext$Step.finalizeStep(AbstractOperationContext.java:1445)
at
org.jboss.as.controller@12.0.3.Final//org.jboss.as.controller.AbstractOperationContext$Step.access$400(AbstractOperationContext.java:1319)
at
org.jboss.as.controller@12.0.3.Final//org.jboss.as.controller.AbstractOperationContext.executeResultHandlerPhase(AbstractOperationContext.java:876)
at
org.jboss.as.controller@12.0.3.Final//org.jboss.as.controller.AbstractOperationContext.executeDoneStage(AbstractOperationContext.java:862)
at
org.jboss.as.controller@12.0.3.Final//org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:769)
at
org.jboss.as.controller@12.0.3.Final//org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:467)
at
org.jboss.as.controller@12.0.3.Final//org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1413)
at
org.jboss.as.controller@12.0.3.Final//org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:429)
at
org.jboss.as.controller@12.0.3.Final//org.jboss.as.controller.ModelControllerImpl.lambda$execute$1(ModelControllerImpl.java:246)
at
org.jboss.as.controller(a)12.0.3.Final//org.jboss.as.controller.ModelControllerImpl$$Lambda$1124/0x0000000100eee840.run(Unknown
Source)
at
org.wildfly.security.elytron-private(a)1.12.1.Final//org.wildfly.security.auth.server.SecurityIdentity$$Lambda$1123/0x0000000100eef440.run(Unknown
Source)
at
org.wildfly.security.elytron-private@1.12.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:304)
at
org.wildfly.security.elytron-private@1.12.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:270)
at
org.jboss.as.controller@12.0.3.Final//org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:246)
at
org.jboss.as.controller@12.0.3.Final//org.jboss.as.controller.remote.TransactionalProtocolOperationHandler.internalExecute(TransactionalProtocolOperationHandler.java:269)
at
org.jboss.as.controller@12.0.3.Final//org.jboss.as.controller.remote.TransactionalProtocolOperationHandler$ExecuteRequestHandler.doExecute(TransactionalProtocolOperationHandler.java:201)
at
org.jboss.as.controller@12.0.3.Final//org.jboss.as.controller.remote.TransactionalProtocolOperationHandler$ExecuteRequestHandler$1.run(TransactionalProtocolOperationHandler.java:148)
at
org.jboss.as.controller@12.0.3.Final//org.jboss.as.controller.remote.TransactionalProtocolOperationHandler$ExecuteRequestHandler$1.run(TransactionalProtocolOperationHandler.java:144)
at
org.wildfly.security.elytron-private(a)1.12.1.Final//org.wildfly.security.auth.server.SecurityIdentity$$Lambda$1123/0x0000000100eef440.run(Unknown
Source)
at
org.wildfly.security.elytron-private@1.12.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:304)
at
org.wildfly.security.elytron-private@1.12.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:270)
at
org.jboss.as.controller@12.0.3.Final//org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:198)
at
org.jboss.as.controller@12.0.3.Final//org.jboss.as.controller.remote.TransactionalProtocolOperationHandler$ExecuteRequestHandler$2$1.get(TransactionalProtocolOperationHandler.java:172)
at
org.jboss.as.controller@12.0.3.Final//org.jboss.as.controller.remote.TransactionalProtocolOperationHandler$ExecuteRequestHandler$2$1.get(TransactionalProtocolOperationHandler.java:163)
at
org.jboss.as.controller@12.0.3.Final//org.jboss.as.controller.remote.TransactionalProtocolOperationHandler$Execution$1.execute(TransactionalProtocolOperationHandler.java:677)
at
org.jboss.as.controller@12.0.3.Final//org.jboss.as.controller.remote.TransactionalProtocolOperationHandler$ExecuteRequestHandler$2.execute(TransactionalProtocolOperationHandler.java:177)
at
org.jboss.as.protocol@12.0.3.Final//org.jboss.as.protocol.mgmt.ManagementRequestContextImpl$1.doExecute(ManagementRequestContextImpl.java:70)
at
org.jboss.as.protocol@12.0.3.Final//org.jboss.as.protocol.mgmt.ManagementRequestContextImpl$AsyncTaskRunner.run(ManagementRequestContextImpl.java:160)
at
org.jboss.threads@2.3.3.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at
org.jboss.threads@2.3.3.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)
at
org.jboss.threads@2.3.3.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
at
org.jboss.threads@2.3.3.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
at java.base@11.0.8/java.lang.Thread.run(Thread.java:834)
at
org.jboss.threads@2.3.3.Final//org.jboss.threads.JBossThread.run(JBossThread.java:485)
{code}
So, two issues:
One is the more fundamental one for this particular report, which is why
HttpRemoteTransactionPeer.recover won't complete.
The other is that the shutdown is blocked, with the block occurring in code that won't
allow any suspend timeout provided by the user to be respected.
WildFly doesn't stop while waiting for PeriodicRecovery
-------------------------------------------------------
Key: WFLY-14284
URL:
https://issues.redhat.com/browse/WFLY-14284
Project: WildFly
Issue Type: Bug
Components: Transactions
Affects Versions: 20.0.1.Final
Reporter: Adriano Teixeira de Souza
Assignee: Michael Musgrove
Priority: Major
Attachments: thread-dump-stop-1.txt
I'm testing wildfly 20.0.1 (and 21.0.2 was tested too) for replace our old version of
Wildfly 10.
it happens that frequently we have seen that the stop function of server does not work
and we need to kill the process by manual operation on the OS.
It sounds like a dead look.
I attatch the thread dump on this.
--
This message was sent by Atlassian Jira
(v8.13.1#813001)