History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: QB-539
Type: Bug Bug
Status: Resolved Resolved
Resolution: Won't Fix
Priority: Critical Critical
Assignee: Robin Shen
Reporter: Karim Heredia
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
QuickBuild

Failure to evaluate mvel expression...

Created: 22/Feb/10 06:45 PM   Updated: 23/Feb/10 12:36 AM
Component/s: None
Affects Version/s: None
Fix Version/s: None

Original Estimate: Unknown Remaining Estimate: Unknown Time Spent: Unknown
File Attachments: None
Image Attachments:

1. screenshot-1.jpg
(20 kb)
Environment:
Operating System Linux 2.6.26-2-xen-686, i386
JVM Java HotSpot(TM) Client VM 11.2-b01, Sun Microsystems Inc.
QuickBuild Version 2.1.10 - Fri Feb 19 07:39:23 EET 2010
Total Memory 127 MB
Used Memory 42 MB


 Description  « Hide
I upgraded from 2.1.8 to 2.1.10 and migrated the data.

In a master step, I have the following Node Match Condition that works fine in 2.1.8:

   node.getAttribute("os").startsWith("osx") && node.isAgent()

In 2.1.10, I get this error:

20:41:16,885 ERROR - Build is failed.
    com.pmease.quickbuild.QuickbuildException: Failed to evaluate below expression:
    mvel:node.getAttribute("os").startsWith("osx") && node.isAgent()
        at com.pmease.quickbuild.util.ExceptionUtils.wrapException(ExceptionUtils.java:90)
        at com.pmease.quickbuild.DefaultExpressionManager.evaluate(DefaultExpressionManager.java:101)
        at com.pmease.quickbuild.stepsupport.StepJob.matches(StepJob.java:46)
        at com.pmease.quickbuild.grid.GridMatchTask.getJobGrid(GridMatchTask.java:111)
        at com.pmease.quickbuild.grid.GridMatchTask.map(GridMatchTask.java:72)
        at com.pmease.quickbuild.grid.GridImpl.execute(GridImpl.java:51)
        at com.pmease.quickbuild.DefaultBuildEngine.run(DefaultBuildEngine.java:434)
        at com.pmease.quickbuild.DefaultBuildEngine.access$1(DefaultBuildEngine.java:390)
        at com.pmease.quickbuild.DefaultBuildEngine$3.run(DefaultBuildEngine.java:804)
        at java.lang.Thread.run(Thread.java:619)
    Caused by: [Error: cannot invoke method: getAttribute]
    [Near : {... Unknown ....}]
     ^
    [Line: 1, Column: 0]
        at org.mvel2.optimizers.impl.refl.nodes.MethodAccessor.getValue(MethodAccessor.java:63)
        at org.mvel2.optimizers.impl.refl.nodes.VariableAccessor.getValue(VariableAccessor.java:38)
        at org.mvel2.optimizers.dynamic.DynamicGetAccessor.getValue(DynamicGetAccessor.java:66)
        at org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:96)
        at org.mvel2.ast.And.getReducedValueAccelerated(And.java:32)
        at org.mvel2.compiler.ExecutableAccessor.getValue(ExecutableAccessor.java:41)
        at org.mvel2.MVEL.executeExpression(MVEL.java:1047)
        at com.pmease.quickbuild.plugin.basis.BasisPlugin$11.evaluate(BasisPlugin.java:136)
        at com.pmease.quickbuild.DefaultExpressionManager.evaluate(DefaultExpressionManager.java:95)
        ... 8 more
    Caused by: [Error: cannot invoke method: startsWith]
    [Near : {... Unknown ....}]
     ^
    [Line: 1, Column: 0]
        at org.mvel2.optimizers.impl.refl.nodes.MethodAccessor.getValue(MethodAccessor.java:63)
        at org.mvel2.optimizers.impl.refl.nodes.MethodAccessor.getValue(MethodAccessor.java:45)
        ... 16 more
    Caused by: java.lang.NullPointerException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.mvel2.optimizers.impl.refl.nodes.MethodAccessor.getValue(MethodAccessor.java:48)
        ... 17 more

 All   Comments   Work Log   Change History      Sort Order:
Robin Shen [22/Feb/10 11:31 PM]
This is because the attribute "os" is not defined in one of your agents.

Karim Heredia [23/Feb/10 12:05 AM]
This is the view on my agent. As I said, it's the same agent as defined previously in 2.1.8, but doesn't work in 2.1.10.

Robin Shen [23/Feb/10 12:36 AM]
This attribute needs to be defined on every agent since QuickBuild will call this expression against all agents.