<< Back to previous view |
![]() |
[QB-539] Failure to evaluate mvel expression...
|
|
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: |
![]() |
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. |