Uploaded image for project: 'Drools'
  1. Drools
  2. DROOLS-2134

OOPathTest#testDeclarationOutsideOOPath fails with ClassCastException when jitting is enforced

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Minor
    • None
    • 7.4.1.Final
    • core engine
    • 2017 Week 45-46
    • NEW
    • NEW

    Description

      When trying to run OOPathTest#testDeclarationOutsideOOPath [1] with enforced jitting, the test fails with following exception:

      java.lang.RuntimeException: Error evaluating constraint 'this != $ic1' in []
      
      	at org.drools.core.rule.constraint.MvelConstraint.evaluate(MvelConstraint.java:273)
      	at org.drools.core.rule.constraint.MvelConstraint.isAllowedCachedLeft(MvelConstraint.java:233)
      	at org.drools.core.common.DoubleBetaConstraints.isAllowedCachedLeft(DoubleBetaConstraints.java:109)
      	at org.drools.core.phreak.PhreakFromNode.propagate(PhreakFromNode.java:317)
      	at org.drools.core.phreak.PhreakFromNode.checkConstraintsAndPropagate(PhreakFromNode.java:290)
      	at org.drools.core.phreak.PhreakFromNode.doLeftInserts(PhreakFromNode.java:120)
      	at org.drools.core.phreak.PhreakFromNode.doNode(PhreakFromNode.java:68)
      	at org.drools.core.phreak.PhreakReactiveFromNode.doNode(PhreakReactiveFromNode.java:34)
      	at org.drools.core.phreak.RuleNetworkEvaluator.evalNode(RuleNetworkEvaluator.java:392)
      	at org.drools.core.phreak.RuleNetworkEvaluator.innerEval(RuleNetworkEvaluator.java:333)
      	at org.drools.core.phreak.RuleNetworkEvaluator.outerEval(RuleNetworkEvaluator.java:169)
      	at org.drools.core.phreak.RuleNetworkEvaluator.evaluateNetwork(RuleNetworkEvaluator.java:127)
      	at org.drools.core.phreak.RuleExecutor.reEvaluateNetwork(RuleExecutor.java:212)
      	at org.drools.core.phreak.RuleExecutor.evaluateNetworkAndFire(RuleExecutor.java:87)
      	at org.drools.core.concurrent.AbstractRuleEvaluator.internalEvaluateAndFire(AbstractRuleEvaluator.java:34)
      	at org.drools.core.concurrent.SequentialRuleEvaluator.evaluateAndFire(SequentialRuleEvaluator.java:43)
      	at org.drools.core.common.DefaultAgenda.fireLoop(DefaultAgenda.java:1067)
      	at org.drools.core.common.DefaultAgenda.internalFireAllRules(DefaultAgenda.java:1014)
      	at org.drools.core.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1006)
      	at org.drools.core.impl.StatefulKnowledgeSessionImpl.internalFireAllRules(StatefulKnowledgeSessionImpl.java:1320)
      	at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1311)
      	at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1295)
      	at org.drools.compiler.oopath.OOPathTest.testDeclarationOutsideOOPath(OOPathTest.java:1010)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:497)
      	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
      	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
      	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
      	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
      	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
      	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
      	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
      	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
      	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
      	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
      	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
      	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
      	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
      	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
      	at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:117)
      	at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:234)
      	at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:74)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:497)
      	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
      Caused by: java.lang.ClassCastException: org.drools.compiler.oopath.model.TMFile cannot be cast to org.drools.compiler.oopath.model.TMFileSet
      	at ConditionEvaluator02d1ed6d278d48e7bf85d6c59d74e5c4.evaluate(Unknown Source)
      	at org.drools.core.rule.constraint.MvelConstraint.evaluate(MvelConstraint.java:271)
      	... 48 more
      

      [1]: https://github.com/kiegroup/drools/blob/6214852d8332b8708bc845794e3f2207c4e5fe97/drools-compiler/src/test/java/org/drools/compiler/oopath/OOPathTest.java#L913

      Attachments

        Activity

          People

            mfusco@redhat.com Mario Fusco
            pmackay@redhat.com Peter Mackay
            Tibor Zimányi Tibor Zimányi
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: