Message11416

Author tobias
Recipients tobias
Date 2017-06-07.07:06:18
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1496819180.49.0.629010500099.issue2597@psf.upfronthosting.co.za>
In-reply-to
Content
I rechecked the problem encountered in an earlier Jython version (2.5.2) which was a memory leak described in this bug report: http://bugs.jython.org/issue2026 . The bug is marked as fixed and I wanted to double check this. Therefore, I used the code snipped contained in the bug report to reconstruct the issue. The original issue seems to be resolved, but I encountered another problem. If I run the aforementioned code for a short period of time, the consumed heap increases quite fast: ~120MB after ~60 seconds. I inspected the heap dump and most the memory is consumed by a ConcurrentHashMap in PySystemState. I took a quick peek at the source and found this:

PySystemState has a static final ConcurrentHashMap named sysClosers [0]. If a new PySystemStateCloser is created, a Key-Value-Pair of a WeakReference to a PySystemState and a reference to the PySystemStateCloser is added to the map [1], but never removed. Even if the WeakReference is finalized, if looks like the value will still remain in the map, since there is no removal code for broken references.
History
Date User Action Args
2017-06-07 07:06:20tobiassetrecipients: + tobias
2017-06-07 07:06:20tobiassetmessageid: <1496819180.49.0.629010500099.issue2597@psf.upfronthosting.co.za>
2017-06-07 07:06:20tobiaslinkissue2597 messages
2017-06-07 07:06:19tobiascreate