All,

I have a webservice client in the webapp. When the webapp is undeployed
the classloader has not been GC'ed. Upon investigation it is found that
a thread is in WAIT state which has references to the webapp class
loader. I see the following from heap dump.

http-8080-2
  at java.lang.Object.wait(J)V (Native Method)
  at java.lang.Object.wait()V (Object.java:485)
  at
org.apache.tomcat.util.net.JIoEndpoint$Worker.await()Ljava/net/Socket;
(JIoEndpoint.java:458)
  at org.apache.tomcat.util.net.JIoEndpoint$Worker.run()V
(JIoEndpoint.java:484)
  at java.lang.Thread.run()V (Unknown Source)

This is a pure development instance used by only a single user. Hence, I
have configured the Connector with minSpareThreads="2". If the thread is
retained by tomcat to reuse for another request, then wondering why
would it not remove references to other objects. Essentially, the thread
has threadLocals object that has few references.

Version details of tomcat:

Server version: Apache Tomcat/6.0.26
Server built:   March 9 2010 1805
Server number:  6.0.26.0
OS Name:        Linux
OS Version:     2.6.18-164.15.1.el5
Architecture:   amd64
JVM Version:    1.6.0_18-b07
JVM Vendor:     Sun Microsystems Inc.

Thanks

Srikanth

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

Reply via email to