Radu Cotescu created SLING-4843:
-----------------------------------

             Summary: Concurrency issue in Rhino can lead to Sling deadlock 
problems during startup
                 Key: SLING-4843
                 URL: https://issues.apache.org/jira/browse/SLING-4843
             Project: Sling
          Issue Type: Bug
          Components: Scripting
    Affects Versions: Scripting JavaScript 2.0.16
            Reporter: Radu Cotescu
            Assignee: Radu Cotescu
            Priority: Critical
             Fix For: Scripting JavaScript 2.0.18


Bug [738388|https://bugzilla.mozilla.org/show_bug.cgi?id=738388] from Rhino 
seems to affect Sling instances during startup due to its potential deadlock. 
The bug was fixed in Rhino 1.7R5, while 
{{org.apache.sling.scripting.javascript}} still embeds 1.7R4. Due to the 
[numerous improvements|https://github.com/mozilla/rhino/releases] of the 1.7.7 
release over 1.7R4 I propose to update the dependency to 1.7.7.

One of the stuck threads pointing at the Rhino 738388 bug provides the 
following stack trace:

{noformat}
"10.10.150.15 [1435169509358] GET 
/content/geometrixx-media/en/longevity/longevity-18/longevity-18-6.html 
HTTP/1.1" prio=10 tid=0x000000000ef40800 nid=0x2507 runnable [0x00000000541be000
]
   java.lang.Thread.State: RUNNABLE
        at java.util.HashMap.getEntry(HashMap.java:465)
        at java.util.HashMap.get(HashMap.java:417)
        at org.mozilla.javascript.JavaMembers.lookupClass(JavaMembers.java:797)
        at 
org.mozilla.javascript.NativeJavaObject.initMembers(NativeJavaObject.java:54)
        at 
org.mozilla.javascript.NativeJavaObject.<init>(NativeJavaObject.java:44)
        at 
org.mozilla.javascript.NativeJavaObject.<init>(NativeJavaObject.java:34)
        at 
org.mozilla.javascript.WrapFactory.wrapAsJavaObject(WrapFactory.java:115)
        at org.mozilla.javascript.WrapFactory.wrap(WrapFactory.java:72)
        at 
org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:236)
        at 
org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1473)
        at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:815)
        at 
org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:109)
        at 
org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:394)
        at 
org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3091)
        at 
org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:107)
        at 
org.apache.sling.scripting.sightly.js.impl.jsapi.SlyBindingsValuesProvider.addBinding(SlyBindingsValuesProvider.java:162)
        at 
org.apache.sling.scripting.sightly.js.impl.jsapi.SlyBindingsValuesProvider.processBindings(SlyBindingsValuesProvider.java:125)
        at 
org.apache.sling.scripting.sightly.js.impl.JsUseProvider.provide(JsUseProvider.java:84)
        at 
org.apache.sling.scripting.sightly.impl.engine.extension.use.UseRuntimeExtension.call(UseRuntimeExtension.java:87)
        at 
org.apache.sling.scripting.sightly.impl.engine.runtime.RenderContextImpl.call(RenderContextImpl.java:89)
        at 
libs.wcm.foundation.components.parsys.newpar.SightlyJava_newpar.render(SightlyJava_newpar.java:39)
        at 
org.apache.sling.scripting.sightly.impl.engine.runtime.RenderUnit.render(RenderUnit.java:52)
        at 
org.apache.sling.scripting.sightly.impl.engine.SightlyScriptEngine.evaluateScript(SightlyScriptEngine.java:95)
        at 
org.apache.sling.scripting.sightly.impl.engine.SightlyScriptEngine.eval(SightlyScriptEngine.java:83)
        at 
org.apache.sling.scripting.core.impl.DefaultSlingScript.call(DefaultSlingScript.java:361)
        at 
org.apache.sling.scripting.core.impl.DefaultSlingScript.eval(DefaultSlingScript.java:171)
        at 
org.apache.sling.scripting.core.impl.DefaultSlingScript.service(DefaultSlingScript.java:463)
        at 
org.apache.sling.engine.impl.request.RequestData.service(RequestData.java:533)
        at 
org.apache.sling.engine.impl.filter.SlingComponentFilterChain.render(SlingComponentFilterChain.java:44)
{noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to