You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Howard M. Lewis Ship (JIRA)" <ji...@apache.org> on 2014/10/24 23:01:34 UTC
[jira] [Closed] (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:all-tabpanel ]
Howard M. Lewis Ship closed TAP5-2406.
--------------------------------------
Resolution: Fixed
Fix Version/s: 5.4
Assignee: Howard M. Lewis Ship
It's very, very hard to definitely state that a deadlock bug is fixed, but I'm still highly confident that sharing the lock will get the job done.
> 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
> Assignee: Howard M. Lewis Ship
> Priority: Blocker
> Fix For: 5.4
>
>
> {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)