Servlet Spec 12.2 violation: glob '*' can only exist at end of prefix based matches: bad spec "/*.xhtml"

602 views
Skip to first unread message

Henry Saldyga

unread,
Apr 2, 2022, 11:00:26 PM4/2/22
to Google App Engine
After  2 years of troubles work JSF application raised this exception:

Uncaught exception from servlet java.lang.IllegalArgumentException: Servlet Spec 12.2 violation: glob '*' can only exist at end of prefix based matches: bad spec "/*.xhtml"    at org.eclipse.jetty.http.pathmap.ServletPathSpec.assertValidServletPathSpec(ServletPathSpec.java:157)    at org.eclipse.jetty.http.pathmap.ServletPathSpec.<init>(ServletPathSpec.java:56)    at org.eclipse.jetty.servlet.ServletHandler.updateMappings(ServletHandler.java:1424)    at org.eclipse.jetty.servlet.ServletHandler.doStart(ServletHandler.java:164)    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)    at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)    at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)    at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)    at org.eclipse.jetty.security.SecurityHandler.doStart(SecurityHandler.java:411)    at org.eclipse.jetty.security.ConstraintSecurityHandler.doStart(ConstraintSecurityHandler.java:417)    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)    at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)    at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)    at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)    at org.eclipse.jetty.server.handler.ScopedHandler.doStart(ScopedHandler.java:120)    at org.eclipse.jetty.server.session.SessionHandler.doStart(SessionHandler.java:505)    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)    at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)    at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)    at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)    at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)    at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)    at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)    at org.eclipse.jetty.server.handler.ScopedHandler.doStart(ScopedHandler.java:120)    at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:969)    at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:375)    at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1449)    at com.google.apphosting.runtime.jetty94.AppEngineWebAppContext.startWebapp(AppEngineWebAppContext.java:263)    at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1414)    at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:910)    at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:288)    at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:524)    at com.google.apphosting.runtime.jetty94.AppEngineWebAppContext.doStart(AppEngineWebAppContext.java:207)    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)    at com.google.apphosting.runtime.jetty94.AppVersionHandlerFactory.doCreateHandler(AppVersionHandlerFactory.java:178)    at com.google.apphosting.runtime.jetty94.AppVersionHandlerFactory.createHandler(AppVersionHandlerFactory.java:112)    at com.google.apphosting.runtime.jetty94.AppVersionHandlerMap.getHandler(AppVersionHandlerMap.java:82)    at com.google.apphosting.runtime.jetty94.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:167)    at com.google.apphosting.runtime.RequestRunner.dispatchServletRequest(RequestRunner.java:264)    at com.google.apphosting.runtime.RequestRunner.dispatchRequest(RequestRunner.java:229)    at com.google.apphosting.runtime.RequestRunner.run(RequestRunner.java:194)    at com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:273)    at java.lang.Thread.run(Thread.java:748) 

Ludovic Champenois

unread,
Apr 3, 2022, 3:10:02 PM4/3/22
to Google App Engine
Hi,
So the app worked for the past 2 years without new deployment? Recently, the Jetty web server got upgraded to 9.4.45... It might be more strict regarding servlet 3.1 compliance in this area? Can you share more snippet of code?
Ludo

Ludovic Champenois

unread,
Apr 3, 2022, 3:11:43 PM4/3/22
to Google App Engine

Ludovic Champenois

unread,
Apr 4, 2022, 11:00:47 AM4/4/22
to google-a...@googlegroups.com
Hi again,
Let me know if you can update the app in a way it does not define the incorrect mapping...  I hope it is not too complicated, 
Thanks!

--
You received this message because you are subscribed to a topic in the Google Groups "Google App Engine" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/google-appengine/978w8hf8MyM/unsubscribe.
To unsubscribe from this group and all its topics, send an email to google-appengi...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/e1db8c06-aa4b-47d6-ab78-18dfd4d5939dn%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages