very often when we try to shutdown tomcat, we got following error in
catalina.out indicating a solr thread can not be stopped, the tomcat results
hanging, we have to kill -9, which we think lead to some core corruptions in
our production environment. please help ...

catalina.out:

... ...

Oct 19, 2012 10:17:22 AM org.apache.catalina.loader.WebappClassLoader
clearReferencesThreads
SEVERE: The web application [/solr] appears to have started a thread named
[pool-69-thread-1] but has failed to stop it. This is very likely to create
a memory leak.

Then I used kill -3 to signal the thread dump, here is what I get (note the
thread [pool-69-thread-1] is hanging) :

2012-10-19 10:18:39
Full thread dump Java HotSpot(TM) 64-Bit Server VM (20.2-b06 mixed mode):

"DestroyJavaVM" prio=10 tid=0x0000000055b39800 nid=0x7e82 waiting on
condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"pool-69-thread-1" prio=10 tid=0x00002aaabcb41800 nid=0x19fa waiting on
condition [0x000000004205e000]
   java.lang.Thread.State: WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00000006de699d80> (a
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park(Unknown Source)
        at
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown
Source)
        at java.util.concurrent.LinkedBlockingQueue.take(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

"JDWP Transport Listener: dt_socket" daemon prio=10 tid=0x00000000578aa000
nid=0x19f9 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

... ...



--
View this message in context: 
http://lucene.472066.n3.nabble.com/solr-memory-leak-prevent-tomcat-shutdown-tp4014788.html
Sent from the Solr - User mailing list archive at Nabble.com.

Reply via email to