Bug 1325403

Summary: IndexOutOfBoundException when using conditional break + query
Product: [Retired] JBoss BRMS Platform 6 Reporter: Mario Fusco <mfusco>
Component: BREAssignee: Mario Fusco <mfusco>
Status: CLOSED EOL QA Contact: Marek Winkler <mwinkler>
Severity: high Docs Contact:
Priority: high    
Version: 6.3.0CC: etirelli, rrajasek
Target Milestone: CR1   
Target Release: 6.3.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-03-27 19:06:48 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Mario Fusco 2016-04-08 17:40:05 UTC
I got an java.lang.ArrayIndexOutOfBoundsException when I use conditionnal breaking and queries.
I face this issue since 6.4.0.CR2 and not before this.

Following the stack trace :

java.lang.ArrayIndexOutOfBoundsException: 2
at org.drools.core.reteoo.AbstractTerminalNode.getPathNodes(AbstractTerminalNode.java:304)
at org.drools.core.reteoo.AbstractTerminalNode.getPathNodes(AbstractTerminalNode.java:311)
at org.drools.core.phreak.PhreakQueryTerminalNode.checkAndTriggerQueryReevaluation(PhreakQueryTerminalNode.java:173)
at org.drools.core.phreak.PhreakQueryTerminalNode.doLeftInserts(PhreakQueryTerminalNode.java:78)
at org.drools.core.phreak.PhreakQueryTerminalNode.doNode(PhreakQueryTerminalNode.java:54)
at org.drools.core.phreak.RuleNetworkEvaluator.innerEval(RuleNetworkEvaluator.java:282)
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:1003)
at org.drools.core.common.DefaultAgenda.fireLoop(DefaultAgenda.java:1346)
at org.drools.core.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1284)
at org.drools.core.impl.StatefulKnowledgeSessionImpl.internalFireAllRules(StatefulKnowledgeSessionImpl.java:1303)
at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1293)
at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1274)
at com.darty.drools.CodicCriteriaTest.price(CodicCriteriaTest.java:53)

Here my reproducer : https://github.com/Massinissab/DROOLS-1115.git

Comment 3 Edson Tirelli 2016-04-08 17:42:29 UTC
Rajesh, can we consider this fix for 6.3.0.CR1, please?

Comment 4 Mario Fusco 2016-04-12 14:26:36 UTC
Cherry-picked to 6.4.x branch with https://github.com/droolsjbpm/drools/commit/4adb05642e5256bdc3b3c8c69e4ee61f677b3bfb

Comment 5 Marek Winkler 2016-04-28 07:56:48 UTC
Verified in BRMS 6.3.0 CR1 using provided unit test and the original reproducer from github.