Description

When using jnlp from a slave machine, then it works initially, because it uses provided basic authentication credentials. However at some point it stops working and in jenkins-slave.err.log this line is printed over and over again:
Oct 29, 2015 12:38:23 PM hudson.remoting.Engine waitForServerToBack
INFO: Master isn't ready to talk to us. Will retry again: response code=401

Reading this, It seems that Engine assumes that Jenkins is never placed behind firewalls and served directly to the public, which is not always the case, especially when Jenkins slaves are involved - they might be outside of Jenkins own network, thus firewalls/proxies are probably between them.

In other words - Engine should always provide credentials to every request, if they exist, because assumption of something being unprotected might be wrong.

PS! Same thing applies to proxy credentials, which are not provided in the #waitForServerToBack, but are provided in #run.

I can confirm the fix solves the problem. I think you can mark this issue as resolved, at least a fresh install from the git remoting repo works for me, the slave reconnects successfully after the connection has dropped.

jbq
added a comment - 2016-07-08 07:54 I can confirm the fix solves the problem. I think you can mark this issue as resolved, at least a fresh install from the git remoting repo works for me, the slave reconnects successfully after the connection has dropped.
Thanks!