[jboss-jira] [JBoss JIRA] (DROOLS-1285) NPE caused by forced flushing of unlinked path in stream mode

Mario Fusco (JIRA) issues at jboss.org
Thu Sep 15 10:30:02 EDT 2016


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

Mario Fusco resolved DROOLS-1285.
---------------------------------
    Fix Version/s: 7.0.0.Beta2
       Resolution: Done


Fixed by https://github.com/droolsjbpm/drools/commit/e6da071fa

> NPE caused by forced flushing of unlinked path in stream mode
> -------------------------------------------------------------
>
>                 Key: DROOLS-1285
>                 URL: https://issues.jboss.org/browse/DROOLS-1285
>             Project: Drools
>          Issue Type: Bug
>          Components: core engine
>            Reporter: Mario Fusco
>            Assignee: Mario Fusco
>             Fix For: 7.0.0.Beta2
>
>
> In stream mode it is necessary to enforce flushing of path memories. However doing this on an unlinked path is a waste of time and moreover can causes a NPE in presence of a subnetwork like the following:
> {code}
> java.lang.NullPointerException
> 	at org.drools.core.phreak.RuleNetworkEvaluator.deleteChildLeftTuple(RuleNetworkEvaluator.java:725)
> 	at org.drools.core.phreak.RuleNetworkEvaluator.unlinkAndDeleteChildLeftTuple(RuleNetworkEvaluator.java:718)
> 	at org.drools.core.phreak.PhreakJoinNode.doLeftDeletes(PhreakJoinNode.java:418)
> 	at org.drools.core.phreak.PhreakJoinNode.doNode(PhreakJoinNode.java:47)
> 	at org.drools.core.phreak.RuleNetworkEvaluator.switchOnDoBetaNode(RuleNetworkEvaluator.java:519)
> 	at org.drools.core.phreak.RuleNetworkEvaluator.evalBetaNode(RuleNetworkEvaluator.java:505)
> 	at org.drools.core.phreak.RuleNetworkEvaluator.evalNode(RuleNetworkEvaluator.java:341)
> 	at org.drools.core.phreak.RuleNetworkEvaluator.innerEval(RuleNetworkEvaluator.java:301)
> 	at org.drools.core.phreak.RuleNetworkEvaluator.doRiaNode(RuleNetworkEvaluator.java:573)
> 	at org.drools.core.phreak.RuleNetworkEvaluator.evalBetaNode(RuleNetworkEvaluator.java:500)
> 	at org.drools.core.phreak.RuleNetworkEvaluator.evalNode(RuleNetworkEvaluator.java:341)
> 	at org.drools.core.phreak.RuleNetworkEvaluator.innerEval(RuleNetworkEvaluator.java:301)
> 	at org.drools.core.phreak.RuleNetworkEvaluator.outerEval(RuleNetworkEvaluator.java:136)
> 	at org.drools.core.phreak.RuleNetworkEvaluator.evaluateNetwork(RuleNetworkEvaluator.java:94)
> 	at org.drools.core.phreak.RuleExecutor.reEvaluateNetwork(RuleExecutor.java:194)
> 	at org.drools.core.phreak.RuleExecutor.evaluateNetworkAndFire(RuleExecutor.java:73)
> 	at org.drools.core.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:969)
> 	at org.drools.core.common.DefaultAgenda.fireLoop(DefaultAgenda.java:1311)
> 	at org.drools.core.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1250)
> 	at org.drools.core.impl.StatefulKnowledgeSessionImpl.internalFireAllRules(StatefulKnowledgeSessionImpl.java:1356)
> 	at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1347)
> 	at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1328)
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)


More information about the jboss-jira mailing list