<HTML><BODY style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; ">Michael,<DIV><BR class="khtml-block-placeholder"></DIV><DIV>This is the example in the drools-examples directory, org.drools.examples.sudoku.SudokuExample.</DIV><DIV>I'm running latest code from the repository using Intellij, JDK 1.5 on OS X.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>--ming</DIV><DIV><BR><DIV><DIV>On May 25, 2007, at 12:48 AM, Michael Neale wrote:</DIV><BR class="Apple-interchange-newline"><BLOCKQUOTE type="cite">Errors like that are not normal, and definitely indicates a bug (ie not a compile error or anything - not something you should have to debug). So some more information is needed like versions, how you are running it, where the example came from etc (as there are a few versions floating around). <BR><BR><DIV><SPAN class="gmail_quote">On 5/25/07, <B class="gmail_sendername">Ming Fang</B> &lt;<A href="mailto:mingfang@mac.com">mingfang@mac.com</A>&gt; wrote:</SPAN><BLOCKQUOTE class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> Hi,<BR>I'm getting many of these errors when running the Sudoku Example<BR><BR>java.lang.NullPointerException<BR>        at org.drools.reteoo.ReteTuple.get(ReteTuple.java:71)<BR>        at org.drools.common.InstanceNotEqualsConstraint <BR>$InstanceNotEqualsConstraintContextEntry.updateFromTuple<BR>(InstanceNotEqualsConstraint.java:112)<BR>        at org.drools.common.TripleBetaConstraints.updateFromTuple<BR>(TripleBetaConstraints.java:146)<BR>        at org.drools.reteoo.NotNode.assertTuple(NotNode.java:108)<BR>        at org.drools.reteoo.SingleTupleSinkAdapter.propagateAssertTuple<BR>(SingleTupleSinkAdapter.java:29)<BR>        at org.drools.reteoo.NotNode.assertTuple(NotNode.java :121)<BR>        at org.drools.reteoo.SingleTupleSinkAdapter.propagateAssertTuple<BR>(SingleTupleSinkAdapter.java:29)<BR>        at org.drools.reteoo.NotNode.assertTuple(NotNode.java:121)<BR>        at<BR>org.drools.reteoo.CompositeTupleSinkAdapter.createAndPropagateAssertTupl <BR>e(CompositeTupleSinkAdapter.java:73)<BR>        at org.drools.reteoo.LeftInputAdapterNode.assertObject<BR>(LeftInputAdapterNode.java:144)<BR>        at org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject <BR>(CompositeObjectSinkAdapter.java:317)<BR>        at org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:<BR>183)<BR>        at org.drools.reteoo.Rete.assertObject(Rete.java:121)<BR>        at org.drools.reteoo.ReteooRuleBase.assertObject (ReteooRuleBase.java:<BR>201)<BR>        at org.drools.reteoo.ReteooWorkingMemory.doAssertObject<BR>(ReteooWorkingMemory.java:70)<BR>        at org.drools.common.AbstractWorkingMemory.assertObject<BR>(AbstractWorkingMemory.java :735)<BR>        at org.drools.base.DefaultKnowledgeHelper.assertObject<BR>(DefaultKnowledgeHelper.java:72)<BR>        at org.drools.base.DefaultKnowledgeHelper.assertObject<BR>(DefaultKnowledgeHelper.java:66)<BR>        at <BR>org.drools.examples.sudoku.Rule_Rule_1__If_a_field_has_the_value_0__it_i<BR>s_empty__remove_it_and_insert_the_PossibleValues_0.consequence<BR>(Rule_Rule_1__If_a_field_has_the_value_0__it_is_empty__remove_it_and_ins<BR> ert_the_PossibleValues_0.java:8)<BR>        at<BR>org.drools.examples.sudoku.Rule_Rule_1__If_a_field_has_the_value_0__it_i<BR>s_empty__remove_it_and_insert_the_PossibleValues_0ConsequenceInvoker.eva<BR>luate<BR>(Rule_Rule_1__If_a_field_has_the_value_0__it_is_empty__remove_it_and_ins <BR>ert_the_PossibleValues_0ConsequenceInvoker.java:22)<BR>        at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:<BR>497)<BR>        at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java :461)<BR>        at org.drools.common.AbstractWorkingMemory.fireAllRules<BR>(AbstractWorkingMemory.java:372)<BR>        at org.drools.common.AbstractWorkingMemory.fireAllRules<BR>(AbstractWorkingMemory.java:353)<BR>        at org.drools.examples.sudoku.SudokuExample.testWithInput<BR>(SudokuExample.java:52)<BR>        at org.drools.examples.sudoku.SudokuExample.main(SudokuExample.java:94)<BR><BR><BR>Besides the fact that these errors are naturally bad, <BR>this points out the issue of Drools being very difficult debug when<BR>bad things happen.<BR>Can somebody give some tips of Drool debugging techniques?<BR><BR>Thanks,<BR>--ming<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">https://lists.jboss.org/mailman/listinfo/rules-users </A><BR></BLOCKQUOTE></DIV><BR><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">_______________________________________________</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">rules-users mailing list</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><A href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</A></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><A href="https://lists.jboss.org/mailman/listinfo/rules-users">https://lists.jboss.org/mailman/listinfo/rules-users</A></DIV> </BLOCKQUOTE></DIV><BR></DIV></BODY></HTML>