Build Flow job errors when run from Groovy

678 views
Skip to first unread message

Foxgang

unread,
May 23, 2013, 6:48:40 PM5/23/13
to jenkins...@googlegroups.com
I am running the following Groovy from the system console:

def dummyBuildFlow = Jenkins.instance.getItem("my dummy job");

// Start it
println("Starting dummy build flow at "+new Date());
def job = Queue.instance.schedule(dummyBuildFlow).future.get();
println("Dummy build flow finished at "+new Date());

if (job.result.isWorseOrEqualTo(Result.UNSTABLE)) {
  println("Build Flow had an error, failing this build.");
  return false;
}

This was working earlier this morning. Since then, I have been making configuration changes to emails and such, and I installed the latest PAM Plugin update, but that's it. 

However, the dummy build flow job has since begun failing:

ERROR: Failed to run DSL Script
groovy.lang.MissingMethodException: No signature of method: java.lang.String.rescue() is applicable for argument types: (Script1$_run_closure2) values: [Script1$_run_closure2@15be3df]
Possible solutions: execute(), size(), size(), reverse(), reverse(), each(groovy.lang.Closure)
	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:55)
	at org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClassSite.java:46)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
	at Script1.run(Script1.groovy:2)
	at Script1$run.call(Unknown Source)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)
	at Script1$run.call(Unknown Source)
	at com.cloudbees.plugins.flow.FlowDSL.executeFlowScript(FlowDSL.groovy:82)
	at com.cloudbees.plugins.flow.FlowRun$RunnerImpl.doRun(FlowRun.java:195)
	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:586)
	at hudson.model.Run.execute(Run.java:1575)
	at hudson.model.Run.run(Run.java:1521)
	at com.cloudbees.plugins.flow.FlowRun.run(FlowRun.java:174)
	at hudson.model.ResourceController.execute(ResourceController.java:88)
	at hudson.model.Executor.run(Executor.java:241)
	at hudson.model.OneOffExecutor.run(OneOffExecutor.java:66)
FATAL: No signature of method: java.lang.String.rescue() is applicable for argument types: (Script1$_run_closure2) values: [Script1$_run_closure2@15be3df]
Possible solutions: execute(), size(), size(), reverse(), reverse(), each(groovy.lang.Closure)
groovy.lang.MissingMethodException: No signature of method: java.lang.String.rescue() is applicable for argument types: (Script1$_run_closure2) values: [Script1$_run_closure2@15be3df]
Possible solutions: execute(), size(), size(), reverse(), reverse(), each(groovy.lang.Closure)
	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:55)
	at org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClassSite.java:46)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
	at Script1.run(Script1.groovy:2)
	at Script1$run.call(Unknown Source)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)
	at Script1$run.call(Unknown Source)
	at com.cloudbees.plugins.flow.FlowDSL.executeFlowScript(FlowDSL.groovy:82)
	at com.cloudbees.plugins.flow.FlowRun$RunnerImpl.doRun(FlowRun.java:195)
	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:586)
	at hudson.model.Run.execute(Run.java:1575)
	at hudson.model.Run.run(Run.java:1521)
	at com.cloudbees.plugins.flow.FlowRun.run(FlowRun.java:174)
	at hudson.model.ResourceController.execute(ResourceController.java:88)
	at hudson.model.Executor.run(Executor.java:241)
	at hudson.model.OneOffExecutor.run(OneOffExecutor.java:66)

If I had to guess, I'd say it looks like there some kind of classloader contention between Groovy and Java that's causing methods to get invoked on the wrong class when running in a Groovy instance. It happens every time I try. Interestingly, if I trigger the job from the normal "Build" button, it runs fine, which means the DSL is not the problem. 

Does anyone have any ideas? Could this have been caused by the 1.515 update? 

Slide

unread,
May 23, 2013, 6:56:34 PM5/23/13
to jenkins...@googlegroups.com
This is an issue with email-ext, I am working on a fix and should release soon. See [1] for more info.

slide



--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-use...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 



--
Website: http://earl-of-code.com

Foxgang

unread,
May 24, 2013, 8:07:22 AM5/24/13
to jenkins...@googlegroups.com
Yep, that's it. Thanks!

Slide

unread,
May 24, 2013, 8:16:07 AM5/24/13
to jenkins...@googlegroups.com

I released a new version last night.

Reply all
Reply to author
Forward
0 new messages