-
Bug
-
Resolution: Fixed
-
Blocker
-
None
-
Powered by SuggestiMate
Just noticed that the autoinstallation of JDK from java.sun.com stopped working recently. I tried various Jenkins instances running here and they all have the same problem; versions from 1.415 to 1.423 on Linux.
- is duplicated by
-
JENKINS-10194 JDK Auto-Install does not allow me to select a version
-
- Resolved
-
-
JENKINS-10176 List of JVM-versions for autoinstall is empty, JVM auto-install impossible
-
- Resolved
-
[JENKINS-10511] Autoinstall JDK from java.sun.com no longer works
Pretty sure that the JDK download pages got reworked by Oracle last night as part of the Java 7 release. This is going to require rewriting both the crawler that populates the JDK list (which is now empty) and the actual download/installation logic, I believe.
Yes, they've changed the way bits are made available for download.
It's now listed in pages linked from http://www.oracle.com/technetwork/java/archive-139210.html
The backend and the the core needs to be both updated.
Code changed in jenkins
User: Kohsuke Kawaguchi
Path:
list-ant/pom.xml
list-jdk/pom.xml
list-jdk/src/main/groovy/App.groovy
list-jdk/src/main/java/ListJDK.java
pom.xml
http://jenkins-ci.org/commit/backend-crawler/729782d518d523f3348a9e8f53d6c60336b0ed48
Log:
JENKINS-10511 updated the backend that builds JDK listing.
Code changed in jenkins
User: Kohsuke Kawaguchi
Path:
changelog.html
http://jenkins-ci.org/commit/jenkins/cb2ced734edc6ace59f5efd8dadbdaed0588a90d
Log:
[FIXED JENKINS-10511] commits leading up to this is for making JDK installer work again
Integrated in jenkins_main_trunk #1005
[FIXED JENKINS-10511] commits leading up to this is for making JDK installer work again
Kohsuke Kawaguchi : cb2ced734edc6ace59f5efd8dadbdaed0588a90d
Files :
- changelog.html
Upgraded to 1.424 and JDK pulldown menu is now properly populated. However jobs doing an autoinstall are stalling trying to download and then eventually time out.
10:13:53 Installing JDK jdk-6u16-oth-JPR
10:13:53 Downloading JDK from http://download.oracle.com/otn/java/jdk/6u16-b01//jdk-6u16-linux-x64.bin
10:26:30 java.io.IOException: GET http://download.oracle.com/otn/java/jdk/6u16-b01//jdk-6u16-linux-x64.bin failed
10:26:30 at com.gargoylesoftware.htmlunit.HttpWebConnection.getResponse(HttpWebConnection.java:126)
10:26:30 at com.gargoylesoftware.htmlunit.WebClient.loadWebResponseFromWebConnection(WebClient.java:1456)
10:26:30 at com.gargoylesoftware.htmlunit.WebClient.loadWebResponse(WebClient.java:1387)
10:26:30 at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:328)
10:26:30 at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:389)
10:26:30 at hudson.tools.JDKInstaller.locate(JDKInstaller.java:350)
10:26:30 at hudson.tools.JDKInstaller.performInstallation(JDKInstaller.java:121)
10:26:30 at hudson.tools.InstallerTranslator.getToolHome(InstallerTranslator.java:61)
10:26:30 at hudson.tools.ToolLocationNodeProperty.getToolHome(ToolLocationNodeProperty.java:107)
10:26:30 at hudson.tools.ToolInstallation.translateFor(ToolInstallation.java:150)
10:26:30 at hudson.model.JDK.forNode(JDK.java:112)
10:26:30 at hudson.model.AbstractBuild.getEnvironment(AbstractBuild.java:796)
10:26:30 at hudson.plugins.git.GitSCM.checkout(GitSCM.java:884)
10:26:30 at hudson.model.AbstractProject.checkout(AbstractProject.java:1193)
10:26:30 at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:555)
10:26:30 at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:443)
10:26:30 at hudson.model.Run.run(Run.java:1376)
10:26:30 at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
10:26:30 at hudson.model.ResourceController.execute(ResourceController.java:88)
10:26:30 at hudson.model.Executor.run(Executor.java:175)
10:26:30 Caused by: java.net.ConnectException: Connection timed out
10:26:30 at java.net.PlainSocketImpl.socketConnect(Native Method)
10:26:30 at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
10:26:30 at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
10:26:30 at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
10:26:30 at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
10:26:30 at java.net.Socket.connect(Socket.java:525)
10:26:30 at java.net.Socket.connect(Socket.java:475)
10:26:30 at java.net.Socket.<init>(Socket.java:372)
10:26:30 at java.net.Socket.<init>(Socket.java:246)
10:26:30 at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:80)
10:26:30 at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:122)
10:26:30 at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)
10:26:30 at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.open(MultiThreadedHttpConnectionManager.java:1361)
10:26:30 at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387)
10:26:30 at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
10:26:30 at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
10:26:30 at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:346)
10:26:30 at com.gargoylesoftware.htmlunit.HttpWebConnection.getResponse(HttpWebConnection.java:97)
10:26:30 ... 19 more
yes, this should be backported to 1.409.2, which should be available in 2-3 weeks
Code changed in jenkins
User: Kohsuke Kawaguchi
Path:
changelog.html
http://jenkins-ci.org/commit/jenkins/cb2ced734edc6ace59f5efd8dadbdaed0588a90d
Log:
[FIXED JENKINS-10511] commits leading up to this is for making JDK installer work again
Code changed in jenkins
User: Kohsuke Kawaguchi
Path:
changelog.html
http://jenkins-ci.org/commit/jenkins/cb2ced734edc6ace59f5efd8dadbdaed0588a90d
Log:
[FIXED JENKINS-10511] commits leading up to this is for making JDK installer work again
I'm on version 1.430 and I still get the same error no matter what I do with proxy settings:
Installing JDK jdk-6u20-oth-JPR
Downloading JDK from http://download.oracle.com/otn/java/jdk/6u20-b02//jdk-6u20-linux-x64.bin
FATAL: GET http://download.oracle.com/otn/java/jdk/6u20-b02//jdk-6u20-linux-x64.bin failed
java.io.IOException: GET http://download.oracle.com/otn/java/jdk/6u20-b02//jdk-6u20-linux-x64.bin failed
at com.gargoylesoftware.htmlunit.HttpWebConnection.getResponse(HttpWebConnection.java:126)
at com.gargoylesoftware.htmlunit.WebClient.loadWebResponseFromWebConnection(WebClient.java:1456)
at com.gargoylesoftware.htmlunit.WebClient.loadWebResponse(WebClient.java:1387)
at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:328)
at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:389)
at hudson.tools.JDKInstaller.locate(JDKInstaller.java:349)
at hudson.tools.JDKInstaller.performInstallation(JDKInstaller.java:120)
at hudson.tools.InstallerTranslator.getToolHome(InstallerTranslator.java:61)
at hudson.tools.ToolLocationNodeProperty.getToolHome(ToolLocationNodeProperty.java:107)
at hudson.tools.ToolInstallation.translateFor(ToolInstallation.java:150)
at hudson.model.JDK.forNode(JDK.java:112)
at hudson.model.AbstractBuild.getEnvironment(AbstractBuild.java:821)
at hudson.tasks.Maven.perform(Maven.java:211)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:693)
at hudson.model.Build$RunnerImpl.build(Build.java:178)
at hudson.model.Build$RunnerImpl.doRun(Build.java:139)
at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:459)
at hudson.model.Run.run(Run.java:1376)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:230)
Caused by: java.net.ConnectException: Connection timed out
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:519)
at java.net.Socket.connect(Socket.java:469)
at java.net.Socket.<init>(Socket.java:366)
at java.net.Socket.<init>(Socket.java:240)
at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:80)
at org.apache.commons.httpclient.protocol.DefaultProtocolSocketFactory.createSocket(DefaultProtocolSocketFactory.java:122)
at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)
at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.open(MultiThreadedHttpConnectionManager.java:1361)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:346)
at com.gargoylesoftware.htmlunit.HttpWebConnection.getResponse(HttpWebConnection.java:97)
... 21 more
On top of this, if you go into 'Manage Jenkins', change anything (even something unrelated to the JDK), and save, it will change your existing JDK ids blank! For example, I had:
<hudson.tools.JDKInstaller>
<id>jdk-6u21-oth-JPR@CDS-CDS_Developer</id>
<acceptLicense>true</acceptLicense>
</hudson.tools.JDKInstaller>
which was replaced by
<hudson.tools.JDKInstaller>
<id></id>
<acceptLicense>true</acceptLicense>
</hudson.tools.JDKInstaller>
(empty <id> tag). So the next time a build ran on my slaves, Jenkins removed the existing JDK install and all the builds started failing. When I fixed the tag, and reloaded Jenkins, the autoinstaller tried to run, but was failing because Windows thought the JDK was already installed. What I ended up having to do was.
1) Stop the slave
2) Log in to the slave machine
3) Copy the JDK files back to the /tools directory
4) Remove the JDK through Add/Remove programs (had to do step 3 or this wouldn't work)
5) Start the slave
After that the autoinstaller was able to run successfully and re-install the JDK. A huge pain, but luckily we don't have too many slaves. Maybe there was an easier way to fix it, but this worked for me.
In any case, if you change anything in 'Manage Jenkins' before this is fixed, verify your JDK installs have valid <id> tags. (I'm not sure how the save process works, but maybe in the future don't allow a blank value in this tag?) Another suggestion would be to break up the 'Manage Jenkins' page so one 'Save' doesn't have the potential of affecting so much. Finally, verify that if a JDK is removed by jenkins it runs the uninstaller if on windows.
I've been using Jenkins for quite a while and this is the first time it really gave me a scare! Hopefully others can avoid this one.