[rules-users] java.lang.ArrayIndexOutOfBoundsException thrown in mvel2's compiler when running drools5.3 final.

pf_miles miles.wy.1 at gmail.com
Tue Mar 6 23:50:27 EST 2012


Yes, the line:
Helper.containsAny(offerSubject, ((Set)colMap.get("_set_212")))
is part of my rule's LHS code. It acts as a normal predicate: 

Caused by: org.drools.RuntimeDroolsException: Exception executing predicate
Helper.containsAny(offerSubject, ((Set)colMap.get("_set_35")))
        at
org.drools.rule.PredicateConstraint.isAllowed(PredicateConstraint.java:298)
        at org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:130)
        at
org.drools.reteoo.CompositeObjectSinkAdapter.doPropagateAssertObject(CompositeObjectSinkAdapter.java:458)
        at
org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:386)
        at
org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:215)
        at
org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:244)
        at
org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:330)
        at
org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:291)
        at
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:886)
        at
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:845)
        at
org.drools.impl.StatefulKnowledgeSessionImpl.insert(StatefulKnowledgeSessionImpl.java:255)
        at
com.alibaba.china.ruleservice.session.impl.drools5.TransientDrools5Session.insertFact(TransientDrools5Session.java:100)
        at
com.alibaba.china.avatar.offer.rulematch.OfferMatchFilter.doFilter(OfferMatchFilter.java:57)
        ... 23 more
Caused by: [Error: unexpected end of statement]
[Near : {... Helper.containsAny(offerSubject, ((Set)colMap.get("_set_35")))
....}]
                                                   ^
[Line: 1, Column: 39]
        at
org.mvel2.compiler.AbstractParser.nextToken(AbstractParser.java:1215)
        at
org.mvel2.compiler.ExpressionCompiler._compile(ExpressionCompiler.java:128)
        at
org.mvel2.util.ParseTools.subCompileExpression(ParseTools.java:2090)
        at org.mvel2.ast.Substatement.<init>(Substatement.java:37)
        at
org.mvel2.compiler.AbstractParser.nextToken(AbstractParser.java:1062)
        at
org.mvel2.compiler.ExpressionCompiler._compile(ExpressionCompiler.java:128)
        at
org.mvel2.compiler.ExpressionCompiler.compile(ExpressionCompiler.java:62)
        at org.mvel2.MVEL.analyze(MVEL.java:680)
        at
org.mvel2.compiler.PropertyVerifier.getMethod(PropertyVerifier.java:469)
        at
org.mvel2.compiler.PropertyVerifier.analyze(PropertyVerifier.java:120)
        at
org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:404)
        at
org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(ReflectiveAccessorOptimizer.java:141)
        at org.mvel2.ast.ASTNode.optimize(ASTNode.java:157)
        at
org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:113)
        at org.mvel2.MVELRuntime.execute(MVELRuntime.java:87)
        at
org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:122)
        at
org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:115)
        at org.mvel2.MVEL.executeExpression(MVEL.java:930)
        at
org.drools.base.mvel.MVELPredicateExpression.evaluate(MVELPredicateExpression.java:100)
        at
org.drools.rule.PredicateConstraint.isAllowed(PredicateConstraint.java:291)
        ... 35 more
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
        at
org.mvel2.compiler.PropertyVerifier.getMethod(PropertyVerifier.java:565)
        at
org.mvel2.compiler.PropertyVerifier.analyze(PropertyVerifier.java:120)
        at
org.mvel2.compiler.ExpressionCompiler.verify(ExpressionCompiler.java:381)
        at
org.mvel2.compiler.ExpressionCompiler._compile(ExpressionCompiler.java:273)
        at
org.mvel2.util.ParseTools.subCompileExpression(ParseTools.java:2090)
        at org.mvel2.ast.TypeCast.<init>(TypeCast.java:43)
        at
org.mvel2.compiler.AbstractParser.nextToken(AbstractParser.java:1047)
        ... 54 more

--
View this message in context: http://drools.46999.n3.nabble.com/rules-users-java-lang-ArrayIndexOutOfBoundsException-thrown-in-mvel2-s-compiler-when-running-drools5-tp3805739p3805889.html
Sent from the Drools: User forum mailing list archive at Nabble.com.



More information about the rules-users mailing list