Uploaded image for project: 'JBRULES'
  1. JBRULES
  2. JBRULES-2957

Error "Unexpected exception executing action org.drools.reteoo.PropagationQueuingNode$PropagateAction@631b86c7" with two after-clauses

This issue belongs to an archived project. You can view it, but you can't modify it. Learn more

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 5.2.0.CR1
    • 5.1.1.FINAL, 5.2.0.M1
    • drools-core (fusion)
    • None

    Description

      I'm getting the following Error "Unexpected exception executing action org.drools.reteoo.PropagationQueuingNode$PropagateAction@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 which reproduces the exception.
      And here the Failure Trace:

      org.drools.RuntimeDroolsException: Unexpected exception executing action org.drools.reteoo.PropagationQueuingNode$PropagateAction@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

      Attachments

        Issue Links

          Activity

            People

              etirelli@redhat.com Edson Tirelli
              quivler Armin Steudte (Inactive)
              Archiver:
              rhn-support-ceverson Clark Everson

              Dates

                Created:
                Updated:
                Resolved:
                Archived:

                PagerDuty