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

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

              Dates

                Created:
                Updated:
                Resolved: