[rules-users] Problem with rule: Unexpected exception executing action org.drools.reteoo.PropagationQueuingNode$PropagateAction at 631b86c7

Wolfgang Laun wolfgang.laun at gmail.com
Thu Apr 14 13:55:44 EDT 2011


This does not explain the exception, but the logic expressed in the comment
is:
  // und in den nächsten 20 sek wird die gleiche Platte nicht ausgeschaltet
  // *oder *es wird in den nächsten 20 sek kein Topf auf die Platte gestellt
but the "not" CEs are implicitly connected by *and*.

Nevertheless, please file a JIRA, with code to reproduce the exception.

-W

On 14 April 2011 18:37, quivler <asteudte at gmx.de> wrote:

> Hey I'm getting the following Error "Unexpected exception executing action
> org.drools.reteoo.PropagationQueuingNode$PropagateAction at 631b86c7" with
> one
> off my rules in my project.
> The problem is linked with the use of two after statements in one rule.
> If I delete one of them everything works like a charm.
> The rule looks like this:
>
> // Regeln
> rule "Vergessene Herdplatte"
>
>    when
>        // Platte wurde eingeschaltet und es steht kein Topf auf ihr
>        $platte: HerdplatteEingeschaltet( plateOccupied == false ) from
> entry-point events
>        // und in den nächsten 20 sek wird die gleiche Platte nicht
> ausgeschaltet
>        not( HerdplatteAusgeschaltet( this.nummer == $platte.nummer, this
> after[0s,20s] $platte ) from entry-point events )
>        // oder es wird in den nächsten 20 sek kein Topf auf die Platte
> gestellt
>        not( TopfAufHerdplatte( this.nummer == $platte.nummer, this
> after[0s,20s] $platte ) from entry-point events )
>    then
>        System.out.println("Vergessene Herdplatte erkannt!");
>
> end
>
> If I comment one of the not-clause out, it works.
> I created an unit-test
> http://drools.46999.n3.nabble.com/file/n2821121/TestProject.zip
> TestProject.zip  which reproduces the exception.
> And here the Failure Trace:
>
> org.drools.RuntimeDroolsException: Unexpected exception executing action
> org.drools.reteoo.PropagationQueuingNode$PropagateAction at 631b86c7
>        at
>
> org.drools.common.AbstractWorkingMemory.executeQueuedActions(AbstractWorkingMemory.java:1473)
>        at
> org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:182)
>        at
> org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:145)
>        at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:96)
>        at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:44)
>        at com.sample.FusionTest.testRule(FusionTest.java:79)
>        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:597)
>        at
>
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
>        at
>
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
>        at
>
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
>        at
>
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
>        at
>
> org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
>        at
>
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
>        at
>
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
>        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
>        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
>        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
>        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
>        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
>        at
>
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
>        at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
>        at
>
> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49)
>        at
>
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
>        at
>
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
>        at
>
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
>        at
>
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
>        at
>
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
> Caused by: java.lang.NullPointerException
>        at
>
> org.drools.time.impl.CompositeMaxDurationTimer.createTrigger(CompositeMaxDurationTimer.java:58)
>        at org.drools.common.Scheduler.scheduleAgendaItem(Scheduler.java:55)
>        at
> org.drools.common.DefaultAgenda.scheduleItem(DefaultAgenda.java:314)
>        at
>
> org.drools.reteoo.RuleTerminalNode.assertLeftTuple(RuleTerminalNode.java:185)
>        at
>
> org.drools.reteoo.SingleLeftTupleSinkAdapter.doPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:189)
>        at
>
> org.drools.reteoo.SingleLeftTupleSinkAdapter.propagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:78)
>        at org.drools.reteoo.NotNode.assertLeftTuple(NotNode.java:101)
>        at
>
> org.drools.reteoo.SingleLeftTupleSinkAdapter.doPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:189)
>        at
>
> org.drools.reteoo.SingleLeftTupleSinkAdapter.propagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:78)
>        at org.drools.reteoo.NotNode.assertLeftTuple(NotNode.java:101)
>        at
>
> org.drools.reteoo.SingleLeftTupleSinkAdapter.doPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:189)
>        at
>
> org.drools.reteoo.SingleLeftTupleSinkAdapter.propagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:64)
>        at org.drools.reteoo.JoinNode.assertObject(JoinNode.java:128)
>        at
>
> org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:59)
>        at
>
> org.drools.reteoo.PropagationQueuingNode$AssertAction.execute(PropagationQueuingNode.java:347)
>        at
>
> org.drools.reteoo.PropagationQueuingNode.propagateActions(PropagationQueuingNode.java:229)
>        at
>
> org.drools.reteoo.PropagationQueuingNode$PropagateAction.execute(PropagationQueuingNode.java:443)
>        at
>
> org.drools.common.AbstractWorkingMemory.executeQueuedActions(AbstractWorkingMemory.java:1471)
>        ... 29 more
>
>
> Can anybody please help me.
>
> Thanks in advance.
> Armin
>
>
>
> --
> View this message in context:
> http://drools.46999.n3.nabble.com/Problem-with-rule-Unexpected-exception-executing-action-org-drools-reteoo-PropagationQueuingNode-Pro7-tp2821121p2821121.html
> Sent from the Drools: User forum mailing list archive at Nabble.com.
>
> _______________________________________________
> 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/20110414/c336eeff/attachment.html 


More information about the rules-users mailing list