Uploaded image for project: 'Sling'
  1. Sling
  2. SLING-4783

The JavaScript scripting engine can generate classloader leaks

    XMLWordPrintableJSON

    Details

      Description

      The implementation of the JavaScript scripting engine, based on Rhino, can lead to classloader leaks due to Rhino's ClassCache if the used classloader for loading objects is a DynamicClassLoader. The cache is used by default to cache object translation from JavaScript to Java and generally outlives the objects it stores, holding a hard reference to them.

      Disabling the cache is not a solution as synthetic tests proved that the execution of JavaScript code had increased two times.

        Attachments

        1. heap dump analysis.png
          311 kB
          Radu Cotescu

          Issue Links

            Activity

              People

              • Assignee:
                radu Radu Cotescu
                Reporter:
                radu Radu Cotescu
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: