Bug 724627 (BRMS-533)

Summary: NoClassDefFoundError when ASM optimizer kicks in MVEL consequence
Product: [JBoss] JBoss Enterprise BRMS Platform 5 Reporter: Alessandro Lazarotti <alazarot>
Component: BRE (Expert, Fusion)Assignee: Tihomir Surdilovic <tsurdilo>
Status: CLOSED NEXTRELEASE QA Contact:
Severity: unspecified Docs Contact:
Priority: high    
Version: 5.1.0 GA, 5.0.2   
Target Milestone: ---   
Target Release: 5.1.0.PostGA   
Hardware: Unspecified   
OS: Unspecified   
URL: http://jira.jboss.org/jira/browse/BRMS-533
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 744080 (view as bug list) Environment:
Fedora 12, Sun JDK 1.6, IBM J9 J2SE 1.5.0
Last Closed: 2011-01-14 20:51:34 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:

Description Alessandro Lazarotti 2011-01-14 16:55:15 UTC
Help Desk Ticket Reference: https://c.na7.visual.force.com/apex/Case_View?id=500A0000005fcRu&sbstr=00397148&sfdc.override=1
Steps to Reproduce: Based in JBRULES-2253
* Run Guvnor 5.0.x
* Import the attached repo (unzip it first).
* browse to KnowledgeBases/org/acme/insurance/pricing/
- press "build package"
* shut it down, restart (flushes caches etc...)
Then:
* browse to KnowledgeBases/org/acme/insurance/pricing/Test Scenarios
* open PolicyQuotePackageTest
* run it:
securitylevel_name: Public

A MVEL failure causes Drools exceptions in some circumstances:

Caused by: java.lang.NoClassDefFoundError: org/acme/insurance/Policy
       at ASMAccessorImpl_62408281250565694450.setValue(Unknown Source)
       at org.mvel2.optimizers.dynamic.DynamicSetAccessor.setValue(DynamicSetAccessor.java:74)
       at org.mvel2.compiler.CompiledAccExpression.setValue(CompiledAccExpression.java:47)
       at org.mvel2.MVEL.executeSetExpression(MVEL.java:962)
       at org.mvel2.ast.WithNode$ParmValuePair.eval(WithNode.java:242)
       at org.mvel2.ast.WithNode.getReducedValueAccelerated(WithNode.java:67)
       at org.mvel2.ast.InterceptorWrapper.getReducedValueAccelerated(InterceptorWrapper.java:38)
       at org.mvel2.MVELRuntime.execute(MVELRuntime.java:85)
       at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:104)
       at org.mvel2.MVEL.executeExpression(MVEL.java:995)
       at org.drools.base.mvel.MVELConsequence.evaluate(MVELConsequence.java:91)
       at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:966)


This issue was fixed in MVEL: http://jira.codehaus.org/browse/MVEL-213
Is necessary update the mvel library to fix this issue in Drools.

Although the case related https://issues.jboss.org/browse/JBRULES-2253 mentions that the failure occurs in Sun JVM, I realized tests and the same occurs with IBM JVM. A MVEL updates, fixes the issue it to both. (I tested changing mvel 2.0.10 to 2.0.19).

Comment 1 Alessandro Lazarotti 2011-01-14 16:57:11 UTC
Link: Added: This issue is related to JBRULES-2253


Comment 2 Alessandro Lazarotti 2011-01-14 17:05:48 UTC
Link: Added: This issue related BRMS-534


Comment 3 Matt Davis 2011-01-14 18:42:04 UTC
Link: Added: This issue Cloned from BRMS-535


Comment 4 Tihomir Surdilovic 2011-01-14 20:51:34 UTC
Release Notes Text: Added: Done


Comment 5 Alessandro Lazarotti 2011-03-03 18:32:28 UTC
Link: Removed: This issue is related to BRMS-534