[jboss-jira] [JBoss JIRA] Created: (JBRULES-2246) Several random MVEL related errors while using drools.

Rajesh Nair (JIRA) jira-events at lists.jboss.org
Fri Aug 14 15:51:26 EDT 2009


Several random MVEL related errors while using drools.
------------------------------------------------------

                 Key: JBRULES-2246
                 URL: https://jira.jboss.org/jira/browse/JBRULES-2246
             Project: Drools
          Issue Type: Bug
      Security Level: Public (Everyone can see)
    Affects Versions: 4.0.7
         Environment: Unix
            Reporter: Rajesh Nair
            Assignee: Mark Proctor


We are getting several MVEL related exceptions while running a batch program that is multi-threaded. Sometimes the bean name gets corrupted and it complains about ClassNotFoundException. Sometimes, it complains that a specific property is not found. When we restart the batch program, the problem goes away. Is there a way to fix this? We are using JDK 1.5 and the mvel jar version is mvel-1.3.1-java1.4.jar. If this jar will not work with drools 4.0.7, please suggest the upgrade path. In the worst case, we can use Java dialect. However, all our rules are created via the BRMS. So, how do you force the BRMS to use Java dialect?

Thanks,
Rajesh


Here is a sample stacktrace.

rg.drools.RuntimeDroolsException: Exception executing predicate eval(  (field1 + field2 + field3) <= 0  )
        at org.drools.rule.PredicateConstraint.isAllowed(PredicateConstraint.java:216)
        at org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:137)
        at org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:318)
        at org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:162)
        at org.drools.reteoo.Rete.assertObject(Rete.java:175)
        at org.drools.reteoo.ReteooRuleBase.assertObject(ReteooRuleBase.java:192)
        at org.drools.reteoo.ReteooWorkingMemory.doInsert(ReteooWorkingMemory.java:71)
        at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:911)
        at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:883)
        at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:684)
        at org.drools.reteoo.ReteooStatelessSession.executeWithResults(ReteooStatelessSession.java:198)
        at walgreens.pbs.ruleengine.worker.RulesetExecutor.run(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
        at java.lang.Thread.run(Thread.java:803)
Caused by: org.mvel.PropertyAccessException: unable to resolve property: field2 (where field2 is the name of the property)
        at org.mvel.optimizers.impl.asm.ASMAccessorOptimizer.compileAccessor(ASMAccessorOptimizer.java:267)
        at org.mvel.optimizers.impl.asm.ASMAccessorOptimizer.optimizeAccessor(ASMAccessorOptimizer.java:163)
        at org.mvel.ASTNode.getReducedValueAccelerated(ASTNode.java:186)
        at org.mvel.ast.BinaryOperation.getReducedValueAccelerated(BinaryOperation.java:21)
        at org.mvel.ast.BinaryOperation.getReducedValueAccelerated(BinaryOperation.java:21)
        at org.mvel.ExecutableAccessor.getValue(ExecutableAccessor.java:45)
        at org.mvel.ast.Substatement.getReducedValueAccelerated(Substatement.java:24)
        at org.mvel.ast.BinaryOperation.getReducedValueAccelerated(BinaryOperation.java:21)
        at org.mvel.MVELRuntime.execute(MVELRuntime.java:90)
        at org.mvel.CompiledExpression.getValue(CompiledExpression.java:111)
        at org.mvel.MVEL.executeExpression(MVEL.java:235)
        at org.drools.base.mvel.MVELPredicateExpression.evaluate(MVELPredicateExpression.java:45)
        at org.drools.rule.PredicateConstraint.isAllowed(PredicateConstraint.java:209)
        ... 14 more
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.GeneratedMethodAccessor22.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:615)
        at org.mvel.optimizers.impl.asm.ASMAccessorOptimizer.loadClass(ASMAccessorOptimizer.java:1003)
        at org.mvel.optimizers.impl.asm.ASMAccessorOptimizer._initializeAccessor(ASMAccessorOptimizer.java:206)
        at org.mvel.optimizers.impl.asm.ASMAccessorOptimizer.compileAccessor(ASMAccessorOptimizer.java:264)
        ... 26 more
Caused by: java.lang.LinkageError: ASMAccessorImpl_19543133401249413540370
        at java.lang.ClassLoader.defineClassImpl(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:223)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:162)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list