[
https://issues.jboss.org/browse/JBRULES-3383?page=com.atlassian.jira.plug...
]
Mario Fusco reassigned JBRULES-3383:
------------------------------------
Assignee: Mario Fusco (was: Mark Proctor)
Order of fact retractions causes NPE
------------------------------------
Key: JBRULES-3383
URL:
https://issues.jboss.org/browse/JBRULES-3383
Project: Drools
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: drools-core, drools-core (expert)
Affects Versions: 5.3.0.Final
Reporter: Wolfgang Laun
Assignee: Mario Fusco
Priority: Critical
Fix For: 5.3.2.Final, 5.4.0.CR1
Attachments: events.drl, Main.java, Monitor.java, StateEvent.java
Insert one from each, the second referencing the first:
class Event{ String name; }
class Monitor{ Event event; String name; }
The following rule runs into a NPE, except when reversing the marked lines.
rule "timeout"
timer( int: 10s )
when
$m: Monitor( name == $name )
$e: Event($name: name)
then
retract( $m ); // =======================
retract( $m.getEvent() ); // ========================
end
Exception in thread "main" Exception executing consequence for rule "start
monitoring" in hashcode: java.lang.NullPointerException
at
org.drools.runtime.rule.impl.DefaultConsequenceExceptionHandler.handleException(DefaultConsequenceExceptionHandler.java:39)
at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:1101)
at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:1029)
at org.drools.common.DefaultAgenda.fireUntilHalt(DefaultAgenda.java:1229)
at
org.drools.common.AbstractWorkingMemory.fireUntilHalt(AbstractWorkingMemory.java:753)
at
org.drools.common.AbstractWorkingMemory.fireUntilHalt(AbstractWorkingMemory.java:729)
at
org.drools.impl.StatefulKnowledgeSessionImpl.fireUntilHalt(StatefulKnowledgeSessionImpl.java:234)
at hashcode.Main.execute(Main.java:148)
at hashcode.Main.main(Main.java:206)
Caused by: java.lang.NullPointerException
at org.drools.base.hashcode.StateEvent42211789$getItemName.getValue(Unknown Source)
at org.drools.base.ClassFieldReader.getValue(ClassFieldReader.java:87)
at org.drools.rule.Declaration.getValue(Declaration.java:219)
at hashcode.Rule_start_monitoringDefaultConsequenceInvoker.evaluate(Unknown Source)
at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:1091)
... 7 more
--
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