- About Scala
- Documentation
- Code Examples
- Software
- Scala Developers
Hang on actors Scheduler.snapshot
Thu, 2008-12-18, 23:01
I have an application that runs in tomcat, when it shuts down a
context listener tries to kill of any running actors with the
Scheduler.snapshot and Scheduler.shutdown sequence.
Sometimes the application hangs and I see these threads in wait state
via a profiler:
Thread-20 [WAITING] CPU time: 1:10
java.lang.Object.wait()
scala.actors.FJTaskRunnerGroup.checkActive(FJTaskRunner, long)
scala.actors.FJTaskRunner.scanWhileIdling()
scala.actors.FJTaskRunner.run()
Thread-31 [WAITING] CPU time: 0:00
java.lang.Thread.join()
scala.actors.FJTaskRunnerGroup.snapshot()
scala.actors.FJTaskScheduler2.snapshot()
scala.actors.Scheduler$.snapshot()
com.imageworks.common.servlet.SpiContextLoaderListener.contextDestroyed(ServletContextEvent)
org.apache.catalina.startup.Catalina$CatalinaShutdownHook.run()
Thread-6 [TIME_WAITING] CPU time: 0:00
java.lang.Object.wait(long)
scala.actors.FJTaskScheduler2.liftedTree3$1()
scala.actors.FJTaskScheduler2.run()
I know this isn't much to go on, but is this enough for someone to
recognize if this is a problem in my application, or perhaps a problem
in the actor library?