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-unsubscribe@hc.a...
For additional commands, e-mail:
dev-help@hc.a...
opensubscriber is not affiliated with the authors of this message nor responsible for its content.