How to restore to previous state after automatic update

75 views
Skip to first unread message

CNemo

unread,
Apr 19, 2017, 4:26:49 PM4/19/17
to Jenkins Users
Hi, friends!

I not an expert on Jenkins and recently hit a problem - Web UI is not working returning 503. I think it is related to the automatic update that happened day before.
When I start windows service I see following event in event viewer:

Child process [8720 - E:\Program Files (x86)\Jenkins\jre\bin\java -Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "E:\Program Files (x86)\Jenkins\jenkins.war" --httpPort=8080] terminated with -1073741510

Also in jenkins.err.log:
Apr 19, 2017 3:49:28 PM org.eclipse.jetty.util.log.JavaUtilLog warn
WARNING: Failed startup of context w.@15bae99{/,file:/E:/Program%20Files%20(x86)/Jenkins/war/,STARTING}{E:\Program Files (x86)\Jenkins\war}
java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.jetty.webapp.IterativeDescriptorProcessor.visit(IterativeDescriptorProcessor.java:85)
    at org.eclipse.jetty.webapp.IterativeDescriptorProcessor.process(IterativeDescriptorProcessor.java:72)
    at org.eclipse.jetty.webapp.MetaData.resolve(MetaData.java:408)
    at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1340)
    at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:741)
    at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:505)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
    at org.eclipse.jetty.server.Server.start(Server.java:387)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
    at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
    at org.eclipse.jetty.server.Server.doStart(Server.java:354)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
    at winstone.Launcher.<init>(Launcher.java:152)
    at winstone.Launcher.main(Launcher.java:352)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at Main._main(Main.java:264)
    at Main.main(Main.java:112)
Caused by: java.lang.UnsupportedClassVersionError: jenkins/util/SystemProperties : Unsupported major.minor version 52.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$100(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at org.eclipse.jetty.webapp.WebAppClassLoader.findClass(WebAppClassLoader.java:510)
    at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:441)
    at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:403)
    at org.eclipse.jetty.server.handler.ContextHandler.loadClass(ContextHandler.java:1583)
    at org.eclipse.jetty.webapp.StandardDescriptorProcessor.visitListener(StandardDescriptorProcessor.java:1956)
    ... 25 more

Apr 19, 2017 3:49:28 PM org.eclipse.jetty.util.log.JavaUtilLog info
INFO: Started ServerConnector@1446af8{HTTP/1.1}{0.0.0.0:8080}
Apr 19, 2017 3:49:28 PM org.eclipse.jetty.util.log.JavaUtilLog info
INFO: Started @1607ms
Apr 19, 2017 3:49:28 PM winstone.Logger logInternal
INFO: Winstone Servlet Engine v2.0 running: controlPort=disabled
Apr 19, 2017 3:50:31 PM Main deleteWinstoneTempContents

It looks like update is running something that is not supported by my java version. Is this assumption correct?

I would like to know if there any way to rollback latest update without starting UI or what I need to change to suppress version check.
Any help will be appreciated!

Mark Waite

unread,
Apr 19, 2017, 4:48:47 PM4/19/17
to Jenkins Users
That message usually means that you're trying to run newer Java byte code (Java 8) on an older Java interpreter (Java 7).  Since Oracle Java 7 announced the end of public updates in April 2015, you should probably move forward and configure your system to run with Java 8.

If you updated to the latest weekly Jenkins release, then that is what is now requiring Java 8.  Jenkins requires Java 8 beginning with weekly releases 2.54.  Current weekly release is 2.55.

If you updated plugins and did not update Jenkins core, then you likely need to find and "undo" the plugin update which arrived on your machine and requires Java 8.

Mark Waite

--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/3917bd05-646d-4de9-85f8-4ff1dd13a1fb%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

CNemo

unread,
Apr 20, 2017, 10:08:37 AM4/20/17
to Jenkins Users
Mark,

thank you for your reply! That's what I've suspected too. Problem is that I'm absolutely not sure what I really need to do.
I understand that It should be simple to install additional JDKs from Jenkins Configuration UI, but I'm not able to start Jenkins. Would be installing JDK 1.8 on the box enough to fix my problem? Looking at command line in log, I tend to believe that Jenkins windows service is pulling configuration from somewhere and falling back to local JRE, that is located in subdirectory.
Where I can point Jenkins core to a specific JDK?

Also how I can disable plugins without using UI? I attempted rename plugins directory to no avail.

CNemo

unread,
Apr 20, 2017, 10:25:55 AM4/20/17
to Jenkins Users
I got it up and running doing following:

1. Renamed Plugins directory. Did not helped.
2. Installed 1.8 on a box. Did not helped
3. Renamed local copy of JRE and copied one from fresh installation. Reverted back plugins. Started just fine.

Thought I do not know if this set of actions OK and there is better way of fixing this.

Mark Waite

unread,
Apr 20, 2017, 10:30:15 AM4/20/17
to Jenkins Users
That's good.  You have the system running again.

You'll probably have the exact same problem the next time you (or someone else) updates plugins.  This is a good time to switch to Java 8, and confirm that you have successfully switched to Java 8.

You'll need to install Java 8 on the machine, confirm that Java 8 is the default Java, then find the Jenkins configuration which starts your Jenkins server, confirm it is using Java 8, then verify Java 8 is used from the "System Information" page for the master agent.

Mark Waite

--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-use...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages