[
https://issues.apache.org/jira/browse/SLING-8574?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Olaf Otto updated SLING-8574:
-----------------------------
Summary: Memory leak via cached JavaScript factory functions in
SlyBindingsValuesProvider (was: Memory leak fia cached JavaScript facotry
functions in SlyBindingsValuesProvider)
> Memory leak via cached JavaScript factory functions in
> SlyBindingsValuesProvider
> --------------------------------------------------------------------------------
>
> Key: SLING-8574
> URL: https://issues.apache.org/jira/browse/SLING-8574
> Project: Sling
> Issue Type: Bug
> Components: Scripting
> Affects Versions: Scripting HTL JS Use Provider 1.0.28
> Reporter: Olaf Otto
> Priority: Critical
> Labels: memory, memory-leak
> Attachments: Heap_walker_Reference_Graph.html
>
>
> While analyzing excessive memory usage in an AEM 6.4 instance I discovered a
> memory leak transitively introduced via the SlyBindingsValues Provider.
> Here, a configurable list of JavaScripts is run to produce factory functions.
> These functions are retained in an application-scoped map in order to be
> injected into the bindings of future script executions.
> Here, the SlyBindingsValuesProvider creates these factory function instances
> by executing the factory scripts using, amongst others, the current
> ENGINE-scoped script bindings.
> The resulting compiled JS representations reference a
> org.mozilla.javascript.NativeCall instance, which is referencing a
> org.mozilla.javascript.ImporterTopLevel instance. This ImporterTopLevel
> instance has a slots[] array member who's Slot instances point to
> org.mozilla.javascript.NativeJavaObject instances representing at least all
> objects present in the bindings during the factory script execution.
> Thus, a chain of strong references is formed to request-scoped instances.
> This keeps open dozens to potentially thousands of request-scoped Objects
> such as Sling Models, requests, resources, resource resolvers and their
> respective transitive hull, resulting in significant memory consumption.
>
> I have attached an excerpt of the respective view on the Heap generated using
> JProfiler.
>
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)