[ https://issues.apache.org/jira/browse/WW-5289?focusedWorklogId=852999&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-852999 ]
ASF GitHub Bot logged work on WW-5289: -------------------------------------- Author: ASF GitHub Bot Created on: 26/Mar/23 12:11 Start Date: 26/Mar/23 12:11 Worklog Time Spent: 10m Work Description: lukaszlenart opened a new pull request, #673: URL: https://github.com/apache/struts/pull/673 Closes [WW-5289](https://issues.apache.org/jira/browse/WW-5289) Issue Time Tracking ------------------- Worklog Id: (was: 852999) Remaining Estimate: 0h Time Spent: 10m > Execute and Wait Interceptor prevents JVM shutdown > -------------------------------------------------- > > Key: WW-5289 > URL: https://issues.apache.org/jira/browse/WW-5289 > Project: Struts 2 > Issue Type: Bug > Components: Core Interceptors > Affects Versions: 6.1.1 > Reporter: KON-SUN-TACK > Priority: Major > Fix For: 6.2.0 > > Time Spent: 10m > Remaining Estimate: 0h > > Hi Struts 2 team, > We are using the Execute and Wait Interceptor as following: > {quote} <action name="longRunLaunch" > class="my.sample.longrun.action.LongRunAction" > method="longRunLaunch"> > <interceptor-ref name="myStack"/> > <interceptor-ref name="execAndWait"> > <param name="delay">500</param> > <param name="delaySleepInterval">500</param> > </interceptor-ref> > <result name="wait">/my/sample/wait.jsp</result> > <result name="success">/my/sample/success.jsp</result> > </action>{quote} > - with Struts 6.0.3, it works fine > - with Struts 6.1.1, it works fine... but JVM shutdown is hanging > We are running: Apache Tomcat (TomEE)/9.0.41 (8.0.6) > I tried to compare thread dumps and only found this extra one with Struts > 6.1.1: > {quote}"pool-5-thread-1" #129 prio=5 os_prio=0 cpu=0.00ms elapsed=21.47s > tid=0x000001b39a917800 nid=0x3cb0 waiting on condition [0x00000068c4fff000] > java.lang.Thread.State: WAITING (parking) > at jdk.internal.misc.Unsafe.park(java.base@11.0.10/Native Method) > - parking to wait for <0x00000000e4ca75b0> (a > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) > at > java.util.concurrent.locks.LockSupport.park(java.base@11.0.10/LockSupport.java:194) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base@11.0.10/AbstractQueuedSynchronizer.java:2081) > at > java.util.concurrent.LinkedBlockingQueue.take(java.base@11.0.10/LinkedBlockingQueue.java:433) > at > java.util.concurrent.ThreadPoolExecutor.getTask(java.base@11.0.10/ThreadPoolExecutor.java:1054) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@11.0.10/ThreadPoolExecutor.java:1114) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@11.0.10/ThreadPoolExecutor.java:628) > at java.lang.Thread.run(java.base@11.0.10/Thread.java:834) > Locked ownable synchronizers: > - None{quote} > Regards, > Jean. -- This message was sent by Atlassian Jira (v8.20.10#820010)