Message6024

Author zyasoft
Recipients adam.spiers, amak, colinhevans, fwierzbicki, matt_brinkley, pjenvey, zyasoft
Date 2010-08-28.04:11:59
SpamBayes Score 4.922453e-07
Marked as misclassified No
Message-id <1282968721.39.0.960532835064.issue1327@psf.upfronthosting.co.za>
In-reply-to
Content
I have committed a patch as of r7109 which I believe fixes this problem of a chain of hard refs to classes in the classloaders. It builds upon the patch that Matt submitted, but centralizes the resource registration (and any closing) with PySystemState through a new class, PySystemStateCloser.

In addition, it uses Guava's FinalizableReferenceQueue, which is specifically engineered to not have classloader leaks, to close these resources. Ordinarily then one shouldn't have to manually do a cleanup of PySystemState. I didn't want to change the API here of using PySystemState for most usage. Given that its just permgen exhaustion we are concerned about, GC cleanup should suffice.

So now we need to test this, especially to verify there are no more chains that need to be broken. However, I believe the process in place now is general enough so that can be readily done.
History
Date User Action Args
2010-08-28 04:12:01zyasoftsetmessageid: <1282968721.39.0.960532835064.issue1327@psf.upfronthosting.co.za>
2010-08-28 04:12:01zyasoftsetrecipients: + zyasoft, fwierzbicki, amak, pjenvey, colinhevans, matt_brinkley, adam.spiers
2010-08-28 04:12:01zyasoftlinkissue1327 messages
2010-08-28 04:11:59zyasoftcreate