Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-14909

Deadlock between SlaveComputer$2.onClosed and printStackTrace from CLICommand.main

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • core

      A deadlock involving the remoting layer:

      "Channel reader thread: HTTP full-duplex channel ...":
        waiting to lock monitor 0x00007f12c4d469b8 (object 0x00000000dd36af48, a java.io.PrintStream),
        which is held by "pool-3-thread-2602"
      "pool-3-thread-2602":
        waiting to lock monitor 0x00007f12acb570f8 (object 0x00000000dd3657b0, a hudson.remoting.Channel),
        which is held by "Channel reader thread: HTTP full-duplex channel ..."
      "Channel reader thread: HTTP full-duplex channel ...":
      	at java.io.PrintStream.write(PrintStream.java:429)
      	- waiting to lock <0x00000000dd36af48> (a java.io.PrintStream)
      	at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:202)
      	at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:272)
      	at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:276)
      	at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:122)
      	- locked <0x00000000dd5e84e0> (a java.io.OutputStreamWriter)
      	at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:212)
      	at java.io.PrintWriter.newLine(PrintWriter.java:438)
      	- locked <0x00000000dd5e84e0> (a java.io.OutputStreamWriter)
      	at java.io.PrintWriter.println(PrintWriter.java:585)
      	at java.io.PrintWriter.println(PrintWriter.java:696)
      	- locked <0x00000000dd5e84e0> (a java.io.OutputStreamWriter)
      	at java.lang.Throwable.printStackTraceAsCause(Throwable.java:538)
      	at java.lang.Throwable.printStackTrace(Throwable.java:516)
      	- locked <0x00000000dd5e8538> (a java.io.PrintWriter)
      	at hudson.slaves.SlaveComputer$2.onClosed(SlaveComputer.java:339)
      	at hudson.remoting.Channel.terminate(Channel.java:747)
      	- locked <0x00000000dd3657b0> (a hudson.remoting.Channel)
      	at hudson.remoting.Channel$ReaderThread.run(Channel.java:1139)
      "pool-3-thread-2602":
      	at hudson.remoting.Channel.send(Channel.java:498)
      	- waiting to lock <0x00000000dd3657b0> (a hudson.remoting.Channel)
      	at hudson.remoting.ProxyOutputStream._write(ProxyOutputStream.java:123)
      	- locked <0x00000000dd36af78> (a hudson.remoting.ProxyOutputStream)
      	at hudson.remoting.ProxyOutputStream.write(ProxyOutputStream.java:103)
      	at hudson.remoting.RemoteOutputStream.write(RemoteOutputStream.java:110)
      	at java.io.PrintStream.write(PrintStream.java:430)
      	- locked <0x00000000dd36af48> (a java.io.PrintStream)
      	at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:202)
      	at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:272)
      	at sun.nio.cs.StreamEncoder.flushBuffer(StreamEncoder.java:85)
      	- locked <0x00000000dd36afc8> (a java.io.OutputStreamWriter)
      	at java.io.OutputStreamWriter.flushBuffer(OutputStreamWriter.java:168)
      	at java.io.PrintStream.write(PrintStream.java:477)
      	- locked <0x00000000dd36af48> (a java.io.PrintStream)
      	at java.io.PrintStream.print(PrintStream.java:619)
      	at java.io.PrintStream.println(PrintStream.java:773)
      	- locked <0x00000000dd36af48> (a java.io.PrintStream)
      	at java.lang.Throwable.printStackTrace(Throwable.java:461)
      	- locked <0x00000000dd36af48> (a java.io.PrintStream)
      	at hudson.cli.CLICommand.main(CLICommand.java:215)
      	at hudson.cli.CliManagerImpl.main(CliManagerImpl.java:66)
      	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 hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:274)
      	at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:255)
      	at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:215)
      	at hudson.remoting.UserRequest.perform(UserRequest.java:118)
      	at hudson.remoting.UserRequest.perform(UserRequest.java:48)
      	at hudson.remoting.Request$2.run(Request.java:287)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
      	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      	at java.lang.Thread.run(Thread.java:662)
      

            kohsuke Kohsuke Kawaguchi
            jglick Jesse Glick
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: