[ 
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)

Reply via email to