You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2014/10/24 23:00:36 UTC
[jira] [Commented] (TAP5-2406) PeriodicExecutor service can rarely
reach a deadlock when trying to run a job and modify the list of jobs
[ 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)