Uploaded image for project: 'JBoss BRMS Platform'
  1. JBoss BRMS Platform
  2. RHBRMS-2892

Jitting process may randomly fail during multithreaded execution

This issue belongs to an archived project. You can view it, but you can't modify it. Learn more

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 6.4.6, 6.4.6.GA
    • 6.4.4.GA
    • BRE
    • None
    • CR1
    • 2017 Week 34-35

      The jitting process assumes that the mvel constraint has been evaluated at least once before it kicks in. This may not be the case during a multithreaded execution (especially when running with many threads and a very low jitting threshold) because the jitting process may start when other threads have already requested the constraint evaluation using the mvel interpreted constraint (thus incrementing the jitting counter) but none of them had enough time to complete it. When this happens the jitting process trying to work on an uncompleted AST throwing internally an exception like the following:

      Exception in thread "drools-worker-1" java.lang.RuntimeException: java.lang.RuntimeException: Null accessor on node: firings
      	at org.drools.core.rule.constraint.MvelConstraint.executeJitting(MvelConstraint.java:346)
      	at org.drools.core.rule.constraint.MvelConstraint.access$200(MvelConstraint.java:82)
      	at org.drools.core.rule.constraint.MvelConstraint$ConditionJitter.run(MvelConstraint.java:313)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      	at java.lang.Thread.run(Thread.java:748)
      Caused by: java.lang.RuntimeException: Null accessor on node: firings
      	at org.drools.core.rule.constraint.ConditionAnalyzer.analyzeNode(ConditionAnalyzer.java:302)
      	at org.drools.core.rule.constraint.ConditionAnalyzer.analyzeSingleCondition(ConditionAnalyzer.java:159)
      	at org.drools.core.rule.constraint.ConditionAnalyzer.analyzeCondition(ConditionAnalyzer.java:138)
      	at org.drools.core.rule.constraint.ConditionAnalyzer.analyzeCondition(ConditionAnalyzer.java:109)
      	at org.drools.core.rule.constraint.MvelConditionEvaluator.getAnalyzedCondition(MvelConditionEvaluator.java:129)
      	at org.drools.core.rule.constraint.MvelConstraint.executeJitting(MvelConstraint.java:333)
      	... 5 more
      

              mfusco@redhat.com Mario Fusco
              mfusco@redhat.com Mario Fusco
              Archiver:
              rhn-support-ceverson Clark Everson
              Tibor Zimányi Tibor Zimányi
              Tibor Zimányi Tibor Zimányi

                Created:
                Updated:
                Resolved:
                Archived: