can you share your rules, so we can take a look at what is happening?<br>The stack trace doesn&#39;t offer too much information to be able to analyze what happen.<br><br><br><div class="gmail_quote">2011/3/30 Manuel Ortiz <span dir="ltr">&lt;<a href="mailto:manuel.ortizramos@gmail.com">manuel.ortizramos@gmail.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Hello all!<div><br></div><div>I am new in Drools but day by day, test by test, I think I get a bit more knowledge of how the rule engine works from user point of view. I&#39;ve been adding rules to an alarm system, increasing the complexity and functionality in several steps. Unfortunately in the last step I found the following NullPointerException inside the rule engine...</div>

<div><br></div><div><div>java.lang.NullPointerException</div><div><span style="white-space: pre-wrap;">        </span>at org.drools.reteoo.AccumulateNode.getFirstMatch(AccumulateNode.java:967)</div><div><span style="white-space: pre-wrap;">        </span>at org.drools.reteoo.AccumulateNode.modifyLeftTuple(AccumulateNode.java:329)</div>

<div><span style="white-space: pre-wrap;">        </span>at org.drools.reteoo.SingleLeftTupleSinkAdapter.propagateModifyChildLeftTuple(SingleLeftTupleSinkAdapter.java:239)</div><div><span style="white-space: pre-wrap;">        </span>at org.drools.reteoo.AccumulateNode.evaluateResultConstraints(AccumulateNode.java:640)</div>

<div><span style="white-space: pre-wrap;">        </span>at org.drools.reteoo.AccumulateNode.assertObject(AccumulateNode.java:270)</div><div><span style="white-space: pre-wrap;">        </span>at org.drools.reteoo.BetaNode.modifyObject(BetaNode.java:312)</div>

<div><span style="white-space: pre-wrap;">        </span>at org.drools.reteoo.CompositeObjectSinkAdapter.doPropagateModifyObject(CompositeObjectSinkAdapter.java:460)</div><div><span style="white-space: pre-wrap;">        </span>at org.drools.reteoo.CompositeObjectSinkAdapter.propagateModifyObject(CompositeObjectSinkAdapter.java:428)</div>

<div><span style="white-space: pre-wrap;">        </span>at org.drools.reteoo.AlphaNode.modifyObject(AlphaNode.java:160)</div><div><span style="white-space: pre-wrap;">        </span>at org.drools.reteoo.CompositeObjectSinkAdapter.doPropagateModifyObject(CompositeObjectSinkAdapter.java:460)</div>

<div><span style="white-space: pre-wrap;">        </span>at org.drools.reteoo.CompositeObjectSinkAdapter.propagateModifyObject(CompositeObjectSinkAdapter.java:428)</div><div><span style="white-space: pre-wrap;">        </span>at org.drools.reteoo.ObjectTypeNode.modifyObject(ObjectTypeNode.java:263)</div>

<div><span style="white-space: pre-wrap;">        </span>at org.drools.reteoo.EntryPointNode.modifyObject(EntryPointNode.java:172)</div><div><span style="white-space: pre-wrap;">        </span>at org.drools.common.AbstractWorkingMemory.update(AbstractWorkingMemory.java:1442)</div>

<div><span style="white-space: pre-wrap;">        </span>at org.drools.common.AbstractWorkingMemory.update(AbstractWorkingMemory.java:1349)</div><div><span style="white-space: pre-wrap;">        </span>at org.drools.base.DefaultKnowledgeHelper.update(DefaultKnowledgeHelper.java:183)</div>

<div><span style="white-space: pre-wrap;">        </span>at org.drools.base.DefaultKnowledgeHelper.update(DefaultKnowledgeHelper.java:196)</div><div><span style="white-space: pre-wrap;">        </span>at es.simcasva.alarmas.rules.Rule_Test_Negativo_Alarma_Acceso_Portal_Ubicacion_UM_0.defaultConsequence(Rule_Test_Negativo_Alarma_Acceso_Portal_Ubicacion_UM_0.java:18)</div>

<div><span style="white-space: pre-wrap;">        </span>at es.simcasva.alarmas.rules.Rule_Test_Negativo_Alarma_Acceso_Portal_Ubicacion_UM_0DefaultConsequenceInvoker.evaluate(Rule_Test_Negativo_Alarma_Acceso_Portal_Ubicacion_UM_0DefaultConsequenceInvoker.java:44)</div>

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

<div><span style="white-space: pre-wrap;">        </span>at org.drools.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1071)</div><div><span style="white-space: pre-wrap;">        </span>at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:785)</div>

<div><span style="white-space: pre-wrap;">        </span>at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:751)</div><div><span style="white-space: pre-wrap;">        </span>at org.drools.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:218)</div>

</div><div><br></div><div>I&#39;ve been trying to find the problem, and found a strange interaction between three rules that makes the null pointer to appear. The alarm system has many rules now and it is difficult to simplify the scenario, so I just would like to know what is the funcion of AccumulateNode object in order to have an idea of the NullPointerException possible cause.</div>

<div><br></div><div>Can anyone help me?</div><div><br></div><div>Thank you in advance for your time.</div><div><br></div><div>Regards,</div><div><br></div><font color="#888888"><div>Manuel Ortiz.</div><div><br></div>
</font><br>_______________________________________________<br>
rules-users mailing list<br>
<a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br> - CTO @ <a href="http://www.plugtree.com">http://www.plugtree.com</a>  <br> - MyJourney @ <a href="http://salaboy.wordpress.com">http://salaboy.wordpress.com</a><br>
 - Co-Founder @ <a href="http://www.jbug.com.ar">http://www.jbug.com.ar</a><br> <br> - Salatino &quot;Salaboy&quot; Mauricio -<br>