potential memory leak when using ThreadSafeClientConnManager
------------------------------------------------------------

                 Key: HTTPCLIENT-841
                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-841
             Project: HttpComponents HttpClient
          Issue Type: Bug
          Components: HttpClient
    Affects Versions: 4.0 Beta 2
         Environment: Leopard 10.5.6, Java 1.5.0_16, Jetty 6.1.7
            Reporter: Ted Slusser


When using ThreadSafeClientConnManager and developing with Jetty using 
auto-redeploy feature eventually I run into a PermGen out of memory exception.  
I investigated with YourKit 8.0.6 and found a class loader circular reference 
in RefQueueWorker.  Not really sure what I was doing I made the refQueueHandler 
non-final and nulled it in the shutdown method of RedQueueWorker.  I don't seem 
to have the problem any longer with circular class loader references.

Here is a diff from 4.0-beta2


--- 
httpclient/src/main/java/org/apache/http/impl/conn/tsccm/RefQueueWorker.jav(revision
 763223)
+++ 
httpclient/src/main/java/org/apache/http/impl/conn/tsccm/RefQueueWorker.jav(working
 copy)
@@ -50,7 +50,7 @@
     protected final ReferenceQueue<?> refQueue;
 
     /** The handler for the references found. */
-    protected final RefQueueHandler refHandler;
+    protected RefQueueHandler refHandler;
 
 
     /**
@@ -112,6 +112,8 @@
             this.workerThread = null; // indicate shutdown
             wt.interrupt();
         }
+
+        refHandler = null;
     }
 
 


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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

Reply via email to