[rules-users] New in Drools, java.lang.NullPointerException at org.drools.reteoo.AccumulateNode.getFirstMatch(AccumulateNode.java:967)

Wolfgang Laun wolfgang.laun at gmail.com
Thu Mar 31 04:40:09 EDT 2011


2011/3/31 Manuel Ortiz <manuel.ortizramos at gmail.com>

> Hi Wofgang:
>
> Thank youvery much for your response. I was replaying to Mauricio when your
> email has arrived. I hope the test case is useful.
>
>
Thanks. Files are attached to the JIRA and JIRA is now at "critical".
-W


> Best regards,
>
> Manuel Ortiz.
>
>
> 2011/3/31 Wolfgang Laun <wolfgang.laun at gmail.com>
>
>> Manuel,
>>
>> I have reported this (or a very similar) problem
>> https://issues.jboss.org/browse/JBRULES-2887  with a small example to
>> reproduce.
>>
>> 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
>> "accumulate" phrase, (If this pattern is different from the one I gave, I'll
>> raise the issue priority to "critical".)
>>
>> Cheers
>> Wolfgang
>>
>>
>> 2011/3/30 Manuel Ortiz <manuel.ortizramos at gmail.com>
>>
>>> Hello all!
>>>
>>> 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'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...
>>>
>>> java.lang.NullPointerException
>>> at
>>> org.drools.reteoo.AccumulateNode.getFirstMatch(AccumulateNode.java:967)
>>> at
>>> org.drools.reteoo.AccumulateNode.modifyLeftTuple(AccumulateNode.java:329)
>>>  at
>>> org.drools.reteoo.SingleLeftTupleSinkAdapter.propagateModifyChildLeftTuple(SingleLeftTupleSinkAdapter.java:239)
>>> at
>>> org.drools.reteoo.AccumulateNode.evaluateResultConstraints(AccumulateNode.java:640)
>>>  at
>>> org.drools.reteoo.AccumulateNode.assertObject(AccumulateNode.java:270)
>>> at org.drools.reteoo.BetaNode.modifyObject(BetaNode.java:312)
>>>  at
>>> org.drools.reteoo.CompositeObjectSinkAdapter.doPropagateModifyObject(CompositeObjectSinkAdapter.java:460)
>>> at
>>> org.drools.reteoo.CompositeObjectSinkAdapter.propagateModifyObject(CompositeObjectSinkAdapter.java:428)
>>>  at org.drools.reteoo.AlphaNode.modifyObject(AlphaNode.java:160)
>>> at
>>> org.drools.reteoo.CompositeObjectSinkAdapter.doPropagateModifyObject(CompositeObjectSinkAdapter.java:460)
>>>  at
>>> org.drools.reteoo.CompositeObjectSinkAdapter.propagateModifyObject(CompositeObjectSinkAdapter.java:428)
>>> at org.drools.reteoo.ObjectTypeNode.modifyObject(ObjectTypeNode.java:263)
>>>  at
>>> org.drools.reteoo.EntryPointNode.modifyObject(EntryPointNode.java:172)
>>> at
>>> org.drools.common.AbstractWorkingMemory.update(AbstractWorkingMemory.java:1442)
>>>  at
>>> org.drools.common.AbstractWorkingMemory.update(AbstractWorkingMemory.java:1349)
>>> at
>>> org.drools.base.DefaultKnowledgeHelper.update(DefaultKnowledgeHelper.java:183)
>>>  at
>>> org.drools.base.DefaultKnowledgeHelper.update(DefaultKnowledgeHelper.java:196)
>>> 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)
>>>  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)
>>>  at
>>> org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:917)
>>> at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:856)
>>>  at
>>> org.drools.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1071)
>>> at
>>> org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:785)
>>>  at
>>> org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:751)
>>> at
>>> org.drools.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:218)
>>>
>>> I'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.
>>>
>>> Can anyone help me?
>>>
>>> Thank you in advance for your time.
>>>
>>> Regards,
>>>
>>> Manuel Ortiz.
>>>
>>>
>>> _______________________________________________
>>> rules-users mailing list
>>> rules-users at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/rules-users
>>>
>>>
>>
>> _______________________________________________
>> rules-users mailing list
>> rules-users at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
>>
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20110331/dbd6be8c/attachment.html 


More information about the rules-users mailing list