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

Jenkins >=1.560 breaks Jenkins slave handling / NIO JNLP related (using swarm plugin)

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Blocker
    • Resolution: Fixed
    • Component/s: core
    • Labels:
    • Environment:
      openjdk-6 on Debian/wheezy
    • Similar Issues:

      Description

      My Jenkins slaves are connected via the swarm plugin (tested with swarm-client-1.10 and swarm-client-1.15), as soon as I upgrade Jenkins master to 1.560 Jenkins jobs very soon die with (quoting Jenkins job output):

      09:17:44 FATAL: hudson.remoting.RequestAbortedException: java.nio.channels.ClosedByInterruptException
      09:17:44 hudson.remoting.RequestAbortedException: hudson.remoting.RequestAbortedException: java.nio.channels.ClosedByInterruptException
      09:17:44 at hudson.remoting.RequestAbortedException.wrapForRethrow(RequestAbortedException.java:41)
      09:17:44 at hudson.remoting.RequestAbortedException.wrapForRethrow(RequestAbortedException.java:34)
      09:17:44 at hudson.remoting.Request.call(Request.java:174)
      09:17:44 at hudson.remoting.Channel.call(Channel.java:738)
      09:17:44 at hudson.remoting.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:168)
      09:17:44 at com.sun.proxy.$Proxy57.join(Unknown Source)
      09:17:44 at hudson.Launcher$RemoteLauncher$ProcImpl.join(Launcher.java:951)
      09:17:44 at hudson.tasks.CommandInterpreter.join(CommandInterpreter.java:137)
      09:17:44 at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:97)
      09:17:44 at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:66)
      09:17:44 at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
      09:17:44 at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:740)
      09:17:44 at hudson.model.Build$BuildExecution.build(Build.java:198)
      09:17:44 at hudson.model.Build$BuildExecution.doRun(Build.java:159)
      09:17:44 at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:519)
      09:17:44 at hudson.model.Run.execute(Run.java:1703)
      09:17:44 at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
      09:17:44 at hudson.model.ResourceController.execute(ResourceController.java:88)
      09:17:44 at hudson.model.Executor.run(Executor.java:231)
      09:17:44 Caused by: hudson.remoting.RequestAbortedException: java.nio.channels.ClosedByInterruptException
      09:17:44 at hudson.remoting.Request.abort(Request.java:299)
      09:17:44 at hudson.remoting.Channel.terminate(Channel.java:801)
      09:17:44 at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:69)
      09:17:44 Caused by: java.nio.channels.ClosedByInterruptException
      09:17:44 at java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:201)
      09:17:44 at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:281)
      09:17:44 at hudson.remoting.SocketChannelStream$1.read(SocketChannelStream.java:33)
      09:17:44 at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:65)
      09:17:44 at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:109)
      09:17:44 at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:103)
      09:17:44 at java.io.InputStream.read(InputStream.java:101)
      09:17:44 at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:81)
      09:17:44 at hudson.remoting.FlightRecorderInputStream.read(FlightRecorderInputStream.java:77)
      09:17:44 at java.io.ObjectInputStream$PeekInputStream.peek(ObjectInputStream.java:2291)
      09:17:44 at java.io.ObjectInputStream$BlockDataInputStream.peek(ObjectInputStream.java:2584)
      09:17:44 at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2594)
      09:17:44 at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1317)
      09:17:44 at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
      09:17:44 at hudson.remoting.Command.readFrom(Command.java:92)
      09:17:44 at hudson.remoting.ClassicCommandTransport.read(ClassicCommandTransport.java:70)
      09:17:44 at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:48)

      ... and the slaves get disconnected, quoting from jenkins.log:

      Apr 25, 2014 9:40:34 AM jenkins.slaves.JnlpSlaveAgentProtocol$Handler$1 onClosed
      WARNING: Channel reader thread: jenkins-slave6 for + jenkins-slave6 terminated
      java.nio.channels.ClosedChannelException
      at sun.nio.ch.SocketChannelImpl.ensureReadOpen(SocketChannelImpl.java:131)
      at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:174)
      at hudson.remoting.SocketChannelStream$1.read(SocketChannelStream.java:33)
      at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:65)
      at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:109)
      at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:103)
      at hudson.remoting.FlightRecorderInputStream.read(FlightRecorderInputStream.java:85)
      at java.io.ObjectInputStream$PeekInputStream.read(ObjectInputStream.java:2308)
      at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2321)
      at java.io.ObjectInputStream$BlockDataInputStream.readInt(ObjectInputStream.java:2816)
      at java.io.ObjectInputStream.readHandle(ObjectInputStream.java:1451)
      at java.io.ObjectInputStream.readTypeString(ObjectInputStream.java:1417)
      at java.io.ObjectStreamClass.readNonProxy(ObjectStreamClass.java:680)
      at java.io.ObjectInputStream.readClassDescriptor(ObjectInputStream.java:829)
      at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1600)
      at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1516)
      at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1621)
      at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1516)
      at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1621)
      at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1516)
      at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1770)
      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1349)
      at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1989)
      at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1914)
      at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1797)
      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1349)
      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
      at hudson.remoting.Command.readFrom(Command.java:92)
      at hudson.remoting.ClassicCommandTransport.read(ClassicCommandTransport.java:70)
      at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:48)

      AFAICS this seems to be related to the following Git commit:

      commit d4c74bf35d4d04bf289b020efd29f827458e0e11
      Author: Kohsuke Kawaguchi <kk@kohsuke.org>
      Date: Fri Apr 4 17:39:44 2014 -0700

      Integrated NIO JNLP slaves handling

      ]

      Downgrading to Jenkins v1.559 again works around the issue.

        Attachments

          Issue Links

            Activity

            mika Michael Prokop created issue -
            cbos Cees Bos made changes -
            Field Original Value New Value
            Attachment usedMemory.png [ 25734 ]
            oleg_nenashev Oleg Nenashev made changes -
            Labels remoting
            oleg_nenashev Oleg Nenashev made changes -
            Component/s swarm [ 15741 ]
            Priority Major [ 3 ] Blocker [ 1 ]
            kohsuke Kohsuke Kawaguchi made changes -
            Link This issue duplicates JENKINS-22734 [ JENKINS-22734 ]
            kohsuke Kohsuke Kawaguchi made changes -
            Resolution Fixed [ 1 ]
            Status Open [ 1 ] Resolved [ 5 ]
            rtyler R. Tyler Croy made changes -
            Workflow JNJira [ 154872 ] JNJira + In-Review [ 195063 ]

              People

              Assignee:
              kohsuke Kohsuke Kawaguchi
              Reporter:
              mika Michael Prokop
              Votes:
              3 Vote for this issue
              Watchers:
              13 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: