[jboss-jira] [JBoss JIRA] (DROOLS-1751) NullPointerException on org.mvel2.MVEL.executeExpression()

Toshiya Kobayashi (JIRA) issues at jboss.org
Fri Oct 6 01:22:00 EDT 2017


     [ https://issues.jboss.org/browse/DROOLS-1751?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Toshiya Kobayashi updated DROOLS-1751:
--------------------------------------
    Git Pull Request: https://github.com/kiegroup/drools/pull/1515


sent a PR with Unit test and Fix

> NullPointerException on org.mvel2.MVEL.executeExpression()
> ----------------------------------------------------------
>
>                 Key: DROOLS-1751
>                 URL: https://issues.jboss.org/browse/DROOLS-1751
>             Project: Drools
>          Issue Type: Bug
>          Components: core engine
>    Affects Versions: 7.3.0.Final
>            Reporter: Toshiya Kobayashi
>            Assignee: Mario Fusco
>              Labels: support
>
> Under the conditions:
> - 2 KiePackages with the same package name but different rules
> - Those packages are used by a kbase so "inUse = true"
> - Create another kbase and call kbase.addPackages() for those packages
> MVELDialectRuntimeData has a problem in merging mvelReaders so later rule execution fails with NullPointerException.
> {noformat}
> java.lang.NullPointerException: null
> 	at org.mvel2.MVEL.executeExpression(MVEL.java:953)
> 	at org.drools.core.util.MVELSafeHelper$RawMVELEvaluator.executeExpression(MVELSafeHelper.java:506)
> 	at org.drools.core.base.extractors.MVELObjectClassFieldReader.getValue(MVELObjectClassFieldReader.java:140)
> 	at org.drools.core.rule.Declaration.getValue(Declaration.java:222)
> 	at org.drools.core.base.mvel.MVELCompilationUnit.updateFactory(MVELCompilationUnit.java:386)
> 	at org.drools.core.base.mvel.MVELCompilationUnit.getFactory(MVELCompilationUnit.java:320)
> 	at org.drools.core.base.dataproviders.MVELDataProvider.evaluate(MVELDataProvider.java:137)
> 	at org.drools.core.base.dataproviders.MVELDataProvider.getResults(MVELDataProvider.java:133)
> 	at org.drools.core.phreak.PhreakFromNode.doLeftInserts(PhreakFromNode.java:106)
> 	at org.drools.core.phreak.PhreakFromNode.doNode(PhreakFromNode.java:68)
> 	at org.drools.core.phreak.RuleNetworkEvaluator.evalNode(RuleNetworkEvaluator.java:387)
> 	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.integrationtests.Misc2Test.testMergeMVELDialect(Misc2Test.java:9109)
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.2.3#72005)


More information about the jboss-jira mailing list