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)