Jenkins needs to check whether the war's directory is writeable before offering to upgrade

This issue is archived. You can view it, but you can't modify it. Learn more

XMLWordPrintable

      Lifecycle#canRewriteHudsonWar assumes in-place replacement of the war, while UpdateCenter#download actually writes to a temporary file first to prevent breaking the file if an error occurs. This can lead to the following exception:

      hudson.util.IOException2: Failed to download from http://updates.jenkins-ci.org/download/war/1.570/jenkins.war (redirected to: http://jenkins.mirror.isppower.de/war/1.570/jenkins.war)
      	at hudson.model.UpdateCenter$UpdateCenterConfiguration.download(UpdateCenter.java:791)
      	at hudson.model.UpdateCenter$DownloadJob._run(UpdateCenter.java:1138)
      	at hudson.model.UpdateCenter$DownloadJob.run(UpdateCenter.java:1116)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
      	at hudson.remoting.AtmostOneThreadExecutor$Worker.run(AtmostOneThreadExecutor.java:104)
      	at java.lang.Thread.run(Thread.java:744)
      Caused by: java.io.FileNotFoundException: /usr/lib/jenkins/jenkins.war.tmp (Permission denied)
      	at java.io.FileOutputStream.open(Native Method)
      	at java.io.FileOutputStream.<init>(FileOutputStream.java:221)
      	at java.io.FileOutputStream.<init>(FileOutputStream.java:171)
      	at hudson.model.UpdateCenter$UpdateCenterConfiguration.download(UpdateCenter.java:762)
      	... 6 more

            Assignee:
            Daniel Beck
            Reporter:
            Daniel Beck
            Archiver:
            Jenkins Service Account

              Created:
              Updated:
              Resolved:
              Archived: