[jboss-jira] [JBoss JIRA] Commented: (JBRULES-2253) ClassNotFound when ASM optimizer kicks in in MVEL consequence
josh krupka (JIRA)
jira-events at lists.jboss.org
Thu Mar 31 18:40:38 EDT 2011
[ https://issues.jboss.org/browse/JBRULES-2253?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12593096#comment-12593096 ]
josh krupka commented on JBRULES-2253:
--------------------------------------
I'm having the same problem, the class not being found is a class declared in my rules. I'm using 5.1.1, we didn't have this problem on 5.0.1. The weird thing is I have yet to get this error when running jboss on my laptop, but get it every time on the dev server. I updated the project and deployment to use mvel 2.0.19 and verified there are no other instances of mvel on jboss other than the one I'm deploying with our sar but still have the problem. I think for the time being we may need to roll back to 5.0.1
> ClassNotFound when ASM optimizer kicks in in MVEL consequence
> -------------------------------------------------------------
>
> Key: JBRULES-2253
> URL: https://issues.jboss.org/browse/JBRULES-2253
> Project: Drools
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: drools-core
> Affects Versions: 5.0.1.FINAL
> Reporter: Michael Neale
> Assignee: Tihomir Surdilovic
> Priority: Critical
> Fix For: 5.2.0.M1
>
> Attachments: repository_export_mic.zip
>
>
> (ok if the subject is really confusing, perhaps this bug isn't for you).
> In chasing down JBRULES-2234 I found this. Instructions (apologies for relying on Guvnor to reproduce):
> To reproduce is not
> easy, but here are some instructions:
> * Run latest Guvnor (if you are able to, if not, then the rest is moot !).
> * 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:
> Now you should see an exception like this:
> 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 is due to it loading a previously serialized version of the KB.
> If it was to run off a freshly compiled one, its all fine. Also, if I
> tell MVEL to NOT use ASM optimizer, it works fine (using reflection).
> So clearly the stuff is available to the classpath in the right
> places... its only to do with ASM in mvel post deserialization. (and
> for that to happen, MVEL has to execute the compiled expression enough
> to kick in the JIT).
> MVELCompilationUnit in drools is worth examining too... still not sure where the problem lies.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list