-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Major
-
Component/s: plugin-installation-manager-tool
The plugins are currently updated in the alphabetical order, which can lead to problems if an earlier plugin (A) is dependent on a later plugin (B). If the A is updated, and the newer version expects the B plugin to be updated, too, but the update of the B plugin fails (for any reasons, e.g. network instability), the whole Jenkins may fail to (re)start.
Just happened to me today - the Git plugin has been updated to 5.8.0, which requires SCM API plugin version 710 or newer, but the update of SCM API has failed (alongside of some other plugins):
2025-10-09 07:03:44.294+0000 [id=602866]     SEVERE  h.model.UpdateCenter$DownloadJob#run: Failed to install scm-api java.net.SocketTimeoutException: Read timed out     at java.base/sun.nio.ch.NioSocketImpl.timedRead(NioSocketImpl.java:278)     at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:304)     at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:346)     at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:796)     at java.base/java.net.Socket$SocketInputStream.read(Socket.java:1099)     at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:489)     at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:483)     at java.base/sun.security.ssl.SSLSocketInputRecord.bytesInCompletePacket(SSLSocketInputRecord.java:70)     at java.base/sun.security.ssl.SSLSocketImpl.readApplicationRecord(SSLSocketImpl.java:1461)     at java.base/sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:1066)     at java.base/java.io.BufferedInputStream.fill(BufferedInputStream.java:291)     at java.base/java.io.BufferedInputStream.read1(BufferedInputStream.java:347)     at java.base/java.io.BufferedInputStream.implRead(BufferedInputStream.java:420)     at java.base/java.io.BufferedInputStream.read(BufferedInputStream.java:399)     at java.base/sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:827)     at java.base/sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:759)     at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1705)     at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1614)     at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:223)     at hudson.model.UpdateCenter$UpdateCenterConfiguration.download(UpdateCenter.java:1365) Caused: java.io.IOException: Failed to load https://updates.jenkins.io/download/plugins/scm-api/712.v8846fdd68c88/scm-api.hpi to /local0/biologics/jenkins-core/jenkins_home/plugins/scm-api.jpi.tmp     at hudson.model.UpdateCenter$UpdateCenterConfiguration.download(UpdateCenter.java:1380) Caused: java.io.IOException: Failed to download from https://updates.jenkins.io/download/plugins/scm-api/712.v8846fdd68c88/scm-api.hpi → https://get.jenkins.io/plugins/scm-api/712.v8846fdd68c88/scm-api.hpi     at hudson.model.UpdateCenter$UpdateCenterConfiguration.download(UpdateCenter.java:1407)     at hudson.model.UpdateCenter$DownloadJob._run(UpdateCenter.java:2059)     at hudson.model.UpdateCenter$InstallationJob._run(UpdateCenter.java:2387)     at hudson.model.UpdateCenter$DownloadJob.run(UpdateCenter.java:2033)     at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)     at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)     at hudson.remoting.AtmostOneThreadExecutor$Worker.run(AtmostOneThreadExecutor.java:121)     at java.base/java.lang.Thread.run(Thread.java:1583)
This led to whole Jenkins failing to start, and I had to manually update the SCM API plugin via CLI plugin manager (this luckily worked).
Â