<< Back to previous view

[QB-539] Failure to evaluate mvel expression...
Created: 22/Feb/10  Updated: 23/Feb/10

Status: Resolved
Project: QuickBuild
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Critical
Reporter: Karim Heredia Assigned To: Robin Shen
Resolution: Won't Fix Votes: 0
Remaining Estimate: Unknown Time Spent: Unknown
Original Estimate: Unknown
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

File Attachments: JPEG File screenshot-1.jpg    

 Description   
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

 Comments   
Comment by Robin Shen [ 22/Feb/10 11:31 PM ]
This is because the attribute "os" is not defined in one of your agents.
Comment by 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.
Comment by 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.
Generated at Mon Oct 13 21:55:12 UTC 2025 using JIRA 189.