[ https://issues.apache.org/jira/browse/TAP5-2406?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14183476#comment-14183476 ]
ASF subversion and git services commented on TAP5-2406: ------------------------------------------------------- Commit 3257161990f639eabb60ce8729e3c1244823609a in tapestry-5's branch refs/heads/master from [~hlship] [ https://git-wip-us.apache.org/repos/asf?p=tapestry-5.git;h=3257161 ] TAP5-2406: Use a single ReentrantLock for the PeriodicExecutor and its jobs > PeriodicExecutor service can rarely reach a deadlock when trying to run a job > and modify the list of jobs > --------------------------------------------------------------------------------------------------------- > > Key: TAP5-2406 > URL: https://issues.apache.org/jira/browse/TAP5-2406 > Project: Tapestry 5 > Issue Type: Bug > Components: tapestry-ioc > Affects Versions: 5.3.7, 5.4 > Reporter: Jun Tsai > Priority: Blocker > > {quote} > "Tapestry PeriodicExecutor": > at > org.apache.tapestry5.ioc.internal.services.cron.PeriodicExecutorImpl$Job.isExecuting(PeriodicExecutorImpl.java:84) > - waiting to lock <0x00000006c2ad83e8> (a > org.apache.tapestry5.ioc.internal.services.cron.PeriodicExecutorImpl$Job) > at > org.apache.tapestry5.ioc.internal.services.cron.PeriodicExecutorImpl.executeCurrentBatch(PeriodicExecutorImpl.java:299) > - locked <0x00000006bffbb7a8> (a > org.apache.tapestry5.ioc.internal.services.cron.PeriodicExecutorImpl) > at > org.apache.tapestry5.ioc.internal.services.cron.PeriodicExecutorImpl.run(PeriodicExecutorImpl.java:249) > at java.lang.Thread.run(Thread.java:744) > {quote} > {quote} > "monad-background-6": > at > org.apache.tapestry5.ioc.internal.services.cron.PeriodicExecutorImpl.removeJob(PeriodicExecutorImpl.java:211) > - waiting to lock <0x00000006bffbb7a8> (a > org.apache.tapestry5.ioc.internal.services.cron.PeriodicExecutorImpl) > at > org.apache.tapestry5.ioc.internal.services.cron.PeriodicExecutorImpl$Job.cleanupAfterExecution(PeriodicExecutorImpl.java:161) > - locked <0x00000006c2ad83e8> (a > org.apache.tapestry5.ioc.internal.services.cron.PeriodicExecutorImpl$Job) > at > org.apache.tapestry5.ioc.internal.services.cron.PeriodicExecutorImpl$Job.invoke(PeriodicExecutorImpl.java:181) > at > org.apache.tapestry5.ioc.internal.services.cron.PeriodicExecutorImpl$Job.invoke(PeriodicExecutorImpl.java:48) > at > org.apache.tapestry5.ioc.internal.services.ParallelExecutorImpl$1.call(ParallelExecutorImpl.java:58) > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > at egfit.f.p$a$b.run(ThreadPoolModule.scala:85) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:744) > Found 1 deadlock. > {quote} > --------------------------------------------------------------------------------------------- > {color:red} > Found one Java-level deadlock: > ============================= > "Tapestry PeriodicExecutor": > waiting to lock monitor 0x00007f641cef7298 (object 0x00000006c2ad83e8, a > org.apache.tapestry5.ioc.internal.services.cron.PeriodicExecutorImpl$Job), > which is held by "monad-background-6" > "monad-background-6": > waiting to lock monitor 0x00007f641c761868 (object 0x00000006bffbb7a8, a > org.apache.tapestry5.ioc.internal.services.cron.PeriodicExecutorImpl), > which is held by "Tapestry PeriodicExecutor" > {color} -- This message was sent by Atlassian JIRA (v6.3.4#6332)