Bug 748740

Summary: Multiple traits on one fact throws exception
Product: [JBoss] JBoss Enterprise BRMS Platform 5 Reporter: Tomas Schlosser <tschloss>
Component: BRE (Expert, Fusion)Assignee: Mark Proctor <mproctor>
Status: VERIFIED --- QA Contact: Lukáš Petrovický <lpetrovi>
Severity: medium Docs Contact:
Priority: unspecified    
Version: BRMS 5.3.0.GACC: lpetrovi, mproctor
Target Milestone: ---   
Target Release: BRMS 5.3.0.GA   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 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:
Attachments:
Description Flags
Simple reproducer none

Description Tomas Schlosser 2011-10-25 08:42:38 UTC
Created attachment 530030 [details]
Simple reproducer

Description of problem:
When you try to add a second trait to fact exception is thrown.

Version-Release number of selected component (if applicable):
BRMS-5.3.0.dev4

How reproducible:
Every time.

Steps to Reproduce:
1. Run attached class
  
Actual results:
Exception in thread "main" Exception executing consequence for rule "create student" in org.jboss.qa.brms.traits: java.lang.IllegalArgumentException: argument type mismatch
	at org.drools.runtime.rule.impl.DefaultConsequenceExceptionHandler.handleException(DefaultConsequenceExceptionHandler.java:39)
	at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:1101)
	at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:1029)
	at org.drools.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1251)
	at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:708)
	at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:672)
	at org.drools.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:218)
	at org.jboss.qa.brms.traits.TraitsTest.test(TraitsTest.java:44)
	at org.jboss.qa.brms.traits.TraitsTest.main(TraitsTest.java:13)
Caused by: java.lang.IllegalArgumentException: argument type mismatch
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
	at org.drools.factmodel.traits.TraitFactory.getProxy(TraitFactory.java:92)
	at org.drools.base.DefaultKnowledgeHelper.don(DefaultKnowledgeHelper.java:492)
	at org.drools.base.DefaultKnowledgeHelper.don(DefaultKnowledgeHelper.java:512)
	at org.jboss.qa.brms.traits.Rule_create_student.defaultConsequence(Rule_create_student.java:7)
	at org.jboss.qa.brms.traits.Rule_create_studentDefaultConsequenceInvoker.evaluate(Unknown Source)
	at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:1091)
	... 7 more

Expected results:
No exception and clear execution of rules.

Additional info:

Comment 2 Mark Proctor 2012-01-19 01:32:59 UTC
Traits are not being productized for BRMS5.3. Please document as "experimental" feature.

Comment 4 Tomas Schlosser 2012-02-22 11:25:06 UTC
Removed the jboss-brms-5.3.0 flag, but the issue still stands.

Comment 5 Mark Proctor 2012-04-06 00:00:51 UTC
linked to JBRULES-3412 And cherry-picked from master:

commit 88cb4915d81f99f8bbb37ae44f82091aae6f1a9c
Author: Davide Sottara <dsotty>
Date:   Mon Mar 12 02:32:34 2012 +0000

    JBRULES-3412 Traits - Don more than 3 pojos, got IllegalArgumentException
    (cherry picked from commit 7a97069ebecba8b7eab477c4a7615baee5fda010)
    (cherry picked from commit 4e6019e588b15c6c745c234e5b6645e8cca1ec03)

    Conflicts:

        drools-compiler/src/test/java/org/drools/factmodel/traits/TraitTest.java

Comment 6 JBoss JIRA Server 2012-04-06 00:01:27 UTC
Mark Proctor <mproctor> updated the status of jira JBRULES-3412 to Closed

Comment 7 Ryan Zhang 2012-04-23 07:37:27 UTC
Update status to ON_QA. Please verify them against ER6.

Comment 9 Tomas Schlosser 2012-06-04 12:57:33 UTC
This problem is gone in ER8, thanks for fixing this issue.