On 10/02/2010 19:20, Mark Shifman wrote:
> I forgot to check catalina.out with the new tomcat. It showed:
> 
> Feb 10, 2010 1:54:28 PM org.apache.catalina.loader.WebappClassLoader 
> clearReferencesThreads
> SEVERE: A web application appears to have started a thread named [Timer-0] 
> but has failed to stop it. This is very likely to create a memory leak.
> 
> and when I use jstack it looks like it is really there:
> 
> "Timer-0" daemon prio=10 tid=0x8b16b400 nid=0x43b1 in Object.wait() 
> [0x8b2e0000]
>    java.lang.Thread.State: TIMED_WAITING (on object monitor)
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0xac502370> (a java.util.TaskQueue)
>         at java.util.TimerThread.mainLoop(Timer.java:509)
>         - locked <0xac502370> (a java.util.TaskQueue)
>         at java.util.TimerThread.run(Timer.java:462)

Hard to tell if that is behind this or not, but it is certainly a memory
leak that needs fixing. Since it is a TimerThread, there is something
Tomcat can do to stop it. That workaround is in trunk and should be in
the next release.

In terms of a way forward I'd suggest the following:
- created the simplest possible app the re-creates the issue
- using a debugger, step through the code and try and figure out what is
different after the restart

You'll almost certainly need to step into the standard Java classes.
Expect this to take several hours or more.

Mark



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to