[rules-users] Sudoku Example Errors

Ming Fang mingfang at mac.com
Thu May 24 23:20:20 EDT 2007


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 



More information about the rules-users mailing list