| << 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. |