<div><br></div>   Hi Wolfgang,<div><br></div><div>   Can you please open a JIRA for this. </div><div><br></div><div>   It seems the consequence is not properly managing the scope of $m. I.e., it must either cache it locally or queue the WMA until it executes completely.</div>
<div><br></div><div>   Thanks,</div><div>       Edson</div><div><br><div class="gmail_quote">On Fri, Feb 10, 2012 at 6:52 AM, Wolfgang Laun <span dir="ltr">&lt;<a href="mailto:wolfgang.laun@gmail.com">wolfgang.laun@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">5.3.0 Final.<div><br><div>KnowledgeBase using STREAM, running a stateful session in one thread, inserting events from another fact.</div>
<div><br></div><div>class Event{ String name; }</div><div>class Monitor{ Event event; String name; }</div>
<div><br></div><div>rule &quot;start monitoring&quot;</div><div>when</div><div>   $e: Event($name: name)</div><div>   not Monitor( name == $name )</div><div>then</div><div>   insert( new Monitor( $e, $name ) );</div><div>

end</div><div><br></div><div>rule &quot;timeout&quot;</div><div>timer( int: 10s )</div><div>when</div><div>    $m: Monitor( name == $name )</div><div>    $e: Event($name: name)</div><div>then</div><div>    retract( $m );            // =======================</div>

<div>    retract( $m.getEvent() );  // ========================</div><div>end</div><div><br></div><div>This order of retracts results in a NPE, see the dump below.</div><div><br></div><div>Reversing these two works correctly.</div>

<div><br></div><div><div>Exception in thread &quot;main&quot; Exception executing consequence for rule &quot;start monitoring&quot; in hashcode: java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.drools.runtime.rule.impl.DefaultConsequenceExceptionHandler.handleException(DefaultConsequenceExceptionHandler.java:39)</div>

<div><span style="white-space:pre-wrap">        </span>at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:1101)</div><div><span style="white-space:pre-wrap">        </span>at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:1029)</div>

<div><span style="white-space:pre-wrap">        </span>at org.drools.common.DefaultAgenda.fireUntilHalt(DefaultAgenda.java:1229)</div><div><span style="white-space:pre-wrap">        </span>at org.drools.common.AbstractWorkingMemory.fireUntilHalt(AbstractWorkingMemory.java:753)</div>

<div><span style="white-space:pre-wrap">        </span>at org.drools.common.AbstractWorkingMemory.fireUntilHalt(AbstractWorkingMemory.java:729)</div><div><span style="white-space:pre-wrap">        </span>at org.drools.impl.StatefulKnowledgeSessionImpl.fireUntilHalt(StatefulKnowledgeSessionImpl.java:234)</div>

<div><span style="white-space:pre-wrap">        </span>at hashcode.Main.execute(Main.java:148)</div><div><span style="white-space:pre-wrap">        </span>at hashcode.Main.main(Main.java:206)</div><div>
Caused by: java.lang.NullPointerException</div><div><span style="white-space:pre-wrap">        </span>at org.drools.base.hashcode.StateEvent42211789$getItemName.getValue(Unknown Source)</div><div><span style="white-space:pre-wrap">        </span>at org.drools.base.ClassFieldReader.getValue(ClassFieldReader.java:87)</div>

<div><span style="white-space:pre-wrap">        </span>at org.drools.rule.Declaration.getValue(Declaration.java:219)</div><div><span style="white-space:pre-wrap">        </span>at hashcode.Rule_start_monitoringDefaultConsequenceInvoker.evaluate(Unknown Source)</div>

<div><span style="white-space:pre-wrap">        </span>at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:1091)</div><div><span style="white-space:pre-wrap">        </span>... 7 more</div>
</div><div><br></div></div>
<br>_______________________________________________<br>
rules-dev mailing list<br>
<a href="mailto:rules-dev@lists.jboss.org">rules-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-dev</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>  Edson Tirelli<br>  JBoss Drools Core Development<br>  JBoss by Red Hat @ <a href="http://www.jboss.com">www.jboss.com</a><br>
</div>