[jboss-jira] [JBoss JIRA] (DROOLS-844) Crash when node is deleted from query node

Fabian Meyer (JIRA) issues at jboss.org
Tue Sep 6 09:20:00 EDT 2016


    [ https://issues.jboss.org/browse/DROOLS-844?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13289226#comment-13289226 ] 

Fabian Meyer edited comment on DROOLS-844 at 9/6/16 9:19 AM:
-------------------------------------------------------------

I've just been running some tests on 7.0.0.Snapshot and got a ClassCastException in "doLeftDeletes" :

{code:java}
Exception in thread "Thread-14" java.lang.ClassCastException: org.drools.core.reteoo.RightTupleImpl cannot be cast to org.drools.core.common.InternalFactHandle
	at org.drools.core.phreak.PhreakQueryNode.doLeftDeletes(PhreakQueryNode.java:120)
	at org.drools.core.phreak.PhreakQueryNode.doNode(PhreakQueryNode.java:40)
	at org.drools.core.phreak.RuleNetworkEvaluator.evalQueryNode(RuleNetworkEvaluator.java:435)
	at org.drools.core.phreak.RuleNetworkEvaluator.evalNode(RuleNetworkEvaluator.java:365)
	at org.drools.core.phreak.RuleNetworkEvaluator.innerEval(RuleNetworkEvaluator.java:301)
	at org.drools.core.phreak.RuleNetworkEvaluator.evalStackEntry(RuleNetworkEvaluator.java:198)
	at org.drools.core.phreak.RuleNetworkEvaluator.outerEval(RuleNetworkEvaluator.java:141)
	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.fireUntilHalt(DefaultAgenda.java:1231)
	at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireUntilHalt(StatefulKnowledgeSessionImpl.java:1395)
	at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireUntilHalt(StatefulKnowledgeSessionImpl.java:1374)
{code}

and a NPE in RuleNetworkEvaluator.deleteChildLeftTuple:


{code:java}
Exception in thread "Thread-14" 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.PhreakFromNode.doLeftDeletes(PhreakFromNode.java:248)
	at org.drools.core.phreak.PhreakFromNode.doNode(PhreakFromNode.java:60)
	at org.drools.core.phreak.RuleNetworkEvaluator.evalNode(RuleNetworkEvaluator.java:355)
	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.fireUntilHalt(DefaultAgenda.java:1231)
	at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireUntilHalt(StatefulKnowledgeSessionImpl.java:1395)
	at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireUntilHalt(StatefulKnowledgeSessionImpl.java:1374)
{code}


The rule base makes use of queries, rules using the queries and logical inserts.


was (Author: matrium):
I've just been running some tests and got a ClassCastException in "doLeftDeletes" (7.0.0.Snapshot):

Exception in thread "Thread-14" java.lang.ClassCastException: org.drools.core.reteoo.RightTupleImpl cannot be cast to org.drools.core.common.InternalFactHandle
	at org.drools.core.phreak.PhreakQueryNode.doLeftDeletes(PhreakQueryNode.java:120)
	at org.drools.core.phreak.PhreakQueryNode.doNode(PhreakQueryNode.java:40)
	at org.drools.core.phreak.RuleNetworkEvaluator.evalQueryNode(RuleNetworkEvaluator.java:435)
	at org.drools.core.phreak.RuleNetworkEvaluator.evalNode(RuleNetworkEvaluator.java:365)
	at org.drools.core.phreak.RuleNetworkEvaluator.innerEval(RuleNetworkEvaluator.java:301)
	at org.drools.core.phreak.RuleNetworkEvaluator.evalStackEntry(RuleNetworkEvaluator.java:198)
	at org.drools.core.phreak.RuleNetworkEvaluator.outerEval(RuleNetworkEvaluator.java:141)
	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.fireUntilHalt(DefaultAgenda.java:1231)
	at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireUntilHalt(StatefulKnowledgeSessionImpl.java:1395)
	at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireUntilHalt(StatefulKnowledgeSessionImpl.java:1374)

The rule base makes use of queries, rules using the queries and logical inserts.

> Crash when node is deleted from query node
> ------------------------------------------
>
>                 Key: DROOLS-844
>                 URL: https://issues.jboss.org/browse/DROOLS-844
>             Project: Drools
>          Issue Type: Bug
>          Components: core engine
>    Affects Versions: 6.3.0.Beta2
>            Reporter: Fabian Meyer
>            Assignee: Mario Fusco
>            Priority: Critical
>             Fix For: 6.4.0.Beta1
>
>
> When a left delete is performed on a PhreakQueryNode, the fact handle of the left tuple might be null, resulting in a NullPointerException.
> Exception in thread "Thread-6" java.lang.NullPointerException
> 	at org.drools.core.phreak.PhreakQueryNode.doLeftDeletes(PhreakQueryNode.java:176)
> 	at org.drools.core.phreak.PhreakQueryNode.doNode(PhreakQueryNode.java:46)
> 	at org.drools.core.phreak.RuleNetworkEvaluator.evalQueryNode(RuleNetworkEvaluator.java:460)
> 	at org.drools.core.phreak.RuleNetworkEvaluator.innerEval(RuleNetworkEvaluator.java:360)
> 	at org.drools.core.phreak.RuleNetworkEvaluator.doRiaNode(RuleNetworkEvaluator.java:598)
> 	at org.drools.core.phreak.RuleNetworkEvaluator.evalBetaNode(RuleNetworkEvaluator.java:524)
> 	at org.drools.core.phreak.RuleNetworkEvaluator.innerEval(RuleNetworkEvaluator.java:336)
> 	at org.drools.core.phreak.RuleNetworkEvaluator.outerEval(RuleNetworkEvaluator.java:166)
> 	at org.drools.core.phreak.RuleNetworkEvaluator.evaluateNetwork(RuleNetworkEvaluator.java:123)
> 	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:973)
> 	at org.drools.core.common.DefaultAgenda.fireUntilHalt(DefaultAgenda.java:1251)
> 	at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireUntilHalt(StatefulKnowledgeSessionImpl.java:1353)
> 	at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireUntilHalt(StatefulKnowledgeSessionImpl.java:1331)



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


More information about the jboss-jira mailing list