-
Followers
viktorklang (Assigned To) , Peter Vlugter
AttachmentsNo attachmentsAssociationsNo associationsActivity
on Jun 15, 2011 @ 08:02PM UTC * By viktorklang
I need the trace of the cause of the SchedulerException as well.
on Jun 17, 2011 @ 02:32PM UTC * By RayRoestenburg
Milestone changed from 2.0 to 1.2
on Jun 17, 2011 @ 02:33PM UTC * By RayRoestenburg
Milestone changed from 1.2 to 2.0oops
on Jun 17, 2011 @ 02:36PM UTC * By RayRoestenburg
This is the stacktrace that is reported, I will check if I can get more out.
on Jul 05, 2011 @ 06:08PM UTC * By RayRoestenburg
Description changed from Problem:SchedulerException ... to Problem:SchedulerException ...Added a more complete stacktrace. this is now on version 1.1.3. It looks like something is trying to schedule a task when the scheduler is trying to shutdown, is that possible? My tests do a lot of server start and server shutdown before and after tests.
Found this post relevant (I think the source is credible :) http://pveentjer.wordpress.com/2008/02/06/are-you-dealing-with-the-rejectedexecutionexception/
on Jul 10, 2011 @ 11:56PM UTC * By viktorklang
We should probably remove both Scheduler.shutdown and Scheduler.restart
on Jul 12, 2011 @ 05:32PM UTC * By viktorklang
How do you deal with a rejectedexecutionexception when something is scheduled to be run in the future? :-)
Are you actively shutting down the Scheduler?
on Jul 14, 2011 @ 08:55PM UTC * By viktorklang
Assigned to set to viktorklangStatus changed from New to FixedAnd this only happens for testing?
If so, it's fixed in 2.0 since the scheduler won't be stoppable :-)
on Jul 20, 2011 @ 07:29PM UTC * By RayRoestenburg
Hi Guys,
It only happens during testing, and when I remove Scheduler.shutdown from the before/after stuff in the tests the problem doesn't occur anymore. I agree it is fixed in 2.0 (not stoppable).
on Jul 20, 2011 @ 07:36PM UTC * By viktorklang
Hey Raymond,
thanks for the feedback
If you have any thoughts on how we can improve the Scheduler I'd love to hear them!
on Dec 15, 2011 @ 07:52AM UTC * By viktorklang
Milestone changed from 2.0 to 2.0-M1Updating tickets (#818, #821, #823, #836, #842, #854, #856, #865, #866, #867, #868, #869, #871, #872, #873, #877, #878, #879, #885, #888, #889, #890, #894, #910, #911, #917, #923, #924, #925, #926, #927, #928, #930, #931, #932, #933, #934, #936, #937, #952, #955, #957, #958, #959, #960, #961, #964, #965, #966)Time ExpenditureLoading


Version: Akka 1.2-SNAPSHOT
Reported: http://groups.google.com/group/akka-user/browse_thread/thread/c1de5b93ccdfe680
The following exception occurs when I run a suite of tests that all stop actors on teardown. I will try to add a reproducable unit test.
akka.actor.Scheduler$SchedulerException: TimeoutMarker(0) could not be scheduleOnce'd on Actor[akka.testkit.TestActor:1bf1baa0-a6f5-11e0-9405-0019d2b39ec9]
at akka.actor.Scheduler$.scheduleOnce(Scheduler.scala:81)
at akka.actor.FSM$class.applyState(FSM.scala:471)
at akka.actor.FSM$class.makeTransition(FSM.scala:461)
at akka.actor.FSM$class.initialize(FSM.scala:333)
at akka.testkit.TestActor.initialize(TestKit.scala:19)
at akka.testkit.TestActor.<init>(TestKit.scala:40)
at akka.testkit.TestKit$$anonfun$4.apply(TestKit.scala:82)
at akka.testkit.TestKit$$anonfun$4.apply(TestKit.scala:82)
at akka.actor.LocalActorRef.akka$actor$LocalActorRef$$newActor(ActorRef.scala:1021)
at akka.actor.LocalActorRef$$anonfun$3.apply(ActorRef.scala:608)
at akka.actor.LocalActorRef$$anonfun$3.apply(ActorRef.scala:608)
at akka.util.ReentrantGuard.withGuard(LockUtil.scala:20)
at akka.actor.LocalActorRef.<init>(ActorRef.scala:608)
at akka.actor.Actor$.actorOf(Actor.scala:200)
at akka.testkit.TestKit$class.$init$(TestKit.scala:82)
at unit.control.BroadcastSensorInstructionsTest.<init>(BroadcastSensorInstructionsTest.scala:21)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at org.scalatest.tools.ScalaTestFramework$ScalaTestRunner.run(ScalaTestFramework.scala:104)
at sbt.TestRunner.run(TestFramework.scala:53)
at sbt.TestRunner.runTest$1(TestFramework.scala:67)
at sbt.TestRunner.run(TestFramework.scala:76)
at sbt.TestFramework$$anonfun$10$$anonfun$apply$11.runTest$2(TestFramework.scala:194)
at sbt.TestFramework$$anonfun$10$$anonfun$apply$11$$anonfun$apply$12.apply(TestFramework.scala:205)
at sbt.TestFramework$$anonfun$10$$anonfun$apply$11$$anonfun$apply$12.apply(TestFramework.scala:205)
at sbt.NamedTestTask.run(TestFramework.scala:92)
at sbt.ScalaProject$$anonfun$sbt$ScalaProject$$toTask$1.apply(ScalaProject.scala:193)
at sbt.ScalaProject$$anonfun$sbt$ScalaProject$$toTask$1.apply(ScalaProject.scala:193)
at sbt.TaskManager$Task.invoke(TaskManager.scala:62)
at sbt.impl.RunTask.doRun$1(RunTask.scala:77)
at sbt.impl.RunTask.runTask(RunTask.scala:85)
at sbt.impl.RunTask.sbt$impl$RunTask$$runIfNotRoot(RunTask.scala:60)
at sbt.impl.RunTask$$anonfun$runTasksExceptRoot$2.apply(RunTask.scala:48)
at sbt.impl.RunTask$$anonfun$runTasksExceptRoot$2.apply(RunTask.scala:48)
at sbt.Distributor$Run$Worker$$anonfun$2.apply(ParallelRunner.scala:131)
at sbt.Distributor$Run$Worker$$anonfun$2.apply(ParallelRunner.scala:131)
at sbt.Control$.trapUnit(Control.scala:19)
at sbt.Distributor$Run$Worker.run(ParallelRunner.scala:131)
Caused by: java.util.concurrent.RejectedExecutionException
at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:1768)
at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:767)
at java.util.concurrent.ScheduledThreadPoolExecutor.delayedExecute(ScheduledThreadPoolExecutor.java:215)
at java.util.concurrent.ScheduledThreadPoolExecutor.schedule(ScheduledThreadPoolExecutor.java:397)
at java.util.concurrent.Executors$DelegatedScheduledExecutorService.schedule(Executors.java:651)
at akka.actor.Scheduler$.scheduleOnce(Scheduler.scala:76)
at akka.actor.FSM$class.applyState(FSM.scala:471)
at akka.actor.FSM$class.makeTransition(FSM.scala:461)
at akka.actor.FSM$class.initialize(FSM.scala:333)
at akka.testkit.TestActor.initialize(TestKit.scala:19)
at akka.testkit.TestActor.<init>(TestKit.scala:40)
at akka.testkit.TestKit$$anonfun$4.apply(TestKit.scala:82)
at akka.testkit.TestKit$$anonfun$4.apply(TestKit.scala:82)
at akka.actor.LocalActorRef.akka$actor$LocalActorRef$$newActor(ActorRef.scala:1021)
at akka.actor.LocalActorRef$$anonfun$3.apply(ActorRef.scala:608)
at akka.actor.LocalActorRef$$anonfun$3.apply(ActorRef.scala:608)
at akka.util.ReentrantGuard.withGuard(LockUtil.scala:20)
at akka.actor.LocalActorRef.<init>(ActorRef.scala:608)
at akka.actor.Actor$.actorOf(Actor.scala:200)
at akka.testkit.TestKit$class.$init$(TestKit.scala:82)
at [REMOVED for protecting the innocent :)]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at org.scalatest.tools.ScalaTestFramework$ScalaTestRunner.run(ScalaTestFramework.scala:104)
at sbt.TestRunner.run(TestFramework.scala:53)
at sbt.TestRunner.runTest$1(TestFramework.scala:67)
at sbt.TestRunner.run(TestFramework.scala:76)
at sbt.TestFramework$$anonfun$10$$anonfun$apply$11.runTest$2(TestFramework.scala:194)
at sbt.TestFramework$$anonfun$10$$anonfun$apply$11$$anonfun$apply$12.apply(TestFramework.scala:205)
at sbt.TestFramework$$anonfun$10$$anonfun$apply$11$$anonfun$apply$12.apply(TestFramework.scala:205)
at sbt.NamedTestTask.run(TestFramework.scala:92)
at sbt.ScalaProject$$anonfun$sbt$ScalaProject$$toTask$1.apply(ScalaProject.scala:193)
at sbt.ScalaProject$$anonfun$sbt$ScalaProject$$toTask$1.apply(ScalaProject.scala:193)
at sbt.TaskManager$Task.invoke(TaskManager.scala:62)
at sbt.impl.RunTask.doRun$1(RunTask.scala:77)
at sbt.impl.RunTask.runTask(RunTask.scala:85)
at sbt.impl.RunTask.sbt$impl$RunTask$$runIfNotRoot(RunTask.scala:60)
at sbt.impl.RunTask$$anonfun$runTasksExceptRoot$2.apply(RunTask.scala:48)
at sbt.impl.RunTask$$anonfun$runTasksExceptRoot$2.apply(RunTask.scala:48)
at sbt.Distributor$Run$Worker$$anonfun$2.apply(ParallelRunner.scala:131)
at sbt.Distributor$Run$Worker$$anonfun$2.apply(ParallelRunner.scala:131)
at sbt.Control$.trapUnit(Control.scala:19)
at sbt.Distributor$Run$Worker.run(ParallelRunner.scala:131)