Hello We, the Qpid project, are having a problem with our Jenkins build Qpid-Java-Test-Solaris on the Solaris1 Jenkins slave. Some of our junit tests are failing on this slave with an exception:
java.net.MalformedURLException: Bad URL path: _solaris:19099/jndi/rmi://hudson_solaris:18999/jmxrmi Looking at the logs from the testcase it appears that the Java method call InetAddress.getLocalHost().getHostName() used by the Qpid code is returning hostname "hudson_solaris". The code goes on to build a URL using this value which then is subsequently rejected with a MalformedURLException by javax.management.remote.JMXServiceURL (another part of the Java JDK). According to RFC 952 (http://en.wikipedia.org/wiki/Hostname#Restrictions_on_valid_host_names) hostnames that contain underscores (_) are invalid, so it appears that Java is justified in throwing the Exception. Now I'm slightly puzzled because https://builds.apache.org/computer/solaris1/ reports the FQDN as hudson-solaris.zones.apache.org (with minus sign rather than underscore), and hudson-solaris.zones.apache.org resolves in DNS whereas hudson_solaris.zones.apache.org does not. My questions are: What is the hostname of Jenkins slave solaris1? Does the host perhaps have multiple hostnames one of which is the illegal hudson_solaris? The failing build project is "Qpid-Java-Test-Solaris" which is tied to solaris. This project is using configured in Jenkins to use JDK 1.6. I have not tested the build on solaris2 as it is presently offline. I have successfully tested the code on another Solaris box. We don't have this problem on the ubuntu Jenkins slaves, Project: https://builds.apache.org/view/M-R/view/Qpid/job/Qpid-Java-Test-Solaris/ Example failure: https://builds.apache.org/view/M-R/view/Qpid/job/Qpid-Java-Test-Solaris/lastCompletedBuild/testReport/org.apache.qpid.management.jmx/ManagementActorLoggingTest/testCreateExchangeDirectTransientViaManagementConsole/ Thanks in advance for your time Kind regards Keith Wall.