Jenkins : Windows slaves fail to start via JNLP

In some specific situations, when trying to instantiate a slave through JNLP, Java Web Start may raise an error saying that it's unable to run the application "Slave agent for <your machine>":

This occurs because the Hudson master node has used the loopback IP address ( rather than using the standard (non-loopback) one.
This is clearly shown when going to the slave node's page in the Hudson console:

Here we can see that the IP loopback address appears several times, depicting the problem that occurs.

To fix it:

  • Go to the E-mail Notification section of the Hudson main configuration panel.
  • Set the Hudson URL using the non-loopback IP address.