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

Mario Fusco (JIRA) jira-events at lists.jboss.org
Thu Aug 16 06:57:14 EDT 2012


     [ https://issues.jboss.org/browse/JBRULES-3570?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mario Fusco resolved JBRULES-3570.
----------------------------------

    Resolution: Cannot Reproduce Bug

    
> JIT exception on multithread environment
> ----------------------------------------
>
>                 Key: JBRULES-3570
>                 URL: https://issues.jboss.org/browse/JBRULES-3570
>             Project: Drools
>          Issue Type: Bug
>      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: Mario Fusco
>
> 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