NullPointerException while executing DRL in RHDM 7.x

Solution Unverified - Updated -

Issue

  • Rules are authored as below
rule Rule1
when
  not String()
  List() from collect (Integer() from new Integer [] {1,2})
  Boolean() // always false
then
end

rule Rule2
when
  not String()
  List() from collect (Integer() from new Integer [] {1,2})
 then
  insert(new String());
end

Rule execution is failing with NPE:

java.lang.NullPointerException
    at org.drools.core.common.TupleSetsImpl.setNextTuple(TupleSetsImpl.java:349)
    at org.drools.core.common.TupleSetsImpl.removeInsert(TupleSetsImpl.java:167)
    at org.drools.core.phreak.RuleNetworkEvaluator.doRiaNode2(RuleNetworkEvaluator.java:705)
    at org.drools.core.phreak.RuleNetworkEvaluator.innerEval(RuleNetworkEvaluator.java:334)
    at org.drools.core.phreak.RuleNetworkEvaluator.doRiaNode(RuleNetworkEvaluator.java:631)
    at org.drools.core.phreak.RuleNetworkEvaluator.evalBetaNode(RuleNetworkEvaluator.java:554)
    at org.drools.core.phreak.RuleNetworkEvaluator.evalNode(RuleNetworkEvaluator.java:386)
    at org.drools.core.phreak.RuleNetworkEvaluator.innerEval(RuleNetworkEvaluator.java:346)
    at org.drools.core.phreak.RuleNetworkEvaluator.outerEval(RuleNetworkEvaluator.java:182)
    at org.drools.core.phreak.RuleNetworkEvaluator.evaluateNetwork(RuleNetworkEvaluator.java:140)
    at org.drools.core.phreak.RuleExecutor.reEvaluateNetwork(RuleExecutor.java:235)
    at org.drools.core.phreak.RuleExecutor.fire(RuleExecutor.java:179)
    at org.drools.core.phreak.RuleExecutor.evaluateNetworkAndFire(RuleEx

Environment

  • Red Hat Decision Manager
    • 7.x

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content