[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