diff --git a/akka-actor-tests/src/test/scala/akka/actor/dispatch/ActorModelSpec.scala b/akka-actor-tests/src/test/scala/akka/actor/dispatch/ActorModelSpec.scala index d313517441..e4dc5f544b 100644 --- a/akka-actor-tests/src/test/scala/akka/actor/dispatch/ActorModelSpec.scala +++ b/akka-actor-tests/src/test/scala/akka/actor/dispatch/ActorModelSpec.scala @@ -390,7 +390,12 @@ abstract class ActorModelSpec extends JUnitSuite { (1 to num) foreach { _ ⇒ newTestActor ! cachedMessage } - assertCountDown(cachedMessage.latch, Testing.testTime(10000), "Should process " + num + " countdowns") + try { + assertCountDown(cachedMessage.latch, Testing.testTime(10000), "Should process " + num + " countdowns") + } catch { + case e ⇒ + EventHandler.error(null, cachedMessage.latch.getCount()) + } } for (run ← 1 to 3) { flood(10000) diff --git a/akka-actor/src/main/scala/akka/actor/ActorCell.scala b/akka-actor/src/main/scala/akka/actor/ActorCell.scala index 0c2db3d20b..c29d86061b 100644 --- a/akka-actor/src/main/scala/akka/actor/ActorCell.scala +++ b/akka-actor/src/main/scala/akka/actor/ActorCell.scala @@ -255,9 +255,9 @@ private[akka] class ActorCell( receiveTimeout = None cancelReceiveTimeout Actor.registry.unregister(self) + dispatcher.detach(this) isTerminated = true terminated = isTerminated - dispatcher.detach(this) try { val a = actor.get if (Actor.debugLifecycle) EventHandler.debug(a, "stopping")