[jboss-jira] [JBoss JIRA] (WFLY-12390) Hot-Deploy throws IllegalStateException: Timer already cancelled

David Schmidt (Jira) issues at jboss.org
Thu Oct 24 11:59:00 EDT 2019


    [ https://issues.jboss.org/browse/WFLY-12390?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13804120#comment-13804120 ] 

David Schmidt edited comment on WFLY-12390 at 10/24/19 11:58 AM:
-----------------------------------------------------------------

This is hard to reproduce. It doesn't happen for days or weeks. Today it happened twice. I tried cleaning up timers on undeploy, this just moves the lines, because it doesn't find timers to restore:

{code}
2019-10-24 17:35:29,154 DEBUG  [org.jboss.as.ejb3.timer] Scheduling a single action timer [id=9f1a075e-948d-497e-8997-1ff988f17808 timedObjectId=codo-intern.codo-intern.CronJobs auto-timer?:true persiste
nt?:true timerService=org.jboss.as.ejb3.timerservice.TimerServiceImpl at 225d10b3 initialExpiration=null intervalDuration(in milli sec)=0 nextExpiration=Fri Oct 25 02:00:00 CEST 2019 timerState=ACTIVE info=
null] starting at 30,270,846 milliseconds from now
2019-10-24 17:35:29,154 ERROR  [org.jboss.msc.service.fail] MSC000001: Failed to start service jboss.deployment.unit."xxxxx.war".component.CronJobs.START: org.jboss.msc.service.StartException in service jboss.deployment.unit."xxxx.war".component.CronJobs.START: java.lang.IllegalStateException: Timer already cancelled.
        at org.jboss.as.ee.component.ComponentStartService$1.run(ComponentStartService.java:57)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
        at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)
        at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
        at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
        at java.lang.Thread.run(Thread.java:748)
        at org.jboss.threads.JBossThread.run(JBossThread.java:485)
Caused by: java.lang.IllegalStateException: Timer already cancelled.
        at java.util.Timer.sched(Timer.java:397)
        at java.util.Timer.schedule(Timer.java:193)
        at org.jboss.as.ejb3.timerservice.TimerServiceImpl.scheduleTimeout(TimerServiceImpl.java:906)
        at org.jboss.as.ejb3.timerservice.TimerImpl.scheduleTimeout(TimerImpl.java:537)
        at org.jboss.as.ejb3.timerservice.TimerServiceImpl.startTimer(TimerServiceImpl.java:785)
        at org.jboss.as.ejb3.timerservice.TimerServiceImpl.createCalendarTimer(TimerServiceImpl.java:540)
        at org.jboss.as.ejb3.timerservice.TimerServiceImpl.loadAutoTimer(TimerServiceImpl.java:388)
        at org.jboss.as.ejb3.timerservice.TimerServiceImpl.restoreTimers(TimerServiceImpl.java:766)
        at org.jboss.as.ejb3.timerservice.TimerServiceImpl.activate(TimerServiceImpl.java:223)
        at org.jboss.as.ejb3.component.EJBComponent.init(EJBComponent.java:595)
        at org.jboss.as.ee.component.BasicComponent.start(BasicComponent.java:222)
        at org.jboss.as.ejb3.component.singleton.SingletonComponent.start(SingletonComponent.java:136)
        at org.jboss.as.ee.component.ComponentStartService$1.run(ComponentStartService.java:54)
        ... 8 more

{code}

Being able to "fix" this by restarting wildfly doesn't help.


was (Author: r0osl):
This is hard to reproduce. It doesn't happen for days or weeks. Today it happened twice. I tried cleaning up timers on undeploy, this just moves the lines, because it doesn't find timers to restore:

{code}
2019-10-24 17:35:29,154 DEBUG  [org.jboss.as.ejb3.timer] Scheduling a single action timer [id=9f1a075e-948d-497e-8997-1ff988f17808 timedObjectId=codo-intern.codo-intern.CronJobs auto-timer?:true persiste
nt?:true timerService=org.jboss.as.ejb3.timerservice.TimerServiceImpl at 225d10b3 initialExpiration=null intervalDuration(in milli sec)=0 nextExpiration=Fri Oct 25 02:00:00 CEST 2019 timerState=ACTIVE info=
null] starting at 30,270,846 milliseconds from now
2019-10-24 17:35:29,154 ERROR  [org.jboss.msc.service.fail] MSC000001: Failed to start service jboss.deployment.unit."xxxxx.war".component.CronJobs.START: org.jboss.msc.service.StartException in service jboss.deployment.unit."xxxx.war".component.CronJobs.START: java.lang.IllegalStateException: Timer already cancelled.
        at org.jboss.as.ee.component.ComponentStartService$1.run(ComponentStartService.java:57)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
        at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)
        at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
        at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
        at java.lang.Thread.run(Thread.java:748)
        at org.jboss.threads.JBossThread.run(JBossThread.java:485)
Caused by: java.lang.IllegalStateException: Timer already cancelled.
        at java.util.Timer.sched(Timer.java:397)
        at java.util.Timer.schedule(Timer.java:193)
        at org.jboss.as.ejb3.timerservice.TimerServiceImpl.scheduleTimeout(TimerServiceImpl.java:906)
        at org.jboss.as.ejb3.timerservice.TimerImpl.scheduleTimeout(TimerImpl.java:537)
        at org.jboss.as.ejb3.timerservice.TimerServiceImpl.startTimer(TimerServiceImpl.java:785)
        at org.jboss.as.ejb3.timerservice.TimerServiceImpl.createCalendarTimer(TimerServiceImpl.java:540)
        at org.jboss.as.ejb3.timerservice.TimerServiceImpl.loadAutoTimer(TimerServiceImpl.java:388)
        at org.jboss.as.ejb3.timerservice.TimerServiceImpl.restoreTimers(TimerServiceImpl.java:766)
        at org.jboss.as.ejb3.timerservice.TimerServiceImpl.activate(TimerServiceImpl.java:223)
        at org.jboss.as.ejb3.component.EJBComponent.init(EJBComponent.java:595)
        at org.jboss.as.ee.component.BasicComponent.start(BasicComponent.java:222)
        at org.jboss.as.ejb3.component.singleton.SingletonComponent.start(SingletonComponent.java:136)
        at org.jboss.as.ee.component.ComponentStartService$1.run(ComponentStartService.java:54)
        ... 8 more

{code}


> Hot-Deploy throws IllegalStateException: Timer already cancelled
> ----------------------------------------------------------------
>
>                 Key: WFLY-12390
>                 URL: https://issues.jboss.org/browse/WFLY-12390
>             Project: WildFly
>          Issue Type: Bug
>          Components: EJB
>    Affects Versions: 17.0.1.Final
>         Environment: any OS
> single Wildfly 17 (not yet in production)
>            Reporter: David Schmidt
>            Assignee: Cheng Fang
>            Priority: Major
>
> I did an Upgrade from 11 to 17.0.1 and now I'm getting IllegalStateException on hot-deploys.
> What I tried without result:
> * truncate the jboss_ejb_timer table (to remove existing)
> * remove all old @Schedule and add a new different timer
> * use @Resource TimerService instead of @Schedule
> * deployment using
> ** auto-deploy of zipped new war copied to $JBOSS_HOME/server/deployments/
> ** call %jboss_bin%\jboss-cli.bat --connect controller=xxxxx:19990 --user=xxx --password=xxxx --command="deploy %war_path_1%%filename_1% --name=%package_name_1%.war --force"
> ** call mvn -q -f %package_name_1%\pom.xml wildfly:undeploy wildfly:deploy -Dwildfly.hostname=xxxxx -Dwildfly.password=xxxxxx
> restart or removing all timers allows to deploy again (for a time)
> {code}
> 2019-08-16 16:13:14,940 ERROR  [org.jboss.msc.service.fail] MSC000001: Failed to start service jboss.deployment.unit."xxxxxxx.war".component.CronJobs.START: org.jboss.msc.service.Star  
> tException in service jboss.deployment.unit."xxxxxxx.war".component.CronJobs.START: java.lang.IllegalStateException: Timer already cancelled.  
>         at org.jboss.as.ee.component.ComponentStartService$1.run(ComponentStartService.java:57)  
>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)  
>         at java.util.concurrent.FutureTask.run(FutureTask.java:266)  
>         at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)  
>         at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)  
>         at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)  
>         at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)  
>         at java.lang.Thread.run(Thread.java:745)  
>         at org.jboss.threads.JBossThread.run(JBossThread.java:485)  
> Caused by: java.lang.IllegalStateException: Timer already cancelled.  
>         at java.util.Timer.sched(Timer.java:397)  
>         at java.util.Timer.schedule(Timer.java:193)  
>         at org.jboss.as.ejb3.timerservice.TimerServiceImpl.scheduleTimeout(TimerServiceImpl.java:906)  
>         at org.jboss.as.ejb3.timerservice.TimerImpl.scheduleTimeout(TimerImpl.java:537)  
>         at org.jboss.as.ejb3.timerservice.TimerServiceImpl.startTimer(TimerServiceImpl.java:785)  
>         at org.jboss.as.ejb3.timerservice.TimerServiceImpl.restoreTimers(TimerServiceImpl.java:756)  
>         at org.jboss.as.ejb3.timerservice.TimerServiceImpl.activate(TimerServiceImpl.java:223)  
>         at org.jboss.as.ejb3.component.EJBComponent.init(EJBComponent.java:595)  
>         at org.jboss.as.ee.component.BasicComponent.start(BasicComponent.java:222)  
>         at org.jboss.as.ejb3.component.singleton.SingletonComponent.start(SingletonComponent.java:136)  
>         at org.jboss.as.ee.component.ComponentStartService$1.run(ComponentStartService.java:54)  
>         ... 8 more  
> {code}
> As it happens in programming, I can't reproduce this at the moment. I got tormented for weeks but today it doesn't happen...



--
This message was sent by Atlassian Jira
(v7.13.8#713008)


More information about the jboss-jira mailing list