[JBoss JIRA] (WFLY-12815) Wildfly 13 - Thread local state corrupted by deployed application explosion during session timeout leading to WELD-001304 - More than one context active for scope type javax.enterprise.context.SessionScoped
by NUNO GODINHO DE MATOS (Jira)
[ https://issues.jboss.org/browse/WFLY-12815?page=com.atlassian.jira.plugin... ]
NUNO GODINHO DE MATOS commented on WFLY-12815:
----------------------------------------------
Hi,
Concerning the sample application.
Unfortunately I do not have it.
The fact is it was not necessary for me to have one, because I was unable to reproduce the issue until I found out what the issue really was.
And once i found out what the issue was, my productive application could reproduce the issue any time I wanted it to cause the issue, so there was no point in in spending time doing it.
But reproducing the issue on your side should be very simple, as explained in the stack overflow tracker.
1. Make sure you configure your undertow to timeout sessions very quickly (e.g. session termination every 1 minute)
2. Define in the application a session destroyed listner
{code:title=SomeSessionListener|borderStyle=solid}
@ApplicationScoped
public class SomeSessionListener implements HttpSessionListener
@Override
public void sessionDestroyed(HttpSessionEvent event)
{code}
3. Make sure the session Listener when it is handling the even blows up with some application error.
I believe it is also important to clarify that the RequestScope is just a minor detail on this issue.
I think it is always interesting the fact that from application server to application server, some small fine grained details of do I have the scope in this situation or not always appear. The development APIs are the same but under the hood there are so many small differences between on runtime environment and another, that you always encounter such things ... And then probably these are always aspects that can be refined in future specs to try to ensure that the behavior is more standardized than it currently is.
But the main point is not the fact that our session destroyed handling was blowing up because of the lack of the request scope context.
This was the problem we had. But I believe the main point here is that the "blowing up" of the "client application code" during this phase is very problematic.
Whetehr it is a request scope context not active error, or simply "your application is bugy error and blowing up during this phase".
The end result is the same I believe.
The main point is that when UNDERTOW is doing its:
{code:title=UndertowCleaninupSessions|borderStyle=solid}
at io.undertow.servlet.core.SessionListenerBridge.sessionDestroyed(SessionListenerBridge.java:75)
at io.undertow.server.session.SessionListeners.sessionDestroyed(SessionListeners.java:61)
at io.undertow.server.session.InMemorySessionManager$SessionImpl.invalidate(InMemorySessionManager.java:586)
at io.undertow.server.session.InMemorySessionManager$SessionImpl$2$1.run(InMemorySessionManager.java:393)
at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecuto
{code}
Widlfy taps into this event and activates the SessionScope for the client application.
So during session destroyed event we can be playing with the session scoped.
But if our code is faulty our code will blow up (it does not matter what causes our code to blow up).
And then we have a big problem because this one thread that Undertow used to notify about a session destroyed will now be having stored in ThreadScope state the fact that this HTTPSessionDestructionContext is active.
We have poisoned a thread in thread pool by having our code blow up during the session destroyed phase.
When this specific thread is used to handle a normal HTTP Request, wildfly will activate the usual SessionContext implementation during the start of the request, and we will end up having a thread that has the traditional HttpSessonContext active (as by design) plus the HttpSessionDestruction context due the client application blow up.
And here is where there should be a mechanism to prevent this thing from happening.
Probably there should be some sort of fail safe mechanis in wildlfy, before allowing a thread to be used to handle any stort of request, in terms of making sure that no CDI context is allowed to be active at the begining of the request, until the normal flow of procesisng HTTP / EJB requests etc... decide to active the cdi scope.
Does this explanation make some sort of sense?
> Wildfly 13 - Thread local state corrupted by deployed application explosion during session timeout leading to WELD-001304 - More than one context active for scope type javax.enterprise.context.SessionScoped
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: WFLY-12815
> URL: https://issues.jboss.org/browse/WFLY-12815
> Project: WildFly
> Issue Type: Bug
> Components: CDI / Weld
> Affects Versions: 13.0.0.Final
> Environment: Environment independent the issue, it is purely a logical problem
> Reporter: NUNO GODINHO DE MATOS
> Assignee: Matěj Novotný
> Priority: Major
>
> The full description of the problem can be seen in stack overflow.
> Please consulder the issue:
> https://stackoverflow.com/questions/58930939/wildflt-13-weld-001304-more-...
> SUMMARY:
> (1) Setup you wildfly to have a session timeout of 1 minute - so that you can esaily make your http sessions timeout
> (2) Program in your WAR application a sessionDestroyed listener that will be broken.
> In our case whenever the session is timing out, we have some code that explodes in wildfly and not in weblogic because it expected for the RequestScope context to be active, but apparently in wildfly when Undertow to start killing of a session the request scope context is not made active so that caused our session destroyed handling to break
> (3) Do this sufficient amount of times to corrupted as may threads in the thread pool as possible
> (4) Now try to interact with your application making use of some session scoped beans .
> If you travel to ay sort of view that makes use of a session scoped bean that thread will be broken with the exception that multiple session scope context implementation are active.
> But this exception will only come out and aply if the thread handling the HTTP request is one of the threads that in the past were used by undertow to handle the session timeout.
> The only threads that have been corrupted forever are those that had a broken sessin timeout
> Explanation for the issue:
> - When the session timeout is being orchestrated by underdow, wildfly is activating a special HttpSessionDescrutionContext and making it active.
> This ACTIVE TRUE/FALSE flag is a ThreadLocal variable.
> So the activation of the scope context is marked on the thread itself.
> - When the thread blows up the thread context will remain for as long at the thread lives
> - in a future request the flag had that thread local variable active already.
> So when the BeanManagaerImpl is hunting to the one and only active http session context it finds the traditional happy path http session context active plust the DestructionSession context that was activated in a previous call.
> All of the illustrative stack traces that facilitate the comprehention of the issue are shown in the stack overflow thread.
> I am of the oppinion that errors like this can happen in the deployed applications.
> It would not hurt if wildfly would somehow be able to ensure that the thread that hand an explosion in a previous request is not corrupted when it is used to handle new requests.
> Many thanks for having a look.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 4 months
[JBoss JIRA] (WFLY-12822) Undertow Deadlock
by Flavia Rainone (Jira)
[ https://issues.jboss.org/browse/WFLY-12822?page=com.atlassian.jira.plugin... ]
Flavia Rainone commented on WFLY-12822:
---------------------------------------
I'm analysing this and I'll update this asap. It might be related to UNDERTOW-1618.
> Undertow Deadlock
> -----------------
>
> Key: WFLY-12822
> URL: https://issues.jboss.org/browse/WFLY-12822
> Project: WildFly
> Issue Type: Bug
> Components: Web (Undertow)
> Reporter: Brian Stansberry
> Assignee: Flavia Rainone
> Priority: Critical
>
> Testsuite hang:
> https://ci.wildfly.org/viewLog.html?buildId=175908&buildTypeId=WF_PullReq...
> {code}
> 2019-11-22 19:51:16
> Full thread dump Java HotSpot(TM) Server VM (25.152-b16 mixed mode):
> "Attach Listener" #223 daemon prio=9 os_prio=0 tid=0xc0af2400 nid=0x40bf waiting on condition [0x00000000]
> java.lang.Thread.State: RUNNABLE
> "ServerService Thread Pool -- 78" #191 prio=5 os_prio=0 tid=0xb8678800 nid=0xb78 waiting on condition [0xbacba000]
> java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0xc714cdf8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
> at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1088)
> at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
> at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
> at org.jboss.threads.JBossThread.run(JBossThread.java:485)
> "pool-13-thread-1" #162 prio=5 os_prio=0 tid=0xbdad1800 nid=0x8a1 waiting on condition [0xbad0b000]
> java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0xe2479960> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
> at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1081)
> at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
> at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
> "ServerService Thread Pool -- 77" #153 prio=5 os_prio=0 tid=0xc4de7400 nid=0x896 waiting on condition [0xbac69000]
> java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0xc714cdf8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
> at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1088)
> at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
> at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
> at org.jboss.threads.JBossThread.run(JBossThread.java:485)
> "default task-2" #142 prio=5 os_prio=0 tid=0xc6848800 nid=0x872 waiting on condition [0xbac18000]
> java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0xc89b31d8> (a org.jboss.threads.EnhancedQueueExecutor)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1409)
> at java.lang.Thread.run(Thread.java:748)
> "default task-1" #141 prio=5 os_prio=0 tid=0xbc8f1400 nid=0x871 waiting for monitor entry [0xbaa25000]
> java.lang.Thread.State: BLOCKED (on object monitor)
> at io.undertow.server.protocol.framed.AbstractFramedChannel.markWritesBroken(AbstractFramedChannel.java:883)
> - waiting to lock <0xe26b4980> (a io.undertow.protocols.http2.Http2Channel)
> at io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.channelForciblyClosed(AbstractFramedStreamSinkChannel.java:562)
> at io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.close(AbstractFramedStreamSinkChannel.java:539)
> at org.xnio.IoUtils.safeClose(IoUtils.java:152)
> at io.undertow.server.protocol.framed.AbstractFramedChannel.queueFrame(AbstractFramedChannel.java:728)
> at io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.queueFinalFrame(AbstractFramedStreamSinkChannel.java:257)
> - locked <0xe26ef4b8> (a java.lang.Object)
> at io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.shutdownWrites(AbstractFramedStreamSinkChannel.java:240)
> - locked <0xe26ef4b8> (a java.lang.Object)
> at io.undertow.protocols.http2.Http2Channel.sendGoAway(Http2Channel.java:822)
> at io.undertow.protocols.http2.Http2Channel.sendGoAway(Http2Channel.java:809)
> at io.undertow.protocols.http2.Http2Channel.removeStreamSink(Http2Channel.java:968)
> at io.undertow.protocols.http2.Http2StreamSinkChannel.channelForciblyClosed(Http2StreamSinkChannel.java:68)
> at io.undertow.protocols.http2.Http2DataStreamSinkChannel.channelForciblyClosed(Http2DataStreamSinkChannel.java:322)
> at io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.close(AbstractFramedStreamSinkChannel.java:539)
> at org.xnio.IoUtils.safeClose(IoUtils.java:152)
> at io.undertow.server.protocol.framed.AbstractFramedChannel.queueFrame(AbstractFramedChannel.java:728)
> at io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.queueFinalFrame(AbstractFramedStreamSinkChannel.java:257)
> - locked <0xe26b71b0> (a java.lang.Object)
> at io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.shutdownWrites(AbstractFramedStreamSinkChannel.java:240)
> - locked <0xe26b71b0> (a java.lang.Object)
> at org.xnio.conduits.StreamSinkChannelWrappingConduit.terminateWrites(StreamSinkChannelWrappingConduit.java:75)
> at org.xnio.conduits.ConduitStreamSinkChannel.shutdownWrites(ConduitStreamSinkChannel.java:178)
> at io.undertow.channels.DetachableStreamSinkChannel.shutdownWrites(DetachableStreamSinkChannel.java:79)
> at io.undertow.io.UndertowOutputStream.close(UndertowOutputStream.java:347)
> at io.undertow.io.UndertowOutputStream.updateWritten(UndertowOutputStream.java:266)
> at io.undertow.io.UndertowOutputStream.write(UndertowOutputStream.java:209)
> at io.undertow.io.UndertowOutputStream.write(UndertowOutputStream.java:105)
> at io.undertow.io.BlockingSenderImpl.send(BlockingSenderImpl.java:131)
> at io.undertow.io.BlockingSenderImpl.send(BlockingSenderImpl.java:166)
> at io.undertow.server.handlers.error.SimpleErrorPageHandler$1.handleDefaultResponse(SimpleErrorPageHandler.java:68)
> at io.undertow.server.HttpServerExchange.endExchange(HttpServerExchange.java:1608)
> at io.undertow.server.Connectors.executeRootHandler(Connectors.java:401)
> at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:830)
> at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
> at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
> at java.lang.Thread.run(Thread.java:748)
> "expiration-thread--p3-t1" #131 daemon prio=1 os_prio=0 tid=0xbd8b2400 nid=0x863 waiting on condition [0xbaead000]
> java.lang.Thread.State: TIMED_WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0xe21794d0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
> at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
> at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
> at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
> at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at org.jboss.as.clustering.context.ContextReferenceExecutor.execute(ContextReferenceExecutor.java:49)
> at org.jboss.as.clustering.context.ContextualExecutor$1.run(ContextualExecutor.java:70)
> at java.lang.Thread.run(Thread.java:748)
> "Reference Reaper #3" #129 daemon prio=5 os_prio=0 tid=0xc1bee400 nid=0x85e in Object.wait() [0xbbead000]
> java.lang.Thread.State: WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
> - locked <0xe24ac228> (a java.lang.ref.ReferenceQueue$Lock)
> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
> at org.wildfly.common.ref.References$ReaperThread.run(References.java:76)
> "Reference Reaper #2" #128 daemon prio=5 os_prio=0 tid=0xc012e400 nid=0x85d in Object.wait() [0xbbefe000]
> java.lang.Thread.State: WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
> - locked <0xe24ac228> (a java.lang.ref.ReferenceQueue$Lock)
> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
> at org.wildfly.common.ref.References$ReaperThread.run(References.java:76)
> "Reference Reaper #1" #127 daemon prio=5 os_prio=0 tid=0xc012d000 nid=0x85c in Object.wait() [0xbc05b000]
> java.lang.Thread.State: WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
> - locked <0xe24ac228> (a java.lang.ref.ReferenceQueue$Lock)
> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
> at org.wildfly.common.ref.References$ReaperThread.run(References.java:76)
> "management task-2" #125 prio=5 os_prio=0 tid=0xbdcde400 nid=0x83e waiting on condition [0xbc0fd000]
> java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0xc8a77ca0> (a org.jboss.threads.EnhancedQueueExecutor)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1409)
> at java.lang.Thread.run(Thread.java:748)
> "management task-1" #124 prio=5 os_prio=0 tid=0xbbf30800 nid=0x83d waiting on condition [0xbc35c000]
> java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0xc8a77ca0> (a org.jboss.threads.EnhancedQueueExecutor)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1409)
> at java.lang.Thread.run(Thread.java:748)
> "pool-8-thread-1" #123 prio=5 os_prio=0 tid=0xbbf2e800 nid=0x83c waiting on condition [0xbc3ad000]
> java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0xc898fc98> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
> at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1081)
> at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
> at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
> "DeploymentScanner-threads - 2" #121 prio=5 os_prio=0 tid=0xc3f5a000 nid=0x83a waiting on condition [0xbcaba000]
> java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0xc8a64f80> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
> at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1088)
> at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
> at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
> at org.jboss.threads.JBossThread.run(JBossThread.java:485)
> "Transaction Reaper Worker 0" #120 daemon prio=5 os_prio=0 tid=0xbff57400 nid=0x839 in Object.wait() [0xbcb0b000]
> java.lang.Thread.State: WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> at java.lang.Object.wait(Object.java:502)
> at com.arjuna.ats.arjuna.coordinator.TransactionReaper.waitForCancellations(TransactionReaper.java:328)
> - locked <0xe2258890> (a java.util.LinkedList)
> at com.arjuna.ats.internal.arjuna.coordinator.ReaperWorkerThread.run(ReaperWorkerThread.java:65)
> "Transaction Reaper" #119 daemon prio=5 os_prio=0 tid=0xbd84a800 nid=0x837 in Object.wait() [0xbcb5c000]
> java.lang.Thread.State: TIMED_WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> at com.arjuna.ats.internal.arjuna.coordinator.ReaperThread.run(ReaperThread.java:90)
> - locked <0xe22586c0> (a com.arjuna.ats.arjuna.coordinator.TransactionReaper)
> "Periodic Recovery" #115 prio=5 os_prio=0 tid=0xbdfe1c00 nid=0x836 in Object.wait() [0xbcbad000]
> java.lang.Thread.State: TIMED_WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.doPeriodicWait(PeriodicRecovery.java:683)
> at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.run(PeriodicRecovery.java:403)
> - locked <0xe227f4b8> (a java.lang.Object)
> "Transaction Expired Entry Monitor" #118 daemon prio=5 os_prio=0 tid=0xbdfe0800 nid=0x835 in Object.wait() [0xbcbfe000]
> java.lang.Thread.State: TIMED_WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> - waiting on <0xe226f588> (a com.arjuna.ats.internal.arjuna.recovery.ExpiredEntryMonitor)
> at com.arjuna.ats.internal.arjuna.recovery.ExpiredEntryMonitor.run(ExpiredEntryMonitor.java:190)
> - locked <0xe226f588> (a com.arjuna.ats.internal.arjuna.recovery.ExpiredEntryMonitor)
> "XNIO-1 Accept" #117 daemon prio=5 os_prio=0 tid=0xc4261400 nid=0x833 runnable [0xbce6c000]
> java.lang.Thread.State: RUNNABLE
> at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
> at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
> at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
> at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
> - locked <0xe21df9e0> (a sun.nio.ch.Util$3)
> - locked <0xe21df9d0> (a java.util.Collections$UnmodifiableSet)
> - locked <0xe21df8d8> (a sun.nio.ch.EPollSelectorImpl)
> at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
> at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:101)
> at org.xnio.nio.WorkerThread.run(WorkerThread.java:532)
> "XNIO-1 I/O-1" #116 daemon prio=5 os_prio=0 tid=0xc4260400 nid=0x832 runnable [0xbcffc000]
> java.lang.Thread.State: RUNNABLE
> at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
> at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
> at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
> at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
> - locked <0xe21df3a0> (a sun.nio.ch.Util$3)
> - locked <0xe21df390> (a java.util.Collections$UnmodifiableSet)
> - locked <0xe21df298> (a sun.nio.ch.EPollSelectorImpl)
> at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
> at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:101)
> at org.xnio.nio.WorkerThread.run(WorkerThread.java:532)
> "Timer-1" #114 prio=5 os_prio=0 tid=0xbe20c400 nid=0x82f in Object.wait() [0xbd67a000]
> java.lang.Thread.State: WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> - waiting on <0xc8d8bf48> (a java.util.TaskQueue)
> at java.lang.Object.wait(Object.java:502)
> at java.util.TimerThread.mainLoop(Timer.java:526)
> - locked <0xc8d8bf48> (a java.util.TaskQueue)
> at java.util.TimerThread.run(Timer.java:505)
> "default Accept" #113 prio=5 os_prio=0 tid=0xbe023400 nid=0x82e runnable [0xbdb5c000]
> java.lang.Thread.State: RUNNABLE
> at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
> at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
> at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
> at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
> - locked <0xc8dabc58> (a sun.nio.ch.Util$3)
> - locked <0xc8dabc48> (a java.util.Collections$UnmodifiableSet)
> - locked <0xc8dabb50> (a sun.nio.ch.EPollSelectorImpl)
> at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
> at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:101)
> at org.xnio.nio.WorkerThread.run(WorkerThread.java:532)
> "default I/O-8" #112 prio=5 os_prio=0 tid=0xbe022000 nid=0x82d runnable [0xbdbad000]
> java.lang.Thread.State: RUNNABLE
> at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
> at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
> at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
> at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
> - locked <0xc8dae2b0> (a sun.nio.ch.Util$3)
> - locked <0xc8dae2a0> (a java.util.Collections$UnmodifiableSet)
> - locked <0xc8dae1a8> (a sun.nio.ch.EPollSelectorImpl)
> at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
> at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:101)
> at org.xnio.nio.WorkerThread.run(WorkerThread.java:532)
> "default I/O-7" #111 prio=5 os_prio=0 tid=0xbe020800 nid=0x82c runnable [0xbdbfe000]
> java.lang.Thread.State: RUNNABLE
> at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
> at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
> at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
> at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
> - locked <0xc8dae8f8> (a sun.nio.ch.Util$3)
> - locked <0xc8dae8e8> (a java.util.Collections$UnmodifiableSet)
> - locked <0xc8dae7f0> (a sun.nio.ch.EPollSelectorImpl)
> at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
> at org.xnio.nio.WorkerThread.run(WorkerThread.java:551)
> "default I/O-6" #110 prio=5 os_prio=0 tid=0xbe01f000 nid=0x82b runnable [0xbdd69000]
> java.lang.Thread.State: RUNNABLE
> at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
> at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
> at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
> at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
> - locked <0xc8db6f50> (a sun.nio.ch.Util$3)
> - locked <0xc8db6f40> (a java.util.Collections$UnmodifiableSet)
> - locked <0xc8db6e48> (a sun.nio.ch.EPollSelectorImpl)
> at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
> at org.xnio.nio.WorkerThread.run(WorkerThread.java:551)
> "default I/O-5" #109 prio=5 os_prio=0 tid=0xbe01c400 nid=0x82a runnable [0xbddba000]
> java.lang.Thread.State: RUNNABLE
> at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
> at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
> at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
> at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
> - locked <0xc8db95a8> (a sun.nio.ch.Util$3)
> - locked <0xc8db9598> (a java.util.Collections$UnmodifiableSet)
> - locked <0xc8db94a0> (a sun.nio.ch.EPollSelectorImpl)
> at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
> at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:101)
> at org.xnio.nio.WorkerThread.run(WorkerThread.java:532)
> "default I/O-4" #108 prio=5 os_prio=0 tid=0xbe01b000 nid=0x829 runnable [0xbde0b000]
> java.lang.Thread.State: RUNNABLE
> at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
> at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
> at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
> at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
> - locked <0xc8db9bf0> (a sun.nio.ch.Util$3)
> - locked <0xc8db9be0> (a java.util.Collections$UnmodifiableSet)
> - locked <0xc8db9ae8> (a sun.nio.ch.EPollSelectorImpl)
> at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
> at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:101)
> at org.xnio.nio.WorkerThread.run(WorkerThread.java:532)
> "default I/O-3" #107 prio=5 os_prio=0 tid=0xbea2b800 nid=0x828 runnable [0xbde5c000]
> java.lang.Thread.State: RUNNABLE
> at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
> at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
> at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
> at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
> - locked <0xc8dba238> (a sun.nio.ch.Util$3)
> - locked <0xc8dba228> (a java.util.Collections$UnmodifiableSet)
> - locked <0xc8dba130> (a sun.nio.ch.EPollSelectorImpl)
> at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
> at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:101)
> at org.xnio.nio.WorkerThread.run(WorkerThread.java:532)
> "default I/O-2" #106 prio=5 os_prio=0 tid=0xbe019800 nid=0x827 runnable [0xbdead000]
> java.lang.Thread.State: RUNNABLE
> at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
> at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
> at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
> at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
> - locked <0xc8dba880> (a sun.nio.ch.Util$3)
> - locked <0xc8dba870> (a java.util.Collections$UnmodifiableSet)
> - locked <0xc8dba778> (a sun.nio.ch.EPollSelectorImpl)
> at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
> at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:101)
> at org.xnio.nio.WorkerThread.run(WorkerThread.java:532)
> "default I/O-1" #105 prio=5 os_prio=0 tid=0xbea25400 nid=0x826 waiting for monitor entry [0xbdefe000]
> java.lang.Thread.State: BLOCKED (on object monitor)
> at io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.close(AbstractFramedStreamSinkChannel.java:525)
> - waiting to lock <0xe26b71b0> (a java.lang.Object)
> at org.xnio.IoUtils.safeClose(IoUtils.java:152)
> at io.undertow.protocols.http2.Http2Channel.closeSubChannels(Http2Channel.java:645)
> at io.undertow.server.protocol.framed.AbstractFramedChannel.close(AbstractFramedChannel.java:824)
> at org.xnio.IoUtils.safeClose(IoUtils.java:152)
> at io.undertow.protocols.http2.Http2Channel.lastDataRead(Http2Channel.java:593)
> at io.undertow.server.protocol.framed.AbstractFramedChannel.receive(AbstractFramedChannel.java:391)
> - locked <0xe26b4980> (a io.undertow.protocols.http2.Http2Channel)
> at io.undertow.server.protocol.http2.Http2ReceiveListener.handleEvent(Http2ReceiveListener.java:118)
> at io.undertow.server.protocol.http2.Http2ReceiveListener.handleEvent(Http2ReceiveListener.java:67)
> at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
> at io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.handleEvent(AbstractFramedChannel.java:950)
> at io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.handleEvent(AbstractFramedChannel.java:931)
> at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
> at org.xnio.conduits.ReadReadyHandler$ChannelListenerHandler.readReady(ReadReadyHandler.java:66)
> at org.xnio.nio.NioSocketConduit.handleReady(NioSocketConduit.java:89)
> at org.xnio.nio.WorkerThread.run(WorkerThread.java:591)
> "IdleRemover" #104 daemon prio=5 os_prio=0 tid=0xc0286c00 nid=0x825 waiting on condition [0xbe39d000]
> java.lang.Thread.State: TIMED_WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0xc8dc9790> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
> at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2163)
> at org.jboss.jca.core.connectionmanager.pool.idle.IdleRemover$IdleRemoverRunner.run(IdleRemover.java:261)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
> "ConnectionValidator" #103 daemon prio=5 os_prio=0 tid=0xbf9f8800 nid=0x824 waiting on condition [0xbe3ee000]
> java.lang.Thread.State: TIMED_WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0xc8dc9d78> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
> at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2163)
> at org.jboss.jca.core.connectionmanager.pool.validator.ConnectionValidator$ConnectionValidatorRunner.run(ConnectionValidator.java:263)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
> "Timer-0" #102 prio=5 os_prio=0 tid=0xc01a0400 nid=0x823 in Object.wait() [0xbe53f000]
> java.lang.Thread.State: WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> - waiting on <0xc8a73050> (a java.util.TaskQueue)
> at java.lang.Object.wait(Object.java:502)
> at java.util.TimerThread.mainLoop(Timer.java:526)
> - locked <0xc8a73050> (a java.util.TaskQueue)
> at java.util.TimerThread.run(Timer.java:505)
> "management Accept" #92 prio=5 os_prio=0 tid=0xc2b20800 nid=0x820 runnable [0xbe632000]
> java.lang.Thread.State: RUNNABLE
> at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
> at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
> at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
> at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
> - locked <0xc8a7f0b0> (a sun.nio.ch.Util$3)
> - locked <0xc8a7f0a0> (a java.util.Collections$UnmodifiableSet)
> - locked <0xc8a7efa8> (a sun.nio.ch.EPollSelectorImpl)
> at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
> at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:101)
> at org.xnio.nio.WorkerThread.run(WorkerThread.java:532)
> "management I/O-2" #90 prio=5 os_prio=0 tid=0xc2b1f000 nid=0x81f runnable [0xbe683000]
> java.lang.Thread.State: RUNNABLE
> at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
> at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
> at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
> at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
> - locked <0xc8a7c400> (a sun.nio.ch.Util$3)
> - locked <0xc8a7c3f0> (a java.util.Collections$UnmodifiableSet)
> - locked <0xc8a7c2f8> (a sun.nio.ch.EPollSelectorImpl)
> at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
> at org.xnio.nio.WorkerThread.run(WorkerThread.java:551)
> "management I/O-1" #80 prio=5 os_prio=0 tid=0xc2b1bc00 nid=0x81e runnable [0xbe6d4000]
> java.lang.Thread.State: RUNNABLE
> at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
> at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
> at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
> at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
> - locked <0xc8a7ea60> (a sun.nio.ch.Util$3)
> - locked <0xc8a7ea50> (a java.util.Collections$UnmodifiableSet)
> - locked <0xc8a7e958> (a sun.nio.ch.EPollSelectorImpl)
> at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
> at org.xnio.nio.WorkerThread.run(WorkerThread.java:551)
> "ServerService Thread Pool -- 40" #63 prio=5 os_prio=0 tid=0xc0395000 nid=0x7fb waiting on condition [0xbf4c7000]
> java.lang.Thread.State: TIMED_WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0xc714cdf8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
> at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
> at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
> at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
> at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
> at org.jboss.threads.JBossThread.run(JBossThread.java:485)
> "DeploymentScanner-threads - 1" #61 prio=5 os_prio=0 tid=0xbfb52400 nid=0x7f5 waiting on condition [0xbf569000]
> java.lang.Thread.State: TIMED_WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0xc8a64f80> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
> at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
> at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
> at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
> at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
> at org.jboss.threads.JBossThread.run(JBossThread.java:485)
> "ServerService Thread Pool -- 9" #31 prio=5 os_prio=0 tid=0x0878e000 nid=0x7d3 waiting on condition [0xc18fd000]
> java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0xc8a3a0d8> (a org.jboss.threads.EnhancedQueueExecutor)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1409)
> at java.lang.Thread.run(Thread.java:748)
> at org.jboss.threads.JBossThread.run(JBossThread.java:485)
> "ServerService Thread Pool -- 1" #23 prio=5 os_prio=0 tid=0xc2e37400 nid=0x7ca waiting on condition [0xc2aad000]
> java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0xc714cdf8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
> at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1088)
> at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
> at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
> at org.jboss.threads.JBossThread.run(JBossThread.java:485)
> "DestroyJavaVM" #22 prio=5 os_prio=0 tid=0xf6508800 nid=0x7af waiting on condition [0x00000000]
> java.lang.Thread.State: RUNNABLE
> "MSC service thread 1-8" #20 prio=5 os_prio=0 tid=0xc2103800 nid=0x7c8 waiting on condition [0xc2afe000]
> java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0xc8dca228> (a org.jboss.threads.EnhancedQueueExecutor)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1409)
> at java.lang.Thread.run(Thread.java:748)
> "MSC service thread 1-7" #19 prio=5 os_prio=0 tid=0xc2102000 nid=0x7c7 waiting on condition [0xc2c5c000]
> java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0xc8dca228> (a org.jboss.threads.EnhancedQueueExecutor)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1409)
> at java.lang.Thread.run(Thread.java:748)
> "MSC service thread 1-6" #18 prio=5 os_prio=0 tid=0xc2101000 nid=0x7c6 waiting on condition [0xc2cad000]
> java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0xc8dca228> (a org.jboss.threads.EnhancedQueueExecutor)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1409)
> at java.lang.Thread.run(Thread.java:748)
> "MSC service thread 1-5" #17 prio=5 os_prio=0 tid=0xc4d3ec00 nid=0x7c5 waiting on condition [0xc29af000]
> java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0xc8dca228> (a org.jboss.threads.EnhancedQueueExecutor)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1409)
> at java.lang.Thread.run(Thread.java:748)
> "MSC service thread 1-4" #16 prio=5 os_prio=0 tid=0xc4d3d400 nid=0x7c4 waiting on condition [0xc2a00000]
> java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0xc8dca228> (a org.jboss.threads.EnhancedQueueExecutor)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1409)
> at java.lang.Thread.run(Thread.java:748)
> "MSC service thread 1-3" #15 prio=5 os_prio=0 tid=0xc4d2e000 nid=0x7c3 waiting on condition [0xc2a51000]
> java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0xc8dca228> (a org.jboss.threads.EnhancedQueueExecutor)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1409)
> at java.lang.Thread.run(Thread.java:748)
> "MSC service thread 1-2" #14 prio=5 os_prio=0 tid=0xc2d48800 nid=0x7c2 waiting on condition [0xc2cfe000]
> java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0xc8dca228> (a org.jboss.threads.EnhancedQueueExecutor)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1409)
> at java.lang.Thread.run(Thread.java:748)
> "MSC service thread 1-1" #13 prio=5 os_prio=0 tid=0xc2d46800 nid=0x7c1 waiting on condition [0xc3d7f000]
> java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0xc8dca228> (a org.jboss.threads.EnhancedQueueExecutor)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1409)
> at java.lang.Thread.run(Thread.java:748)
> "Reference Reaper" #9 daemon prio=5 os_prio=0 tid=0xc465b800 nid=0x7bd in Object.wait() [0xc45fe000]
> java.lang.Thread.State: WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> - waiting on <0xc7d105d8> (a java.lang.ref.ReferenceQueue$Lock)
> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
> - locked <0xc7d105d8> (a java.lang.ref.ReferenceQueue$Lock)
> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
> at org.jboss.modules.ref.References$ReaperThread.run(References.java:64)
> "Service Thread" #8 daemon prio=9 os_prio=0 tid=0xc4eab400 nid=0x7bb runnable [0x00000000]
> java.lang.Thread.State: RUNNABLE
> "C1 CompilerThread2" #7 daemon prio=9 os_prio=0 tid=0xc4ea8000 nid=0x7ba waiting on condition [0x00000000]
> java.lang.Thread.State: RUNNABLE
> "C2 CompilerThread1" #6 daemon prio=9 os_prio=0 tid=0xc4ea6800 nid=0x7b9 waiting on condition [0x00000000]
> java.lang.Thread.State: RUNNABLE
> "C2 CompilerThread0" #5 daemon prio=9 os_prio=0 tid=0xc4ea4c00 nid=0x7b8 waiting on condition [0x00000000]
> java.lang.Thread.State: RUNNABLE
> "Signal Dispatcher" #4 daemon prio=9 os_prio=0 tid=0xc4ea3000 nid=0x7b7 runnable [0x00000000]
> java.lang.Thread.State: RUNNABLE
> "Finalizer" #3 daemon prio=8 os_prio=0 tid=0xc4e89000 nid=0x7b6 in Object.wait() [0xc697d000]
> java.lang.Thread.State: WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
> - locked <0xc7360118> (a java.lang.ref.ReferenceQueue$Lock)
> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
> at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209)
> "Reference Handler" #2 daemon prio=10 os_prio=0 tid=0xc4e86000 nid=0x7b5 in Object.wait() [0xc6c7d000]
> java.lang.Thread.State: WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> at java.lang.Object.wait(Object.java:502)
> at java.lang.ref.Reference.tryHandlePending(Reference.java:191)
> - locked <0xc704c810> (a java.lang.ref.Reference$Lock)
> at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:153)
> "VM Thread" os_prio=0 tid=0xc4e81800 nid=0x7b4 runnable
> "GC task thread#0 (ParallelGC)" os_prio=0 tid=0xf6512000 nid=0x7b0 runnable
> "GC task thread#1 (ParallelGC)" os_prio=0 tid=0xf6513400 nid=0x7b1 runnable
> "GC task thread#2 (ParallelGC)" os_prio=0 tid=0xf6514800 nid=0x7b2 runnable
> "GC task thread#3 (ParallelGC)" os_prio=0 tid=0xf6515c00 nid=0x7b3 runnable
> "VM Periodic Task Thread" os_prio=0 tid=0xc4eaf400 nid=0x7bc waiting on condition
> JNI global references: 1879
> Found one Java-level deadlock:
> =============================
> "default task-1":
> waiting to lock monitor 0xc3cba830 (object 0xe26b4980, a io.undertow.protocols.http2.Http2Channel),
> which is held by "default I/O-1"
> "default I/O-1":
> waiting to lock monitor 0xc3cba89c (object 0xe26b71b0, a java.lang.Object),
> which is held by "default task-1"
> Java stack information for the threads listed above:
> ===================================================
> "default task-1":
> at io.undertow.server.protocol.framed.AbstractFramedChannel.markWritesBroken(AbstractFramedChannel.java:883)
> - waiting to lock <0xe26b4980> (a io.undertow.protocols.http2.Http2Channel)
> at io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.channelForciblyClosed(AbstractFramedStreamSinkChannel.java:562)
> at io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.close(AbstractFramedStreamSinkChannel.java:539)
> at org.xnio.IoUtils.safeClose(IoUtils.java:152)
> at io.undertow.server.protocol.framed.AbstractFramedChannel.queueFrame(AbstractFramedChannel.java:728)
> at io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.queueFinalFrame(AbstractFramedStreamSinkChannel.java:257)
> - locked <0xe26ef4b8> (a java.lang.Object)
> at io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.shutdownWrites(AbstractFramedStreamSinkChannel.java:240)
> - locked <0xe26ef4b8> (a java.lang.Object)
> at io.undertow.protocols.http2.Http2Channel.sendGoAway(Http2Channel.java:822)
> at io.undertow.protocols.http2.Http2Channel.sendGoAway(Http2Channel.java:809)
> at io.undertow.protocols.http2.Http2Channel.removeStreamSink(Http2Channel.java:968)
> at io.undertow.protocols.http2.Http2StreamSinkChannel.channelForciblyClosed(Http2StreamSinkChannel.java:68)
> at io.undertow.protocols.http2.Http2DataStreamSinkChannel.channelForciblyClosed(Http2DataStreamSinkChannel.java:322)
> at io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.close(AbstractFramedStreamSinkChannel.java:539)
> at org.xnio.IoUtils.safeClose(IoUtils.java:152)
> at io.undertow.server.protocol.framed.AbstractFramedChannel.queueFrame(AbstractFramedChannel.java:728)
> at io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.queueFinalFrame(AbstractFramedStreamSinkChannel.java:257)
> - locked <0xe26b71b0> (a java.lang.Object)
> at io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.shutdownWrites(AbstractFramedStreamSinkChannel.java:240)
> - locked <0xe26b71b0> (a java.lang.Object)
> at org.xnio.conduits.StreamSinkChannelWrappingConduit.terminateWrites(StreamSinkChannelWrappingConduit.java:75)
> at org.xnio.conduits.ConduitStreamSinkChannel.shutdownWrites(ConduitStreamSinkChannel.java:178)
> at io.undertow.channels.DetachableStreamSinkChannel.shutdownWrites(DetachableStreamSinkChannel.java:79)
> at io.undertow.io.UndertowOutputStream.close(UndertowOutputStream.java:347)
> at io.undertow.io.UndertowOutputStream.updateWritten(UndertowOutputStream.java:266)
> at io.undertow.io.UndertowOutputStream.write(UndertowOutputStream.java:209)
> at io.undertow.io.UndertowOutputStream.write(UndertowOutputStream.java:105)
> at io.undertow.io.BlockingSenderImpl.send(BlockingSenderImpl.java:131)
> at io.undertow.io.BlockingSenderImpl.send(BlockingSenderImpl.java:166)
> at io.undertow.server.handlers.error.SimpleErrorPageHandler$1.handleDefaultResponse(SimpleErrorPageHandler.java:68)
> at io.undertow.server.HttpServerExchange.endExchange(HttpServerExchange.java:1608)
> at io.undertow.server.Connectors.executeRootHandler(Connectors.java:401)
> at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:830)
> at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
> at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
> at java.lang.Thread.run(Thread.java:748)
> "default I/O-1":
> at io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.close(AbstractFramedStreamSinkChannel.java:525)
> - waiting to lock <0xe26b71b0> (a java.lang.Object)
> at org.xnio.IoUtils.safeClose(IoUtils.java:152)
> at io.undertow.protocols.http2.Http2Channel.closeSubChannels(Http2Channel.java:645)
> at io.undertow.server.protocol.framed.AbstractFramedChannel.close(AbstractFramedChannel.java:824)
> at org.xnio.IoUtils.safeClose(IoUtils.java:152)
> at io.undertow.protocols.http2.Http2Channel.lastDataRead(Http2Channel.java:593)
> at io.undertow.server.protocol.framed.AbstractFramedChannel.receive(AbstractFramedChannel.java:391)
> - locked <0xe26b4980> (a io.undertow.protocols.http2.Http2Channel)
> at io.undertow.server.protocol.http2.Http2ReceiveListener.handleEvent(Http2ReceiveListener.java:118)
> at io.undertow.server.protocol.http2.Http2ReceiveListener.handleEvent(Http2ReceiveListener.java:67)
> at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
> at io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.handleEvent(AbstractFramedChannel.java:950)
> at io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.handleEvent(AbstractFramedChannel.java:931)
> at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
> at org.xnio.conduits.ReadReadyHandler$ChannelListenerHandler.readReady(ReadReadyHandler.java:66)
> at org.xnio.nio.NioSocketConduit.handleReady(NioSocketConduit.java:89)
> at org.xnio.nio.WorkerThread.run(WorkerThread.java:591)
> Found 1 deadlock.
> {code}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 4 months
[JBoss JIRA] (DROOLS-4818) Please Update the Spring-boot dependency
by Petar Tahchiev (Jira)
Petar Tahchiev created DROOLS-4818:
--------------------------------------
Summary: Please Update the Spring-boot dependency
Key: DROOLS-4818
URL: https://issues.jboss.org/browse/DROOLS-4818
Project: Drools
Issue Type: Component Upgrade
Reporter: Petar Tahchiev
Assignee: Mario Fusco
Hello,
you are using a 1 year old release of spring-boot:
https://github.com/kiegroup/droolsjbpm-integration/blob/master/kie-spring...
and I see you've made a release 10 days ago. Why are you not updating your dependencies? I'm using spring-boot 2.2.0 which uses tomcat9 and servlet4 and now I can't use it because you bring the old spring-boot with the old tomcat and the old servlet3 and I get this:
{code}
2019-11-27 21:32:53,944 org.apache.catalina.core.ContainerBase.[Tomcat].[localhost] [http-nio-8111-exec-7] ERROR: Exception Processing ErrorPage[errorCode=0, location=/error]
java.lang.NoSuchMethodError: javax.servlet.http.HttpServletRequest.getHttpServletMapping()Ljavax/servlet/http/HttpServletMapping;
at org.apache.catalina.core.ApplicationHttpRequest.setRequest(ApplicationHttpRequest.java:708)
at org.apache.catalina.core.ApplicationHttpRequest.<init>(ApplicationHttpRequest.java:114)
at org.apache.catalina.core.ApplicationDispatcher.wrapRequest(ApplicationDispatcher.java:917)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:358)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312)
at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:394)
at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:253)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:175)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:747)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:861)
{code}
--
This message was sent by Atlassian Jira
(v7.13.8#713008)
4 years, 5 months