After a lot of investigation, I now have a way to reliably reproduce this 
error, and can avoid it. The issue occurs when Jenkins tries to abort the 
job during JBehave testing. It originally occurred when someone manually 
aborted a job, but became consistent when I enabled a Jenkins plugin that 
monitored the build time and aborted the job if it ran too long. Since the 
Dev/QA team had recently added a bunch of new tests, the job was taking 
significantly longer, and so Jenkins was trying to abort the job.

The thing is, the job would successfully abort, but JBehave would spin up a 
thread on the SLAVE that was writing a log file to the /tmp directory on 
the MASTER, with the following stack trace, over and over, in an infinite 
loop until the disk filled up. The class/method referenced in the error 
message is the main JBehave class.

ha:AAAAYx+LCAAAAAAAAP9b85aBtbiIQSWjNKU4P0+
vJLE4u1gvPjexLDVPzxdEhicW5WXmpfvll6S2fNly5fzGzauYGBgqihikoFqS8/
OK83NS9ZwhNEghAwQwghQWAACwxA+XYgAAAA==[WARNING] interrupted while joining 
against thread Thread[com.xxx.xxx.xxx.test.TestOrderCallMain.main(),5,com.
com.xxx.xxx.xxx.test.TestOrderCallMain]
java.lang.InterruptedException
 at java.lang.Object.wait(Native Method)
 at java.lang.Thread.join(Thread.java:1281)
 at org.codehaus.mojo.exec.ExecJavaMojo.joinThread(ExecJavaMojo.java:415)
 at org.codehaus.mojo.exec.ExecJavaMojo.joinNonDaemonThreads(ExecJavaMojo.
java:405)
 at org.codehaus.mojo.exec.ExecJavaMojo.execute(ExecJavaMojo.java:317)
 at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(
DefaultBuildPluginManager.java:101)
 at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.
java:209)
 at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.
java:153)
 at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.
java:145)
 at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(
LifecycleModuleBuilder.java:84)
 at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(
LifecycleModuleBuilder.java:59)
 at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild
(LifecycleStarter.java:183)
 at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(
LifecycleStarter.java:161)
 at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
 at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
 at org.jvnet.hudson.maven3.launcher.Maven3Launcher.main(Maven3Launcher.java
:117)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:57)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(
DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:606)
 at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(
Launcher.java:329)
 at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:
239)
 at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:178)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:57)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(
DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:606)
 at hudson.maven.Maven3Builder.call(Maven3Builder.java:134)
 at hudson.maven.Maven3Builder.call(Maven3Builder.java:69)
 at hudson.remoting.UserRequest.perform(UserRequest.java:121)
 at hudson.remoting.UserRequest.perform(UserRequest.java:49)
 at hudson.remoting.Request$2.run(Request.java:324)
 at hudson.remoting.InterceptingExecutorService$1.call(
InterceptingExecutorService.java:68)
 at java.util.concurrent.FutureTask.run(FutureTask.java:262)
 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
java:1145)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.
java:615)

 at java.lang.Thread.run(Thread.java:745)

I've mostly avoided the issue by disabling the Jenkins plugins that 
automatically abort the job run. There is still risk, however, because 
users can manually abort runs.

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/70f35503-297f-4a64-afc8-d67b4c432d9a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to