Hi,
I'm getting many of these errors when running the Sudoku Example
java.lang.NullPointerException
at org.drools.reteoo.ReteTuple.get(ReteTuple.java:71)
at org.drools.common.InstanceNotEqualsConstraint
$InstanceNotEqualsConstraintContextEntry.updateFromTuple
(InstanceNotEqualsConstraint.java:112)
at org.drools.common.TripleBetaConstraints.updateFromTuple
(TripleBetaConstraints.java:146)
at org.drools.reteoo.NotNode.assertTuple(NotNode.java:108)
at org.drools.reteoo.SingleTupleSinkAdapter.propagateAssertTuple
(SingleTupleSinkAdapter.java:29)
at org.drools.reteoo.NotNode.assertTuple(NotNode.java:121)
at org.drools.reteoo.SingleTupleSinkAdapter.propagateAssertTuple
(SingleTupleSinkAdapter.java:29)
at org.drools.reteoo.NotNode.assertTuple(NotNode.java:121)
at
org.drools.reteoo.CompositeTupleSinkAdapter.createAndPropagateAssertTupl
e(CompositeTupleSinkAdapter.java:73)
at org.drools.reteoo.LeftInputAdapterNode.assertObject
(LeftInputAdapterNode.java:144)
at org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject
(CompositeObjectSinkAdapter.java:317)
at org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:
183)
at org.drools.reteoo.Rete.assertObject(Rete.java:121)
at org.drools.reteoo.ReteooRuleBase.assertObject(ReteooRuleBase.java:
201)
at org.drools.reteoo.ReteooWorkingMemory.doAssertObject
(ReteooWorkingMemory.java:70)
at org.drools.common.AbstractWorkingMemory.assertObject
(AbstractWorkingMemory.java:735)
at org.drools.base.DefaultKnowledgeHelper.assertObject
(DefaultKnowledgeHelper.java:72)
at org.drools.base.DefaultKnowledgeHelper.assertObject
(DefaultKnowledgeHelper.java:66)
at
org.drools.examples.sudoku.Rule_Rule_1__If_a_field_has_the_value_0__it_i
s_empty__remove_it_and_insert_the_PossibleValues_0.consequence
(Rule_Rule_1__If_a_field_has_the_value_0__it_is_empty__remove_it_and_ins
ert_the_PossibleValues_0.java:8)
at
org.drools.examples.sudoku.Rule_Rule_1__If_a_field_has_the_value_0__it_i
s_empty__remove_it_and_insert_the_PossibleValues_0ConsequenceInvoker.eva
luate
(Rule_Rule_1__If_a_field_has_the_value_0__it_is_empty__remove_it_and_ins
ert_the_PossibleValues_0ConsequenceInvoker.java:22)
at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:
497)
at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:461)
at org.drools.common.AbstractWorkingMemory.fireAllRules
(AbstractWorkingMemory.java:372)
at org.drools.common.AbstractWorkingMemory.fireAllRules
(AbstractWorkingMemory.java:353)
at org.drools.examples.sudoku.SudokuExample.testWithInput
(SudokuExample.java:52)
at org.drools.examples.sudoku.SudokuExample.main(SudokuExample.java:94)
Besides the fact that these errors are naturally bad,
this points out the issue of Drools being very difficult debug when
bad things happen.
Can somebody give some tips of Drool debugging techniques?
Thanks,
--ming