Manuel,<br><br>I have reported this (or a very similar) problem <a href="https://issues.jboss.org/browse/JBRULES-2887">https://issues.jboss.org/browse/JBRULES-2887</a>  with a small example to reproduce.<br><br>The stack trace is not identical, so please try to reproduce this with a small test case; it is bound to happen with a rule (Test Negativo Alarma Acceso Portal Ubicacion UM) that modifies some fact that is used in an &quot;accumulate&quot; phrase, (If this pattern is different from the one I gave, I&#39;ll raise the issue priority to &quot;critical&quot;.)<br>
<br>Cheers<br>Wolfgang<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="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; 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>