You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by "Hrishikesh Gadre (JIRA)" <ji...@apache.org> on 2016/12/20 21:52:58 UTC

[jira] [Created] (DIRSERVER-2176) Thread leak from LdapServer

Hrishikesh Gadre created DIRSERVER-2176:
-------------------------------------------

             Summary: Thread leak from LdapServer
                 Key: DIRSERVER-2176
                 URL: https://issues.apache.org/jira/browse/DIRSERVER-2176
             Project: Directory ApacheDS
          Issue Type: Bug
    Affects Versions: 2.0.0-M21
            Reporter: Hrishikesh Gadre
            Priority: Minor


While using ApacheDS library to verify LDAP integration for Solr, I noticed a thread-leakage in the LdapServer code. Specifically the UnorderedThreadPoolExecutor added as part of LdapServer#start() method is not cleaned properly during the stop() method. 

https://github.com/apache/directory-server/blob/7391447b3cee132bbcc9a023f435919025c28511/protocol-ldap/src/main/java/org/apache/directory/server/ldap/LdapServer.java#L525

The carrotsearch randomized testing library in Solr reports following stack-trace as part of thread leak detection,

[junit4]   2> Dec 20, 2016 1:32:31 PM com.carrotsearch.randomizedtesting.ThreadLeakControl checkThreadLeaks
   [junit4]   2> SEVERE: 1 thread leaked from SUITE scope at org.apache.solr.security.hadoop.TestSolrCloudWithHadoopAuthPlugin: 
   [junit4]   2>    1) Thread[id=75, name=pool-4-thread-1, state=TIMED_WAITING, group=TGRP-TestSolrCloudWithHadoopAuthPlugin]
   [junit4]   2>         at sun.misc.Unsafe.park(Native Method)
   [junit4]   2>         at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
   [junit4]   2>         at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
   [junit4]   2>         at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467)
   [junit4]   2>         at org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Worker.fetchTask(UnorderedThreadPoolExecutor.java:462)
   [junit4]   2>         at org.apache.mina.filter.executor.UnorderedThreadPoolExecutor$Worker.run(UnorderedThreadPoolExecutor.java:414)
   [junit4]   2>         at java.lang.Thread.run(Thread.java:745)




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)