Uploaded image for project: 'JBRULES'
  1. JBRULES
  2. JBRULES-3681

NullPointerException in ConditionAnalyzer

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

    XMLWordPrintable

Details

    • Bug
    • Resolution: Obsolete
    • Major
    • 6.0.0.Alpha1
    • 5.4.0.Final, 5.5.0.CR1
    • drools-core (expert)
    • None

    Description

      I'm using Drools in a relatively vanilla fashion – not doing anything fancy; no custom DSLs or whatnot. I have a JUnit test case that invokes a set of rules. When the test case is run individually, it passes just fine. However, when the test case is run within a larger test suite (i.e., with other test cases), the test fails. When running the test suite, I do see an exception being thrown by Drools:

      Exception in thread "Thread-1" java.lang.NullPointerException
      at org.drools.rule.constraint.ConditionAnalyzer.analyzeSingleCondition(ConditionAnalyzer.java:116)
      at org.drools.rule.constraint.ConditionAnalyzer.analyzeCondition(ConditionAnalyzer.java:102)
      at org.drools.rule.constraint.ConditionAnalyzer.analyzeCondition(ConditionAnalyzer.java:73)
      at org.drools.rule.constraint.MvelConditionEvaluator.getAnalyzedCondition(MvelConditionEvaluator.java:83)
      at org.drools.rule.constraint.MvelConstraint.executeJitting(MvelConstraint.java:214)
      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:886)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      at java.lang.Thread.run(Thread.java:662)

      I have experienced this behavior sporadically with other test cases as well. FYI, there is no shared data being consumed between test cases. Also, we are using stateless knowledge sessions. Each individual test case will get its own fresh stateless knowledge session instance.

      Is there a way to disable JIT'ing within Drools? (as this seems to be a JIT-related issue). FYI, I experience this issue in the following Drools releases: 5.3.3.Final, 5.4.0.Final and 5.5.0.CR1.

      -Paul

      Attachments

        Activity

          People

            mfusco@redhat.com Mario Fusco
            evansp22 Paul Evans (Inactive)
            Archiver:
            rhn-support-ceverson Clark Everson

            Dates

              Created:
              Updated:
              Resolved:
              Archived:

              PagerDuty