I recently upgraded my Jenkins installation using Debian’s package manager, and to my surprise… Jenkins wouldn’t start!
The error logged in /var/log/jenkins/jenkins.log looked like this:
WARNING: Failed startup of context w.{,file:/var/cache/jenkins/war/},/var/cache/jenkins/war org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Premature end of file.
followed by a Java stack trace. I noticed a suspicious line in that stack trace:
at org.eclipse.jetty.webapp.MetaData.setWebXml(MetaData.java:170)
interesting. It looked like something was wrong with Jenkins’ web.xml
, so I checked /var/cache/jenkins/war/WEB-INF/web.xml
and, surprise surprise… it was empty!
I unpacked an old jenkins.war
that I had, and copied its web.xml
over, restarting the service. A-ha! The logged error changed. Unfortunately, it still wouldn’t start, but it made me look for “jenkins corrupted /var/cache” which finally lead me to this bug report.
“Dang!” – I thought – “is that it?”.
Moved the old /var/cache/jenkins
away, created a new empty directory, and set user jenkins as its owner:
mv /var/cache/jenkins ~/var-cache-jenkins-back mkdir /var/cache/jenkins chown -R jenkins:jenkins /var/cache/jenkins service jenkins start
sonofa… it worked!