[jboss-jira] [JBoss JIRA] (JBRULES-3383) Order of fact retractions causes NPE

Wolfgang Laun (JIRA) jira-events at lists.jboss.org
Fri Feb 10 09:03:48 EST 2012


     [ https://issues.jboss.org/browse/JBRULES-3383?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Wolfgang Laun updated JBRULES-3383:
-----------------------------------

    Attachment: events.drl
                Main.java
                Monitor.java
                StateEvent.java


All files are in package "hashcode" (sorry).

                
> 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: Mark Proctor
>            Priority: Critical
>         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

        


More information about the jboss-jira mailing list