[jboss-jira] [JBoss JIRA] (JBRULES-3570) JIT exception on multithread environment

Peter P (JIRA) jira-events at lists.jboss.org
Thu Jul 5 17:25:12 EDT 2012


Peter P created JBRULES-3570:
--------------------------------

             Summary: JIT exception on multithread environment
                 Key: JBRULES-3570
                 URL: https://issues.jboss.org/browse/JBRULES-3570
             Project: Drools
          Issue Type: Feature Request
      Security Level: Public (Everyone can see)
          Components: drools-core
    Affects Versions: 5.4.0.Final
         Environment: Drools 5.4, Windows, application server, multiple thread
            Reporter: Peter P
            Assignee: Mark Proctor


Sometimes when there are multiple threads are running rules, we get this JIT exception. Note, not always. The rule is a very same rule just involve one field which is enumeration type in a fact object. Following are exception:

[08/06/12 10:32:01:107 EDT] 00000078 SystemErr     R Exception in thread "Thread-110" java.lang.RuntimeException: Exception jitting: wireType == WireType.COMMERCIAL || wireType == WireType.BANK_TO_BANK

[08/06/12 10:32:01:107 EDT] 00000078 SystemErr     R at org.drools.rule.constraint.MvelConstraint.executeJitting(MvelConstraint.java:219)

[08/06/12 10:32:01:107 EDT] 00000078 SystemErr     R at org.drools.rule.constraint.MvelConstraint.access$000(MvelConstraint.java:41)

[08/06/12 10:32:01:107 EDT] 00000078 SystemErr     R at org.drools.rule.constraint.MvelConstraint$1.run(MvelConstraint.java:201)

[08/06/12 10:32:01:107 EDT] 00000078 SystemErr     R at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)

[08/06/12 10:32:01:107 EDT] 00000078 SystemErr     R at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)

[08/06/12 10:32:01:107 EDT] 00000078 SystemErr     R at java.lang.Thread.run(Thread.java:810)

[08/06/12 10:32:01:107 EDT] 00000078 SystemErr     R Caused by: java.lang.RuntimeException: java.lang.RuntimeException: Error writing method evaluate

      at org.drools.rule.builder.dialect.asm.ClassGenerator.newInstance(ClassGenerator.java:175)

      at org.drools.rule.constraint.ASMConditionEvaluatorJitter.jitEvaluator(ASMConditionEvaluatorJitter.java:53)

      at org.drools.rule.constraint.MvelConstraint.executeJitting(MvelConstraint.java:217)

      at org.drools.rule.constraint.MvelConstraint.access$000(MvelConstraint.java:41)

      at org.drools.rule.constraint.MvelConstraint$1.run(MvelConstraint.java:201)

      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)

      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)

      at java.lang.Thread.run(Thread.java:810)

Caused by: java.lang.RuntimeException: Error writing method evaluate

      at org.drools.rule.builder.dialect.asm.ClassGenerator$MethodDescr.write(ClassGenerator.java:850)

      at org.drools.rule.builder.dialect.asm.ClassGenerator.generateBytecode(ClassGenerator.java:117)

      at org.drools.rule.builder.dialect.asm.ClassGenerator.generateClass(ClassGenerator.java:133)

      at org.drools.rule.builder.dialect.asm.ClassGenerator.newInstance(ClassGenerator.java:173)

      ... 7 more

Caused by: java.lang.ArrayIndexOutOfBoundsException

      at org.mvel2.asm.Frame.merge(Frame.java:1373)

      at org.mvel2.asm.Frame.merge(Frame.java:1329)

      at org.mvel2.asm.MethodWriter.visitMaxs(MethodWriter.java:1282)

      at org.drools.rule.builder.dialect.asm.ClassGenerator$MethodDescr.write(ClassGenerator.java:848)

      ... 10 more

 

[08/06/12 10:32:01:107 EDT] 00000078 SystemErr     R at org.drools.rule.builder.dialect.asm.ClassGenerator.newInstance(ClassGenerator.java:175)

[08/06/12 10:32:01:107 EDT] 00000078 SystemErr     R at org.drools.rule.constraint.ASMConditionEvaluatorJitter.jitEvaluator(ASMConditionEvaluatorJitter.java:53)

[08/06/12 10:32:01:107 EDT] 00000078 SystemErr     R at org.drools.rule.constraint.MvelConstraint.executeJitting(MvelConstraint.java:217)

[08/06/12 10:32:01:107 EDT] 00000078 SystemErr     R ... 5 more

[08/06/12 10:32:01:107 EDT] 00000078 SystemErr     R Caused by: java.lang.RuntimeException: Error writing method evaluate

      at org.drools.rule.builder.dialect.asm.ClassGenerator$MethodDescr.write(ClassGenerator.java:850)

      at org.drools.rule.builder.dialect.asm.ClassGenerator.generateBytecode(ClassGenerator.java:117)

      at org.drools.rule.builder.dialect.asm.ClassGenerator.generateClass(ClassGenerator.java:133)

      at org.drools.rule.builder.dialect.asm.ClassGenerator.newInstance(ClassGenerator.java:173)

      at org.drools.rule.constraint.ASMConditionEvaluatorJitter.jitEvaluator(ASMConditionEvaluatorJitter.java:53)

      at org.drools.rule.constraint.MvelConstraint.executeJitting(MvelConstraint.java:217)

      at org.drools.rule.constraint.MvelConstraint.access$000(MvelConstraint.java:41)

      at org.drools.rule.constraint.MvelConstraint$1.run(MvelConstraint.java:201)

      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)

      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)

      at java.lang.Thread.run(Thread.java:810)

Caused by: java.lang.ArrayIndexOutOfBoundsException

      at org.mvel2.asm.Frame.merge(Frame.java:1373)

      at org.mvel2.asm.Frame.merge(Frame.java:1329)

      at org.mvel2.asm.MethodWriter.visitMaxs(MethodWriter.java:1282)

      at org.drools.rule.builder.dialect.asm.ClassGenerator$MethodDescr.write(ClassGenerator.java:848)

      ... 10 more

 

[08/06/12 10:32:01:107 EDT] 00000078 SystemErr     R at org.drools.rule.builder.dialect.asm.ClassGenerator$MethodDescr.write(ClassGenerator.java:850)

[08/06/12 10:32:01:107 EDT] 00000078 SystemErr     R at org.drools.rule.builder.dialect.asm.ClassGenerator.generateBytecode(ClassGenerator.java:117)

[08/06/12 10:32:01:107 EDT] 00000078 SystemErr     R at org.drools.rule.builder.dialect.asm.ClassGenerator.generateClass(ClassGenerator.java:133)

[08/06/12 10:32:01:107 EDT] 00000078 SystemErr     R at org.drools.rule.builder.dialect.asm.ClassGenerator.newInstance(ClassGenerator.java:173)

[08/06/12 10:32:01:107 EDT] 00000078 SystemErr     R ... 7 more

[08/06/12 10:32:01:107 EDT] 00000078 SystemErr     R Caused by: java.lang.ArrayIndexOutOfBoundsException

      at org.mvel2.asm.Frame.merge(Frame.java:1373)

      at org.mvel2.asm.Frame.merge(Frame.java:1329)

      at org.mvel2.asm.MethodWriter.visitMaxs(MethodWriter.java:1282)

      at org.drools.rule.builder.dialect.asm.ClassGenerator$MethodDescr.write(ClassGenerator.java:848)

      at org.drools.rule.builder.dialect.asm.ClassGenerator.generateBytecode(ClassGenerator.java:117)

      at org.drools.rule.builder.dialect.asm.ClassGenerator.generateClass(ClassGenerator.java:133)

      at org.drools.rule.builder.dialect.asm.ClassGenerator.newInstance(ClassGenerator.java:173)

      at org.drools.rule.constraint.ASMConditionEvaluatorJitter.jitEvaluator(ASMConditionEvaluatorJitter.java:53)

      at org.drools.rule.constraint.MvelConstraint.executeJitting(MvelConstraint.java:217)

      at org.drools.rule.constraint.MvelConstraint.access$000(MvelConstraint.java:41)

      at org.drools.rule.constraint.MvelConstraint$1.run(MvelConstraint.java:201)

      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)

      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)

      at java.lang.Thread.run(Thread.java:810)

 

[08/06/12 10:32:01:107 EDT] 00000078 SystemErr     R at org.mvel2.asm.Frame.merge(Frame.java:1373)

[08/06/12 10:32:01:107 EDT] 00000078 SystemErr     R at org.mvel2.asm.Frame.merge(Frame.java:1329)

[08/06/12 10:32:01:107 EDT] 00000078 SystemErr     R at org.mvel2.asm.MethodWriter.visitMaxs(MethodWriter.java:1282)

[08/06/12 10:32:01:107 EDT] 00000078 SystemErr     R at org.drools.rule.builder.dialect.asm.ClassGenerator$MethodDescr.write(ClassGenerator.java:848)

[08/06/12 10:32:01:107 EDT] 00000078 SystemErr     R ... 10 more

[08/06/12 10:32:01:107 EDT] 00000079 SystemErr     R Exception in thread "Thread-112" java.lang.RuntimeException: Exception jitting: accountType == AccountType.MECH || accountType == AccountType.CBDS

[08/06/12 10:32:01:107 EDT] 00000079 SystemErr     R at org.drools.rule.constraint.MvelConstraint.executeJitting(MvelConstraint.java:219)

[08/06/12 10:32:01:107 EDT] 00000079 SystemErr     R at org.drools.rule.constraint.MvelConstraint.access$000(MvelConstraint.java:41)

[08/06/12 10:32:01:107 EDT] 00000079 SystemErr     R at org.drools.rule.constraint.MvelConstraint$1.run(MvelConstraint.java:201)

[08/06/12 10:32:01:107 EDT] 00000079 SystemErr     R at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)

[08/06/12 10:32:01:107 EDT] 00000079 SystemErr     R at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)

[08/06/12 10:32:01:107 EDT] 00000079 SystemErr     R at java.lang.Thread.run(Thread.java:810)

[08/06/12 10:32:01:107 EDT] 00000079 SystemErr     R Caused by: java.lang.RuntimeException: java.lang.RuntimeException: Error writing method evaluate

      at org.drools.rule.builder.dialect.asm.ClassGenerator.newInstance(ClassGenerator.java:175)

      at org.drools.rule.constraint.ASMConditionEvaluatorJitter.jitEvaluator(ASMConditionEvaluatorJitter.java:53)

      at org.drools.rule.constraint.MvelConstraint.executeJitting(MvelConstraint.java:217)

      at org.drools.rule.constraint.MvelConstraint.access$000(MvelConstraint.java:41)

      at org.drools.rule.constraint.MvelConstraint$1.run(MvelConstraint.java:201)

      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)

      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)

      at java.lang.Thread.run(Thread.java:810)

Caused by: java.lang.RuntimeException: Error writing method evaluate

      at org.drools.rule.builder.dialect.asm.ClassGenerator$MethodDescr.write(ClassGenerator.java:850)

      at org.drools.rule.builder.dialect.asm.ClassGenerator.generateBytecode(ClassGenerator.java:117)

      at org.drools.rule.builder.dialect.asm.ClassGenerator.generateClass(ClassGenerator.java:133)

      at org.drools.rule.builder.dialect.asm.ClassGenerator.newInstance(ClassGenerator.java:173)

      ... 7 more

Caused by: java.lang.ArrayIndexOutOfBoundsException

      at org.mvel2.asm.Frame.merge(Frame.java:1373)

      at org.mvel2.asm.Frame.merge(Frame.java:1329)

      at org.mvel2.asm.MethodWriter.visitMaxs(MethodWriter.java:1282)

      at org.drools.rule.builder.dialect.asm.ClassGenerator$MethodDescr.write(ClassGenerator.java:848)

      ... 10 more

 

[08/06/12 10:32:01:107 EDT] 00000079 SystemErr     R at org.drools.rule.builder.dialect.asm.ClassGenerator.newInstance(ClassGenerator.java:175)

[08/06/12 10:32:01:107 EDT] 00000079 SystemErr     R at org.drools.rule.constraint.ASMConditionEvaluatorJitter.jitEvaluator(ASMConditionEvaluatorJitter.java:53)

[08/06/12 10:32:01:107 EDT] 00000079 SystemErr     R at org.drools.rule.constraint.MvelConstraint.executeJitting(MvelConstraint.java:217)

[08/06/12 10:32:01:107 EDT] 00000079 SystemErr     R ... 5 more

[08/06/12 10:32:01:107 EDT] 00000079 SystemErr     R Caused by: java.lang.RuntimeException: Error writing method evaluate

      at org.drools.rule.builder.dialect.asm.ClassGenerator$MethodDescr.write(ClassGenerator.java:850)

      at org.drools.rule.builder.dialect.asm.ClassGenerator.generateBytecode(ClassGenerator.java:117)

      at org.drools.rule.builder.dialect.asm.ClassGenerator.generateClass(ClassGenerator.java:133)

      at org.drools.rule.builder.dialect.asm.ClassGenerator.newInstance(ClassGenerator.java:173)

      at org.drools.rule.constraint.ASMConditionEvaluatorJitter.jitEvaluator(ASMConditionEvaluatorJitter.java:53)

      at org.drools.rule.constraint.MvelConstraint.executeJitting(MvelConstraint.java:217)

      at org.drools.rule.constraint.MvelConstraint.access$000(MvelConstraint.java:41)

      at org.drools.rule.constraint.MvelConstraint$1.run(MvelConstraint.java:201)

      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)

      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)

      at java.lang.Thread.run(Thread.java:810)

Caused by: java.lang.ArrayIndexOutOfBoundsException

      at org.mvel2.asm.Frame.merge(Frame.java:1373)

      at org.mvel2.asm.Frame.merge(Frame.java:1329)

      at org.mvel2.asm.MethodWriter.visitMaxs(MethodWriter.java:1282)

      at org.drools.rule.builder.dialect.asm.ClassGenerator$MethodDescr.write(ClassGenerator.java:848)

      ... 10 more

 

[08/06/12 10:32:01:107 EDT] 00000079 SystemErr     R at org.drools.rule.builder.dialect.asm.ClassGenerator$MethodDescr.write(ClassGenerator.java:850)

[08/06/12 10:32:01:107 EDT] 00000079 SystemErr     R at org.drools.rule.builder.dialect.asm.ClassGenerator.generateBytecode(ClassGenerator.java:117)

[08/06/12 10:32:01:107 EDT] 00000079 SystemErr     R at org.drools.rule.builder.dialect.asm.ClassGenerator.generateClass(ClassGenerator.java:133)

[08/06/12 10:32:01:107 EDT] 00000079 SystemErr     R at org.drools.rule.builder.dialect.asm.ClassGenerator.newInstance(ClassGenerator.java:173)

[08/06/12 10:32:01:107 EDT] 00000079 SystemErr     R ... 7 more

[08/06/12 10:32:01:107 EDT] 00000079 SystemErr     R Caused by: java.lang.ArrayIndexOutOfBoundsException

      at org.mvel2.asm.Frame.merge(Frame.java:1373)

      at org.mvel2.asm.Frame.merge(Frame.java:1329)

      at org.mvel2.asm.MethodWriter.visitMaxs(MethodWriter.java:1282)

      at org.drools.rule.builder.dialect.asm.ClassGenerator$MethodDescr.write(ClassGenerator.java:848)

      at org.drools.rule.builder.dialect.asm.ClassGenerator.generateBytecode(ClassGenerator.java:117)

      at org.drools.rule.builder.dialect.asm.ClassGenerator.generateClass(ClassGenerator.java:133)

      at org.drools.rule.builder.dialect.asm.ClassGenerator.newInstance(ClassGenerator.java:173)

      at org.drools.rule.constraint.ASMConditionEvaluatorJitter.jitEvaluator(ASMConditionEvaluatorJitter.java:53)

      at org.drools.rule.constraint.MvelConstraint.executeJitting(MvelConstraint.java:217)

      at org.drools.rule.constraint.MvelConstraint.access$000(MvelConstraint.java:41)

      at org.drools.rule.constraint.MvelConstraint$1.run(MvelConstraint.java:201)

      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)

      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)

      at java.lang.Thread.run(Thread.java:810)

 

[08/06/12 10:32:01:107 EDT] 00000079 SystemErr     R at org.mvel2.asm.Frame.merge(Frame.java:1373)

[08/06/12 10:32:01:107 EDT] 00000079 SystemErr     R at org.mvel2.asm.Frame.merge(Frame.java:1329)

[08/06/12 10:32:01:107 EDT] 00000079 SystemErr     R at org.mvel2.asm.MethodWriter.visitMaxs(MethodWriter.java:1282)

[08/06/12 10:32:01:107 EDT] 00000079 SystemErr     R at org.drools.rule.builder.dialect.asm.ClassGenerator$MethodDescr.write(ClassGenerator.java:848)

[08/06/12 10:32:01:107 EDT] 00000079 SystemErr     R ... 10 more

[08/06/12 10:32:01:795 EDT] 0000007b SystemErr     R Exception in thread "Thread-127" java.lang.RuntimeException: Null accessor on node: value

[08/06/12 10:32:01:795 EDT] 0000007b SystemErr     R at org.drools.rule.constraint.ConditionAnalyzer.analyzeNode(ConditionAnalyzer.java:229)

[08/06/12 10:32:01:795 EDT] 0000007b SystemErr     R at org.drools.rule.constraint.ConditionAnalyzer.analyzeNode(ConditionAnalyzer.java:170)

[08/06/12 10:32:01:795 EDT] 0000007b SystemErr     R at org.drools.rule.constraint.ConditionAnalyzer.analyzeSingleCondition(ConditionAnalyzer.java:109)

[08/06/12 10:32:01:795 EDT] 0000007b SystemErr     R at org.drools.rule.constraint.ConditionAnalyzer.analyzeCondition(ConditionAnalyzer.java:102)

[08/06/12 10:32:01:795 EDT] 0000007b SystemErr     R at org.drools.rule.constraint.ConditionAnalyzer.analyzeCondition(ConditionAnalyzer.java:73)

[08/06/12 10:32:01:795 EDT] 0000007b SystemErr     R at org.drools.rule.constraint.MvelConditionEvaluator.getAnalyzedCondition(MvelConditionEvaluator.java:83)

[08/06/12 10:32:01:795 EDT] 0000007b SystemErr     R at org.drools.rule.constraint.MvelConstraint.executeJitting(MvelConstraint.java:214)

[08/06/12 10:32:01:795 EDT] 0000007b SystemErr     R at org.drools.rule.constraint.MvelConstraint.access$000(MvelConstraint.java:41)

[08/06/12 10:32:01:795 EDT] 0000007b SystemErr     R at org.drools.rule.constraint.MvelConstraint$1.run(MvelConstraint.java:201)

[08/06/12 10:32:01:795 EDT] 0000007b SystemErr     R at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)

[08/06/12 10:32:01:795 EDT] 0000007b SystemErr     R at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)

[08/06/12 10:32:01:795 EDT] 0000007b SystemErr     R at java.lang.Thread.run(Thread.java:810)

[08/06/12 10:32:01:795 EDT] 0000007c SystemErr     R Exception in thread "Thread-126" java.lang.RuntimeException: Null accessor on node: value

[08/06/12 10:32:01:795 EDT] 0000007c SystemErr     R at org.drools.rule.constraint.ConditionAnalyzer.analyzeNode(ConditionAnalyzer.java:229)

[08/06/12 10:32:01:795 EDT] 0000007c SystemErr     R at org.drools.rule.constraint.ConditionAnalyzer.analyzeNode(ConditionAnalyzer.java:170)

[08/06/12 10:32:01:795 EDT] 0000007c SystemErr     R at org.drools.rule.constraint.ConditionAnalyzer.analyzeSingleCondition(ConditionAnalyzer.java:109)

[08/06/12 10:32:01:795 EDT] 0000007c SystemErr     R at org.drools.rule.constraint.ConditionAnalyzer.analyzeCondition(ConditionAnalyzer.java:102)

[08/06/12 10:32:01:795 EDT] 0000007c SystemErr     R at org.drools.rule.constraint.ConditionAnalyzer.analyzeCondition(ConditionAnalyzer.java:73)

[08/06/12 10:32:01:795 EDT] 0000007c SystemErr     R at org.drools.rule.constraint.MvelConditionEvaluator.getAnalyzedCondition(MvelConditionEvaluator.java:83)

[08/06/12 10:32:01:795 EDT] 0000007c SystemErr     R at org.drools.rule.constraint.MvelConstraint.executeJitting(MvelConstraint.java:214)

[08/06/12 10:32:01:795 EDT] 0000007c SystemErr     R at org.drools.rule.constraint.MvelConstraint.access$000(MvelConstraint.java:41)

[08/06/12 10:32:01:795 EDT] 0000007c SystemErr     R at org.drools.rule.constraint.MvelConstraint$1.run(MvelConstraint.java:201)

[08/06/12 10:32:01:795 EDT] 0000007c SystemErr     R at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)

[08/06/12 10:32:01:795 EDT] 0000007c SystemErr     R at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)

[08/06/12 10:32:01:795 EDT] 0000007c SystemErr     R at java.lang.Thread.run(Thread.java:810)



--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jboss-jira mailing list