There are several problems with the way ping threads are set up.

      • ChannelPinger sets up a master → agent ping, and also an agent → master ping. But Launcher sets up another slave → master ping for JNLP agents (not for master-initiated ones)...and is more awkward to disable, since you must pass a system property to each agent's launch line.
      • As noted here, the agent → master ping from ChannelPinger does not work at all, due to a mistake in usage of PingFailureAnalyzer. (Oddly, kohsuke introduced this extension point claiming it could be implemented in ssh-slaves, but apparently never did so there, or anywhere else!)
      • The Launcher variant fails to override the nondeprecated onDead variant that gets a stack trace.

          [JENKINS-35190] Improper PingThread handling

          Code changed in jenkins
          User: Jesse Glick
          Path:
          core/src/main/java/hudson/slaves/ChannelPinger.java
          http://jenkins-ci.org/commit/jenkins/0ae6c42ed2cbda0ea4a1e196656ef1d6008d80ba
          Log:
          JENKINS-35190 Do not even consult PingFailureAnalyzer if ping fails on the agent side. (#2377)

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: core/src/main/java/hudson/slaves/ChannelPinger.java http://jenkins-ci.org/commit/jenkins/0ae6c42ed2cbda0ea4a1e196656ef1d6008d80ba Log: JENKINS-35190 Do not even consult PingFailureAnalyzer if ping fails on the agent side. (#2377)

          Oleg Nenashev added a comment -

          Jenkins core fix has been integrated into 2.7

          Oleg Nenashev added a comment - Jenkins core fix has been integrated into 2.7

          Code changed in jenkins
          User: Jesse Glick
          Path:
          src/main/java/hudson/remoting/PingThread.java
          http://jenkins-ci.org/commit/remoting/1fc3c930647fd9352c857fdd247c7d9b252dbc94
          Log:
          JENKINS-35190 Added some logging.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: src/main/java/hudson/remoting/PingThread.java http://jenkins-ci.org/commit/remoting/1fc3c930647fd9352c857fdd247c7d9b252dbc94 Log: JENKINS-35190 Added some logging.

          Code changed in jenkins
          User: Jesse Glick
          Path:
          src/main/java/hudson/remoting/Launcher.java
          http://jenkins-ci.org/commit/remoting/7ff0a9ae79eb897bb70d9a88296985f5b67b3c81
          Log:
          JENKINS-35190 Turning off redundant PingThread from Launcher.
          Also using new onDead overload.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: src/main/java/hudson/remoting/Launcher.java http://jenkins-ci.org/commit/remoting/7ff0a9ae79eb897bb70d9a88296985f5b67b3c81 Log: JENKINS-35190 Turning off redundant PingThread from Launcher. Also using new onDead overload.

          Code changed in jenkins
          User: Jesse Glick
          Path:
          src/main/java/hudson/remoting/Launcher.java
          src/main/java/hudson/remoting/PingThread.java
          http://jenkins-ci.org/commit/remoting/59e33a4a6592bdf9c6dddd80fbeeaf4cc679a2a2
          Log:
          Merge pull request #85 from jglick/PingThread-JENKINS-35190

          JENKINS-35190 PingThread fixes

          Compare: https://github.com/jenkinsci/remoting/compare/c0cf33130ae5...59e33a4a6592

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: src/main/java/hudson/remoting/Launcher.java src/main/java/hudson/remoting/PingThread.java http://jenkins-ci.org/commit/remoting/59e33a4a6592bdf9c6dddd80fbeeaf4cc679a2a2 Log: Merge pull request #85 from jglick/PingThread- JENKINS-35190 JENKINS-35190 PingThread fixes Compare: https://github.com/jenkinsci/remoting/compare/c0cf33130ae5...59e33a4a6592

          Jesse Glick added a comment -

          Remoting PR merged but as yet unreleased. I guess standard practice is to mark this fixed once core picks up that release?

          Jesse Glick added a comment - Remoting PR merged but as yet unreleased. I guess standard practice is to mark this fixed once core picks up that release?

          Oleg Nenashev added a comment -

          jglick Yes. My plan is to have a new remoting release by the next weekly

          Oleg Nenashev added a comment - jglick Yes. My plan is to have a new remoting release by the next weekly

          Code changed in jenkins
          User: Oleg Nenashev
          Path:
          pom.xml
          http://jenkins-ci.org/commit/jenkins/d9f12b0e614d9598221c571001aa43c018b21e25
          Log:
          Update remoting to 2.60

          Changes summary:

          Fixed issues:

          Enhancements:

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Oleg Nenashev Path: pom.xml http://jenkins-ci.org/commit/jenkins/d9f12b0e614d9598221c571001aa43c018b21e25 Log: Update remoting to 2.60 Changes summary: Fixed issues: JENKINS-22722 ( https://issues.jenkins-ci.org/browse/JENKINS-22722 ) - Make the channel reader tolerant against Socket timeouts. ( https://github.com/jenkinsci/remoting/pull/80 ) JENKINS-32326 ( https://issues.jenkins-ci.org/browse/JENKINS-32326 ) - Support no_proxy environment variable. ( https://github.com/jenkinsci/remoting/pull/84 ) JENKINS-35190 ( https://issues.jenkins-ci.org/browse/JENKINS-35190 ) - Do not invoke PingFailureAnalyzer for agent=>master ping failures. ( https://github.com/jenkinsci/remoting/pull/85 ) JENKINS-31256 ( https://issues.jenkins-ci.org/browse/JENKINS-31256 ) - <code>hudson.Remoting.Engine#waitForServerToBack</code> now uses credentials for connection. ( https://github.com/jenkinsci/remoting/pull/87 ) JENKINS-35494 ( https://issues.jenkins-ci.org/browse/JENKINS-35494 ) - Fix issues in file management in <code>hudson.remoting.Launcher</code> (main executable class). ( https://github.com/jenkinsci/remoting/pull/88 ) Enhancements: Ensure a message is logged if remoting fails to override the default <code>ClassFilter</code>. ( https://github.com/jenkinsci/remoting/pull/80 )

          Code changed in jenkins
          User: Oleg Nenashev
          Path:
          pom.xml
          http://jenkins-ci.org/commit/jenkins/c718516adfddeb10cbf616ce37c619cc6bbafd53
          Log:
          Update remoting to 2.60 (#2403)

          Changes summary:

          Fixed issues:

          Enhancements:

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Oleg Nenashev Path: pom.xml http://jenkins-ci.org/commit/jenkins/c718516adfddeb10cbf616ce37c619cc6bbafd53 Log: Update remoting to 2.60 (#2403) Changes summary: Fixed issues: JENKINS-22722 ( https://issues.jenkins-ci.org/browse/JENKINS-22722 ) - Make the channel reader tolerant against Socket timeouts. ( https://github.com/jenkinsci/remoting/pull/80 ) JENKINS-32326 ( https://issues.jenkins-ci.org/browse/JENKINS-32326 ) - Support no_proxy environment variable. ( https://github.com/jenkinsci/remoting/pull/84 ) JENKINS-35190 ( https://issues.jenkins-ci.org/browse/JENKINS-35190 ) - Do not invoke PingFailureAnalyzer for agent=>master ping failures. ( https://github.com/jenkinsci/remoting/pull/85 ) JENKINS-31256 ( https://issues.jenkins-ci.org/browse/JENKINS-31256 ) - <code>hudson.Remoting.Engine#waitForServerToBack</code> now uses credentials for connection. ( https://github.com/jenkinsci/remoting/pull/87 ) JENKINS-35494 ( https://issues.jenkins-ci.org/browse/JENKINS-35494 ) - Fix issues in file management in <code>hudson.remoting.Launcher</code> (main executable class). ( https://github.com/jenkinsci/remoting/pull/88 ) Enhancements: Ensure a message is logged if remoting fails to override the default <code>ClassFilter</code>. ( https://github.com/jenkinsci/remoting/pull/80 )

          Oleg Nenashev added a comment -

          Releases: remoting-2.60 and jenkins-2.9

          Oleg Nenashev added a comment - Releases: remoting-2.60 and jenkins-2.9

            oleg_nenashev Oleg Nenashev
            jglick Jesse Glick
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: