The recently added implementation of KOGITO-2836 introduced a new test (testNPEOnConstraint) which is failing when the constraint is jitted.
05:42:49 [INFO] Running org.drools.modelcompiler.CompilerTest
{color:#de350b}05:43:29 [ERROR] Tests run: 270, Failures: 1, Errors: 0, Skipped: 3, Time elapsed: 40.191 s <<< FAILURE! - in org.drools.modelcompiler.CompilerTest{color}
{color:#de350b}05:43:29 [ERROR] testNPEOnConstraint[STANDARD_FROM_DRL](org.drools.modelcompiler.CompilerTest) Time elapsed: 0.039 s <<< FAILURE!{color}
05:43:29 java.lang.AssertionError:
05:43:29
05:43:29 Expected: (an instance of java.lang.RuntimeException and exception with message "Error evaluating constraint 'money < salary * 20' in [Rule \"R\" in r0.drl]")
05:43:29 but: exception with message "Error evaluating constraint 'money < salary * 20' in [Rule \"R\" in r0.drl]" message was null
05:43:29 Stacktrace was: java.lang.NullPointerException
05:43:29 at org.mvel2.ast.IntMult.getReducedValueAccelerated(IntMult.java:17)
05:43:29 at org.mvel2.ast.BinaryOperation.getReducedValueAccelerated(BinaryOperation.java:140)
05:43:29 at org.mvel2.MVELRuntime.execute(MVELRuntime.java:85)
05:43:29 at org.mvel2.compiler.CompiledExpression.getDirectValue(CompiledExpression.java:123)
05:43:29 at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:119)
05:43:29 at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:113)
05:43:29 at org.mvel2.MVEL.executeExpression(MVEL.java:945)
05:43:29 at org.kie.soup.project.datamodel.commons.util.RawMVELEvaluator.executeExpression(RawMVELEvaluator.java:103)
05:43:29 at org.drools.mvel.MVELConditionEvaluator.evaluate(MVELConditionEvaluator.java:112)
05:43:29 at org.drools.mvel.MVELConditionEvaluator.evaluate(MVELConditionEvaluator.java:88)
05:43:29 at org.drools.mvel.MVELConstraint.forceJitEvaluator(MVELConstraint.java:298)
05:43:29 at org.drools.mvel.MVELConstraint.evaluate(MVELConstraint.java:263)
05:43:29 at org.drools.mvel.MVELConstraint.isAllowed(MVELConstraint.java:226)
05:43:29 at org.drools.core.reteoo.AlphaNode.assertObject(AlphaNode.java:133)
05:43:29 at org.drools.core.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:70)
05:43:29 at org.drools.core.reteoo.ObjectTypeNode.propagateAssert(ObjectTypeNode.java:297)
05:43:29 at org.drools.core.phreak.PropagationEntry$Insert.propagate(PropagationEntry.java:161)
05:43:29 at org.drools.core.phreak.PropagationEntry$Insert.execute(PropagationEntry.java:166)
05:43:29 at org.drools.core.phreak.SynchronizedPropagationList.flush(SynchronizedPropagationList.java:96)
05:43:29 at org.drools.core.phreak.SynchronizedPropagationList.flush(SynchronizedPropagationList.java:91)
05:43:29 at org.drools.core.common.DefaultAgenda.fireLoop(DefaultAgenda.java:1095)
05:43:29 at org.drools.core.common.DefaultAgenda.internalFireAllRules(DefaultAgenda.java:1058)
05:43:29 at org.drools.core.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1050)
05:43:29 at org.drools.core.impl.StatefulKnowledgeSessionImpl.internalFireAllRules(StatefulKnowledgeSessionImpl.java:1343)
05:43:29 at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1334)
05:43:29 at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1318)
05:43:29 at org.drools.modelcompiler.CompilerTest.testNPEOnConstraint(CompilerTest.java:2419)
05:43:29 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
05:43:29 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
05:43:29 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
05:43:29 at java.lang.reflect.Method.invoke(Method.java:498)
05:43:29 at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
05:43:29 at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
05:43:29 at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
05:43:29 at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
05:43:29 at org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:258)
05:43:29 at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
05:43:29 at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
05:43:29 at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
05:43:29 at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
05:43:29 at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
05:43:29 at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
05:43:29 at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
05:43:29 at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
05:43:29 at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
05:43:29 at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
05:43:29 at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
05:43:29 at org.junit.runners.Suite.runChild(Suite.java:128)
05:43:29 at org.junit.runners.Suite.runChild(Suite.java:27)
05:43:29 at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
05:43:29 at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
05:43:29 at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
05:43:29 at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
05:43:29 at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
05:43:29 at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
05:43:29 at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
05:43:29 at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365)
05:43:29 at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:273)
05:43:29 at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238)
05:43:29 at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159)
05:43:29 at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384)
05:43:29 at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345)
05:43:29 at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126)
05:43:29 at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418)
05:43:29
05:43:29 at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20)
05:43:29 at org.junit.Assert.assertThat(Assert.java:964)
05:43:29 at org.junit.Assert.assertThat(Assert.java:930)
05:43:29 at org.junit.rules.ExpectedException.handleException(ExpectedException.java:271)
05:43:29 at org.junit.rules.ExpectedException.access$000(ExpectedException.java:111)
05:43:29 at org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:260)
05:43:29 at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
05:43:29 at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
05:43:29 at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
05:43:29 at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
05:43:29 at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
05:43:29 at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
05:43:29 at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
05:43:29 at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
05:43:29 at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
05:43:29 at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
05:43:29 at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
05:43:29 at org.junit.runners.Suite.runChild(Suite.java:128)
05:43:29 at org.junit.runners.Suite.runChild(Suite.java:27)
05:43:29 at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
05:43:29 at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
05:43:29 at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
05:43:29 at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
05:43:29 at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
05:43:29 at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
05:43:29 at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
05:43:29 at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365)
05:43:29 at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:273)
05:43:29 at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238)
05:43:29 at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159)
05:43:29 at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384)
05:43:29 at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345)
05:43:29 at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126)
05:43:29 at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418)