[
https://issues.apache.org/jira/browse/UIMA-3788?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jerry Cwiklik closed UIMA-3788.
-------------------------------
Resolution: Fixed
Synchronized code in cancelTimerForCasOrPurge(). I have not been able to
reproduce the problem but it is likely that it was caused by the code that
method. The code first calls cancelTimer() followed by
restartTimerForOldestCasInOutstandingList(). Modified to execute both steps in
synchronized block.
> Fix UIMA-AS java.lang.IllegalStateException: Timer already cancelled.
> ---------------------------------------------------------------------
>
> Key: UIMA-3788
> URL: https://issues.apache.org/jira/browse/UIMA-3788
> Project: UIMA
> Issue Type: Bug
> Components: Async Scaleout
> Affects Versions: 2.4.2AS
> Reporter: Jerry Cwiklik
> Assignee: Jerry Cwiklik
> Fix For: 2.5.0AS
>
>
> Looks like another race condition. The "java.lang.IllegalStateException:
> Timer already cancelled" usually occurs when one thread cancels a Timer,
> while another tries to start it. Supporting stack trace:
> 26 Apr 2014 12:37:27,859 INFO JD.WorkItemStateKeeper - record N/A
> seqNo:1120214 start
> 26 Apr 2014 12:37:27,862 INFO JD.WorkItemStateKeeper - record N/A
> seqNo:1120214 queued
> 26 Apr 2014 12:37:27,864 INFO JD.WorkItemStateKeeper - record N/A
> seqNo:1120214 operating
> 26 Apr 2014 12:37:27,866 INFO JD.WorkItemStateKeeper - record N/A
> seqNo:1120214 operating
> 26 Apr 2014 12:37:27,900 INFO JD.WorkItemStateKeeper - record N/A
> seqNo:1120212 ended
> Apr 26, 2014 12:37:27 PM
> org.apache.uima.adapter.jms.client.BaseUIMAAsynchronousEngineCommon_impl$2
> onMessage
> WARNING:
> java.lang.IllegalStateException: Timer already cancelled.
> at java.util.Timer.sched(Timer.java:408)
> at java.util.Timer.schedule(Timer.java:219)
> at
> org.apache.uima.aae.delegate.Delegate.startDelegateTimer(Delegate.java:726)
> at
> org.apache.uima.aae.delegate.Delegate.removeCasFromOutstandingList(Delegate.java:598)
> at
> org.apache.uima.aae.delegate.Delegate.removeCasFromOutstandingList(Delegate.java:513)
> at
> org.apache.uima.adapter.jms.client.BaseUIMAAsynchronousEngineCommon_impl.handleProcessReply(BaseUIMAAsynchronousEngi
> neCommon_impl.java:1434)
> at
> org.apache.uima.adapter.jms.client.BaseUIMAAsynchronousEngineCommon_impl$2.run(BaseUIMAAsynchronousEngineCommon_impl
> .java:2031)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1156)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:626)
> at java.lang.Thread.run(Thread.java:780)
--
This message was sent by Atlassian JIRA
(v6.2#6252)