We are trying to resolve an issue where the Rhino engine occasionally
gets stuck early in the run.

 

We use a shared sealed global scope, and create scripts that execute in
multiple threads, inheriting the core objects from the single shared
global scope.  

 

Under load, it looks like the HashMap instances in
org.mozilla.javascript.ClassCache get corrupted.  We get a code thread
hung in this code below, and all the other threads waiting for this guy
to give up a synchronization lock.

 

We are trying the use of ConcurrentHashMap instead of HashMap inside the
ClassCache.  

Has anyone seen this before, or have any suggestions?  Our environment:

JDK 1.6

Rhino 1.7 R1

 

"[ACTIVE] ExecuteThread: '395' for queue: 'weblogic.kernel.Default
(self-tuning)'" daemon prio=3 tid=0x02f0b000 nid=0x1bc runnable
[0x8f87d000]

   java.lang.Thread.State: RUNNABLE

      at java.util.HashMap.get(HashMap.java:303)

      at
org.mozilla.javascript.JavaMembers.lookupClass(JavaMembers.java:836)

      at
org.mozilla.javascript.NativeJavaClass.initMembers(NativeJavaClass.java:
83)

      at org.mozilla.javascript.NativeJavaClass.

(NativeJavaClass.java:78)

      at
org.mozilla.javascript.NativeJavaPackage.getPkgProperty(NativeJavaPackag
e.java:159)

      - locked

<0xc05ce0c0>

 (a org.mozilla.javascript.NativeJavaPackage)

      at
org.mozilla.javascript.NativeJavaPackage.get(NativeJavaPackage.java:105)

      at
org.mozilla.javascript.ScriptableObject.getProperty(ScriptableObject.jav
a:1575)

      at
org.mozilla.javascript.ScriptRuntime.getObjectProp(ScriptRuntime.java:13
97)

      at
org.mozilla.javascript.ScriptRuntime.getObjectProp(ScriptRuntime.java:13
83)

 

_______________________________________________
dev-tech-js-engine-rhino mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-js-engine-rhino

Reply via email to