Upgrade to 17.8 broke my installation

My IT department ran an automated upgrade on my server today, forcing an upgrade from 17.7 to 17.8. After rebooting the server, Jetty is responding with an “Error 503 Service Unavailable” message. My system info is:

  • OS: Ubuntu 22.04.5
  • Java: openjdk 21.0.8 2025-07-15
  • Reverse Proxy: Apache2

Running sudo systemctl status xwiki shows that the service is running and no errors are reported. However, visiting the URL in the browser results in the 503 message.

Displaying the Jetty log with tail -n 100 2025_10_02.jetty.log shows the following:

2025-10-02 11:40:29.509:INFO :oxtjl.NotifyListener:main: Starting Jetty on port 8080, on Java 21.0.8+9-Ubuntu-0ubuntu122.04.1 (OpenJDK Runtime Environment)...
2025-10-02 11:40:29.515:WARN :oejs.ShutdownMonitor:main: org.eclipse.jetty.server.ShutdownMonitor is deprecated, and has been replaced with org.eclipse.jetty.server.ShutdownService
STOP.PORT=8079
STOP.KEY=xwiki
STOP.EXIT=true
2025-10-02 11:40:29.533:WARN :oejd.DeploymentScanner:main: Does not exist: /usr/lib/xwiki-jetty/environments
2025-10-02 11:40:29.771:WARN :oatud.DigesterFactory:main: The XML schema [XMLSchema.dtd] could not be found. This is very likely to break XML validation if XML validation is enabled.
2025-10-02 11:40:29.771:WARN :oatud.DigesterFactory:main: The XML schema [datatypes.dtd] could not be found. This is very likely to break XML validation if XML validation is enabled.
2025-10-02 11:40:29.772:WARN :oatud.DigesterFactory:main: The XML schema [xml.xsd] could not be found. This is very likely to break XML validation if XML validation is enabled.
2025-10-02 11:40:30.789:WARN :oeje11w.JettyWebXmlConfiguration:main: Error applying file:///usr/lib/xwiki/WEB-INF/jetty-web.xml
2025-10-02 11:40:30.789:WARN :oeje11w.WebAppContext:main: Failed startup of context oeje11w.WebAppContext@255990cc{/xwiki,/xwiki,b=[file:///usr/lib/xwiki/, jar:file:///usr/lib/xwiki/WEB-INF/lib/iscroll-5.2.0.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/xwiki-platform-captcha-jcaptcha-webjar-17.8.0.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/intlify__core-base-11.1.11.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/vue__runtime-dom-3.5.21.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/scriptaculous-1.9.0.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/requirejs-2.3.7.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/postcss-8.5.6.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/moment-jdateformatparser-1.2.1.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/xwiki-platform-livedata-webjar-17.8.0.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/vue-i18n-11.1.11.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/xwiki-platform-localization-webjar-17.8.0.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/vue__compiler-core-3.5.21.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/xwiki-platform-index-tree-webjar-17.8.0.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/colpick-2.0.2.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/estree-walker-2.0.2.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/jstree-3.3.16.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/xwiki-platform-bootstrap-17.8.0.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/babel__parser-8.0.0-alpha.13.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/moment-2.30.1.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/babel__helper-validator-identifier-8.0.0-alpha.13.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/font-awesome-4.7.0.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/jridgewell__sourcemap-codec-1.5.5.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/xwiki-platform-search-webjar-17.8.0.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/vue__compiler-dom-3.5.21.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/vue-3.5.21.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/intlify__shared-11.1.11.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/prototype-1.7.3.0.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/csstype-3.1.3.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/vue__runtime-core-3.5.21.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/vue__compiler-sfc-3.5.21.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/vue__server-renderer-3.5.21.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/bootstrap-switch-3.3.4.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/vue__shared-3.5.21.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/babel__helper-string-parser-8.0.0-alpha.13.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/vue__reactivity-3.5.21.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/less-4.3.0.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/xwiki-platform-job-webjar-17.8.0.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/babel__types-8.0.0-alpha.13.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/bootstrap-daterangepicker-3.1.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/picocolors-1.1.1.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/jquery-ui-1.14.1.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/intlify__message-compiler-11.1.11.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/selectize.js-0.13.3.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/nanoid-3.3.11.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/source-map-js-1.2.1.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/Eonasdan-bootstrap-datetimepicker-4.17.49.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/vue__devtools-api-6.6.4.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/bootstrap-select-1.13.18.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/entities-4.5.0.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/jquery-3.7.1.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/vue__compiler-ssr-3.5.21.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/jquery-ui-touch-punch-0.2.3-2.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/fast-diff-1.3.0.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/Keypress-2.1.5.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/magic-string-0.30.19.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/xwiki-platform-tree-webjar-17.8.0.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/moment-timezone-0.6.0.jar!/META-INF/resources/, jar:file:///usr/lib/xwiki/WEB-INF/lib/xwiki-platform-notifications-webjar-17.8.0.jar!/META-INF/resources/],a=STOPPED,h=oeje11s.SessionHandler@13047d7d{STOPPED}}
java.lang.ClassNotFoundException: org.eclipse.jetty.ee10.webapp.WebAppContext
        at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:593)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
        at org.eclipse.jetty.ee.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:515)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)
        at org.eclipse.jetty.util.Loader.loadClass(Loader.java:58)
        at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.nodeClass(XmlConfiguration.java:537)
        at org.eclipse.jetty.xml.XmlConfiguration$JettyXmlConfiguration.configure(XmlConfiguration.java:477)
        at org.eclipse.jetty.xml.XmlConfiguration.configure(XmlConfiguration.java:398)
        at org.eclipse.jetty.ee11.webapp.JettyWebXmlConfiguration.lambda$configure$0(JettyWebXmlConfiguration.java:76)
        at org.eclipse.jetty.ee.webapp.WebAppClassLoader.runWithHiddenClassAccess(WebAppClassLoader.java:173)
        at org.eclipse.jetty.ee11.webapp.JettyWebXmlConfiguration.configure(JettyWebXmlConfiguration.java:74)
        at org.eclipse.jetty.ee11.webapp.Configurations.configure(Configurations.java:505)
        at org.eclipse.jetty.ee11.webapp.WebAppContext.configure(WebAppContext.java:480)
        at org.eclipse.jetty.ee11.webapp.WebAppContext.startContext(WebAppContext.java:1270)
        at org.eclipse.jetty.ee11.servlet.ServletContextHandler.lambda$doStart$0(ServletContextHandler.java:1062)
        at org.eclipse.jetty.server.handler.ContextHandler$ScopedContext.call(ContextHandler.java:1582)
        at org.eclipse.jetty.ee11.servlet.ServletContextHandler.doStart(ServletContextHandler.java:1059)
        at org.eclipse.jetty.ee11.webapp.WebAppContext.doStart(WebAppContext.java:499)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)
        at org.eclipse.jetty.deploy.StandardDeployer.deploy(StandardDeployer.java:118)
        at org.eclipse.jetty.deploy.DeploymentScanner.performActions(DeploymentScanner.java:860)
        at org.eclipse.jetty.deploy.DeploymentScanner.pathsChanged(DeploymentScanner.java:589)
        at org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:918)
        at org.eclipse.jetty.util.Scanner.scan(Scanner.java:817)
        at org.eclipse.jetty.util.Scanner.startScanning(Scanner.java:706)
        at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:678)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:170)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:121)
        at org.eclipse.jetty.deploy.DeploymentScanner.doStart(DeploymentScanner.java:736)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:170)
        at org.eclipse.jetty.server.Server.start(Server.java:652)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:121)
        at org.eclipse.jetty.server.Handler$Abstract.doStart(Handler.java:545)
        at org.eclipse.jetty.server.Server.doStart(Server.java:593)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)
        at org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:2108)
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
        at java.base/java.lang.reflect.Method.invoke(Method.java:580)
        at org.eclipse.jetty.start.Main.invokeMain(Main.java:312)
        at org.eclipse.jetty.start.Main.start(Main.java:603)
        at org.eclipse.jetty.start.Main.main(Main.java:82)
2025-10-02 11:40:30.807:INFO :oxtjl.NotifyListener:main: ----------------------------------
2025-10-02 11:40:30.809:INFO :oxtjl.NotifyListener:main: Server started, you can now open http://MYURL:8080/ in your browser to access your wiki.
2025-10-02 11:40:30.809:INFO :oxtjl.NotifyListener:main: ----------------------------------

where MYURL is the actual URL of the server.

Is java.lang.ClassNotFoundException: org.eclipse.jetty.ee10.webapp.WebAppContext the source of the problem, and if so, do you have any idea how I might fix it?

I’ve temporarily downgraded back to 17.7.0 which still works to give me some time to figure this out.

Would have been nice to indicate what you exactly installed, but I will assume it was one of the xwiki-xjetty-* Debian packages.

Sounds like a missing update in the Debian packaging, following the upgrade to Jetty 12.1. Looking at that, and will publish a new version of the packages quickly.

Thanks and sorry I forgot the package. I installed xwiki-xjetty-mariadb deb package.

Just published a new version of Debian packages (17.8.0+1) which should work better. The repository index is currently rebuilding, should be ready shortly.

1 Like

If I may suggest, either switch to a fully manual installation (more burden on you to update) or at least stop automatic updates (on Ubuntu check the hold option of apt-mark).

Thanks! I’ll give it a try this coming weekend.

Thanks! I normally have XWiki updates blocked until I’m ready for them. Immediately after my last update I had to handle an unrelated emergency and apparently I forgot to block updates once I was done.

1 Like