Bug 845000

Summary: ClassCastException in RuleTerminalNode.retractLeftTuple()
Product: [JBoss] JBoss Enterprise BRMS Platform 5 Reporter: Alessandro Lazarotti <alazarot>
Component: BRE (Expert, Fusion)Assignee: Mario Fusco <mfusco>
Status: VERIFIED --- QA Contact: Martin Vecera <mvecera>
Severity: high Docs Contact:
Priority: urgent    
Version: BRMS 5.3.0.GA   
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 852881 (view as bug list) Environment:
Last Closed: 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:
Bug Depends On:    
Bug Blocks: 852881, 843917    

Description Alessandro Lazarotti 2012-08-01 12:41:21 UTC
ruleflow-group + lock-on-activate may cause a ClassCastException.

import org.drools.Person;
import org.drools.Cheese;
rule R1
ruleflow-group "group1"
lock-on-active true
when
   $p : Person()
then
   $p.setName("John");
   update ($p);
end
rule R2
ruleflow-group "group1"
lock-on-active true
when
   $p : Person( name == null )
   forall ( Cheese ( type == "cheddar" ))
then
end


Exception executing consequence for rule "R1" in defaultpkg: java.lang.ClassCastException: java.lang.Boolean cannot be cast to org.drools.spi.Activation
	at org.drools.runtime.rule.impl.DefaultConsequenceExceptionHandler.handleException(DefaultConsequenceExceptionHandler.java:39)
	at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:1287)
	at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:1212)
	at org.drools.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1446)
	at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:710)
	at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:674)
	at org.drools.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:230)
...
Caused by: java.lang.ClassCastException: java.lang.Boolean cannot be cast to org.drools.spi.Activation
	at org.drools.reteoo.RuleTerminalNode.retractLeftTuple(RuleTerminalNode.java:309)
	at org.drools.reteoo.SingleLeftTupleSinkAdapter.doPropagateRetractLeftTuple(SingleLeftTupleSinkAdapter.java:224)
	at org.drools.reteoo.SingleLeftTupleSinkAdapter.propagateRetractLeftTuple(SingleLeftTupleSinkAdapter.java:98)
	at org.drools.reteoo.NotNode.retractLeftTuple(NotNode.java:216)
	at org.drools.reteoo.LeftTupleSource.doModifyLeftTuple(LeftTupleSource.java:286)

Comment 3 Iva Zakova 2012-08-06 07:24:33 UTC
verified in patch 843917