if you are still getting it, would be be possible to bundle up a self
contained test and attach it to a JIRA?
As it is, we can't reproduce it, but would like to !
Michael.
On 4/25/06, Mitch Christensen <[EMAIL PROTECTED]> wrote:
>
> Hey,
>
>
>
> I was cranking along writing rules when all of a sudden JUnit reported an
> NPE (see below) during WorkingMemory.fireAllRules(). The rule referenced
> in
> the stack trace is as follows,
>
>
>
> rule "Add report periods to the FEQueryList"
>
> when
>
> tr : TimeRange(level == TimeRange.FE, durationInMillis > 0 )
>
> ctx : HashMap()
>
> eval(ctx.containsKey("FEQueryList"))
>
> then
>
> System.out.println("Adding FE period to the list");
>
> Vector v = (Vector)ctx.get("FEQueryList");
>
> HashMap m = new HashMap();
>
> v.add(m);
>
> m.put("st", new Long(tr.getStartTime()));
>
> m.put("et", new Long(tr.getEndTime()));
>
> m.put("relation", "PMI_FE");
>
> retract(tr);
>
> end
>
>
>
> The NPE occurs on the retract() on the last line of the consequence.
>
>
>
> I'm not exactly sure what to do about it. I suppose I could look at the
> code.
>
>
>
> Any suggestions?
>
>
>
> Thanks.
>
> -MItch
>
>
>
> org.drools.spi.ConsequenceException: java.lang.NullPointerException
>
> at org.drools.common.Agenda.fireActivation(Agenda.java:327)
>
> at org.drools.common.Agenda.fireNextItem(Agenda.java:303)
>
> at
> org.drools.reteoo.WorkingMemoryImpl.fireAllRules(WorkingMemoryImpl.java
> :248)
>
> at
> org.drools.reteoo.WorkingMemoryImpl.fireAllRules(WorkingMemoryImpl.java
> :261)
>
> at
>
> com.packetmotion.trinity.gsm.report.RuleEngineTest.testContextBuilderFe2Dail
> y(RuleEngineTest.java:358)
>
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java
> :39
> )
>
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke
> (DelegatingMethodAccessorImpl
> .java:25)
>
> at java.lang.reflect.Method.invoke(Method.java:324)
>
> at junit.framework.TestCase.runTest(TestCase.java:154)
>
> at junit.framework.TestCase.runBare(TestCase.java:127)
>
> at junit.framework.TestResult$1.protect(TestResult.java:106)
>
> at junit.framework.TestResult.runProtected(TestResult.java
> :124)
>
> at junit.framework.TestResult.run(TestResult.java:109)
>
> at junit.framework.TestCase.run(TestCase.java:118)
>
> at junit.framework.TestSuite.runTest(TestSuite.java:208)
>
> at junit.framework.TestSuite.run(TestSuite.java:203)
>
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests
> (RemoteTestRu
> nner.java:481)
>
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run
> (RemoteTestRunner.
> java:347)
>
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main
> (RemoteTestRunner
> .java:197)
>
> Caused by: java.lang.NullPointerException
>
> at
> org.drools.reteoo.beta.DefaultRightMemory.remove(DefaultRightMemory.java
> :64)
>
> at org.drools.reteoo.BetaMemory.remove(BetaMemory.java:150)
>
> at org.drools.reteoo.NotNode.retractObject(NotNode.java:178)
>
> at
> org.drools.reteoo.ObjectSource.propagateRetractObject(ObjectSource.java
> :128)
>
> at
> org.drools.reteoo.ObjectTypeNode.retractObject(ObjectTypeNode.java:152)
>
> at org.drools.reteoo.Rete.retractObject(Rete.java:153)
>
> at
> org.drools.reteoo.RuleBaseImpl.retractObject(RuleBaseImpl.java:272)
>
> at
> org.drools.reteoo.WorkingMemoryImpl.retractObject(WorkingMemoryImpl.java
> :601
> )
>
> at
> org.drools.base.DefaultKnowledgeHelper.retractObject
> (DefaultKnowledgeHelper.
> java:87)
>
> at
>
> com.packetmotion.trinity.sqlgen.ContextBuilder.Rule_Add_report_periods_to_th
>
> e_FEQueryList_0.consequence(Rule_Add_report_periods_to_the_FEQueryList_0.jav
> a:23)
>
> at
>
> com.packetmotion.trinity.sqlgen.ContextBuilder.Rule_Add_report_periods_to_th
>
> e_FEQueryList_0ConsequenceInvoker.evaluate(Rule_Add_report_periods_to_the_FE
> QueryList_0ConsequenceInvoker.java:22)
>
> at org.drools.common.Agenda.fireActivation(Agenda.java:325)
>
> ... 19 more
>
>
>
>
>