You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Maxim Zinal (JIRA)" <ji...@apache.org> on 2013/07/23 15:46:50 UTC

[jira] [Created] (JCR-3627) Threads created by JackrabbitThreadPool are not terminated after repository shutdown

Maxim Zinal created JCR-3627:
--------------------------------

             Summary: Threads created by JackrabbitThreadPool are not terminated after repository shutdown
                 Key: JCR-3627
                 URL: https://issues.apache.org/jira/browse/JCR-3627
             Project: Jackrabbit Content Repository
          Issue Type: Bug
          Components: jackrabbit-core
    Affects Versions: 2.6.2
         Environment: Debian/GNU Linux 7.1 on x86-64
Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)
Apache Tomcat 7.0.41
            Reporter: Maxim Zinal


An application contains embedded JackRabbit repository, configured via custom Spring beans.
After a proper application shutdown (which includes a proper shutdown of JackRabbit repository by calling RepositoryImpl.shutdown() method), Tomcat prints lots of the following messages:

jul 23, 2013 4:55:48 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [/demoapp] appears to have started a thread named [jackrabbit-pool-23] but has failed to stop it. This is very likely to create a memory leak.

A typical thread dump of those threads looks like this:
	sun.misc.Unsafe.park(Native Method)
	java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
	java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
	java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1085)
	java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:807)
	java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
	java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
	java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	java.lang.Thread.run(Thread.java:724)



--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira