After an updateToVersion where a rule is removed from the KieBase,
fireAllRules fails with the exception below.
Note: This happens with versions 6.4.0.Final-redhat-6 and later
(including latest master)
The following commit seems to be causing the NPE:
https://issues.jboss.org/browse/DROOLS-1147
https://github.com/kiegroup/drools/commit/8897a8dcccce10a93803d7073ecf499f3d4656ec
java.lang.NullPointerException at org.drools.core.phreak.SegmentUtilities.createChildSegments(SegmentUtilities.java:305) at org.drools.core.reteoo.LeftInputAdapterNode.doInsertObject(LeftInputAdapterNode.java:185) at org.drools.core.reteoo.LeftInputAdapterNode.assertObject(LeftInputAdapterNode.java:169) at org.drools.core.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:63) at org.drools.core.reteoo.ObjectTypeNode.propagateAssert(ObjectTypeNode.java:304) at org.drools.core.phreak.PropagationEntry$Insert.execute(PropagationEntry.java:120) at org.drools.core.phreak.SynchronizedPropagationList.flush(SynchronizedPropagationList.java:82) at org.drools.core.phreak.SynchronizedPropagationList.flush(SynchronizedPropagationList.java:77) at org.drools.core.impl.StatefulKnowledgeSessionImpl.flushPropagations(StatefulKnowledgeSessionImpl.java:2044) at org.drools.core.common.DefaultAgenda.fireLoop(DefaultAgenda.java:1334) at org.drools.core.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1288) at org.drools.core.impl.StatefulKnowledgeSessionImpl.internalFireAllRules(StatefulKnowledgeSessionImpl.java:1333) at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1324) at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1305) at CreateChildSegmentNpeTest.fireAllRules(CreateChildSegmentNpeTest.java:91) at CreateChildSegmentNpeTest.reproducer(CreateChildSegmentNpeTest.java:126)
- is cloned by
-
DROOLS-4454 NullPointerException at org.drools.core.phreak.SegmentUtilities.createChildSegments with a removed rule in updateToVersion
- Closed