Figuring out what is causing a job failure

83 views
Skip to first unread message

Alexandru Băluț

unread,
May 7, 2019, 4:29:02 PM5/7/19
to jenkins...@googlegroups.com
I set up a freestyle job which has a single "Execute shell" build step, and is run on a remote node. The shell script starts some jobs in the background, then waits for one of them to exit, then kills them all with "killall -9 jobName || echo dead", then at the end it "exit 0" to signal success. There are no post build steps. 

Despite "exit 0", the job fails. It would be useful if the "FATAL: Remote call on instance-1 failed" message includes the failure reason.

There are some "Also:" stacktraces printed, see below, which don't appear when the script contains only "exit 0". Do you think these are related to the failure?

How can I find what's causing this failure?

--- Console output below ---

Started by remote host 1.1.1.1
Building remotely on instance-1 (sim) in workspace /path/to/JobName
[JobName] $ /bin/sh -xe /tmp/jenkins6599300392607514127.sh
[...]
+ date
Mon May  6 13:38:06 UTC 2019
+ echo Done
Done
+ exit 0
FATAL: Remote call on instance-1 failed
Also:   hudson.remoting.Channel$CallSiteStackTrace: Remote call to channel
		at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1737)
		at hudson.remoting.Request.call(Request.java:197)
		at hudson.remoting.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:281)
		at com.sun.proxy.$Proxy6.fetch3(Unknown Source)
		at hudson.remoting.RemoteClassLoader.findClass(RemoteClassLoader.java:209)
		at java.lang.ClassLoader.loadClass(ClassLoader.java:588)
		at java.lang.ClassLoader.loadClass(ClassLoader.java:521)
		at java.lang.Class.forName0(Native Method)
		at java.lang.Class.forName(Class.java:315)
		at hudson.util.ProcessTree$UnixReflection.<clinit>(ProcessTree.java:778)
		at hudson.util.ProcessTree$UnixProcess.kill(ProcessTree.java:726)
		at hudson.util.ProcessTree$UnixProcess.killRecursively(ProcessTree.java:747)
		at hudson.util.ProcessTree$Unix.killAll(ProcessTree.java:666)
		at hudson.Launcher$RemoteLauncher$KillTask.call(Launcher.java:1096)
		at hudson.Launcher$RemoteLauncher$KillTask.call(Launcher.java:1087)
		at hudson.remoting.UserRequest.perform(UserRequest.java:210)
		at hudson.remoting.UserRequest.perform(UserRequest.java:53)
		at hudson.remoting.Request$2.run(Request.java:364)
		at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
		at java.util.concurrent.FutureTask.run(FutureTask.java:264)
		at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
		at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
		at java.lang.Thread.run(Thread.java:834)
java.lang.ClassNotFoundException: Classloading from system classloader disabled
	at hudson.remoting.RemoteClassLoader$ClassLoaderProxy.fetch4(RemoteClassLoader.java:854)
	at hudson.remoting.RemoteClassLoader$ClassLoaderProxy.fetch3(RemoteClassLoader.java:889)
	at sun.reflect.GeneratedMethodAccessor9164.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:929)
	at hudson.remoting.Request$2.run(Request.java:369)
	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
	at org.jenkinsci.remoting.CallableDecorator.call(CallableDecorator.java:19)
	at hudson.remoting.CallableDecoratorList$1.call(CallableDecoratorList.java:21)
	at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46)
	at jenkins.security.ImpersonatingExecutorService$2.call(ImpersonatingExecutorService.java:71)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Also:   hudson.remoting.Channel$CallSiteStackTrace: Remote call to instance-1
		at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1741)
		at hudson.remoting.UserResponse.retrieve(UserRequest.java:389)
		at hudson.remoting.Channel.call(Channel.java:955)
		at hudson.Launcher$RemoteLauncher.kill(Launcher.java:1084)
		at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:510)
		at hudson.model.Run.execute(Run.java:1819)
		at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
		at hudson.model.ResourceController.execute(ResourceController.java:97)
		at hudson.model.Executor.run(Executor.java:429)
Caused: java.lang.LinkageError
	at hudson.util.ProcessTree$UnixReflection.<clinit>(ProcessTree.java:789)
	at hudson.util.ProcessTree$UnixProcess.kill(ProcessTree.java:726)
	at hudson.util.ProcessTree$UnixProcess.killRecursively(ProcessTree.java:747)
	at hudson.util.ProcessTree$Unix.killAll(ProcessTree.java:666)
	at hudson.Launcher$RemoteLauncher$KillTask.call(Launcher.java:1096)
	at hudson.Launcher$RemoteLauncher$KillTask.call(Launcher.java:1087)
	at hudson.remoting.UserRequest.perform(UserRequest.java:210)
	at hudson.remoting.UserRequest.perform(UserRequest.java:53)
	at hudson.remoting.Request$2.run(Request.java:364)
	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
	at java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.lang.Thread.run(Thread.java:834)
Caused: java.io.IOException: Remote call on instance-1 failed
	at hudson.remoting.Channel.call(Channel.java:961)
	at hudson.Launcher$RemoteLauncher.kill(Launcher.java:1084)
	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:510)
	at hudson.model.Run.execute(Run.java:1819)
	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
	at hudson.model.ResourceController.execute(ResourceController.java:97)
	at hudson.model.Executor.run(Executor.java:429)
Finished: FAILURE

niristotle okram

unread,
May 7, 2019, 8:37:01 PM5/7/19
to jenkins...@googlegroups.com
If I remember correctly, the non 0 status of the command is enough to exit. Your exit 0, will not be executed. There is a workaround for that. 

--
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.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/CAM__n4pZhvewoHCxkb%3D54zGQKdP7BgMFfcvN2B77Cgm7DB61yg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
--
Sent from mobile device, excuse typos if any.

Alexandru Băluț

unread,
May 8, 2019, 3:30:44 AM5/8/19
to Jenkins Users
I see what you mean, but "exit 0" is executed and despite being executed the job still fails. See the copy/pasted console log.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkins...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages