[ https://issues.apache.org/jira/browse/ODE-574?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ciaran Jessup updated ODE-574: ------------------------------ Attachment: StopListenersHangingAbout.patch The attached patch (I think, will confirm in the morning [GMT]) may no longer be neccessary given the other changes, but I"ve put it in just to be safe, this handles (I think) the case where the CompileListener ends up associated with items in the Stylesheet cache, as the compileListener contains a reference to the OProcess this keeps the reference in memory for-ever :( ... The other patch may make this patch redundant, will check shortly. However! The setErrorListener method seems particular thread-unsafe, I can't see what guards there are that the TransformerFactory underlying the cache won't be called from multiple places con-currently, and possibly mis-report errors ??? > Memory leak when Un-deploying processes that contain XSL stylesheets > -------------------------------------------------------------------- > > Key: ODE-574 > URL: https://issues.apache.org/jira/browse/ODE-574 > Project: ODE > Issue Type: Bug > Components: BPEL Compilation/Parsing, BPEL Runtime > Environment: N/A > Reporter: Ciaran Jessup > Attachments: StopListenersHangingAbout.patch, StyleSheetCache.patch > > > Currently if the BPEL process contains any XSL stylesheets it will not free > up *all* the memory that was allocated during the compilation/dehydration of > the process. This seems to be because there is a cache of XSLTemplates > stored in the XSLTransformHandler, and these XSLTemplates can sometimes > contain (transitive) references back to the OProcess object instances (via > for example the URIResolvers/XPAth Expressions). Unfortunately this cache > lives forever (crucially even after the process has been un-deployed) > because of this the object graph hanging from the OProcess object instance is > never available for the GC to pick-off. > There is also another reference issue in the ErrorListener that is associated > with the XSLTransformHandler instance, but I don't really understand that bit > of code just as yet, a patch for the former issue follows, I'm reviewing the > ErrorListener issue currently. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.