Open kohlschuetter opened 1 month ago
There's something missing from this.
Is this the result of a RequestDispatch to index.html?
What is your DefaultServlet (or ResourceServlet) configuration? Can you do a WebAppContext.dump() and report the results? (do not delete lines, but feel free to XXXX out any sensitive information inside of a line)
WebAppContext.dump (redacted)
oeje10w.WebAppContext@74455848{/blog,/blog,b=[file:/private/var/folders/20/lqqqg9s974sg640km8nj3klm0000gn/T/dumbo-workdir160541941742846541/blog/webapp/, file:/redacted/workspace/redacted/target-eclipse/classes/redacted/webapp/, file:/redacted/workspace/dumbo/dumbo-core/target-eclipse/classes/redacted/jettydir-overlay/],a=AVAILABLE,h=oeje10s.SessionHandler@480aa870{STARTED}}{[file:/private/var/folders/20/lqqqg9s974sg640km8nj3klm0000gn/T/dumbo-workdir160541941742846541/blog/webapp/, file:/redacted/workspace/redacted/target-eclipse/classes/redacted/webapp/, file:/redacted/workspace/dumbo/dumbo-core/target-eclipse/classes/redacted/jettydir-overlay/]} - STARTED
+= SymlinkAllowedResourceAliasChecker@6c00236{base=[file:/private/var/folders/20/lqqqg9s974sg640km8nj3klm0000gn/T/dumbo-workdir160541941742846541/blog/webapp/, file:/redacted/workspace/redacted/target-eclipse/classes/redacted/webapp/, file:/redacted/workspace/dumbo/dumbo-core/target-eclipse/classes/redacted/jettydir-overlay/],protected=[/META-INF, /WEB-INF]} - STARTED
+- org.eclipse.jetty.util.DecoratedObjectFactory[decorators=3]
| +: org.eclipse.jetty.ee10.plus.webapp.PlusDecorator@6807b4f9
| +: org.eclipse.jetty.util.DeprecationWarning@118d57a4
| +: org.eclipse.jetty.ee10.annotations.AnnotationDecorator@6e9e63ae
+= oeje10s.SessionHandler@480aa870{STARTED} - STARTED
| += oeje10ss.ConstraintSecurityHandler@68490df9{STARTED} - STARTED
| | +- knownAuthenticatorFactories size=1
| | | +> org.eclipse.jetty.security.DefaultAuthenticatorFactory@3dbcdc75
| | += oeje10s.ServletHandler@46f79c11{STARTED} - STARTED
| | | +> listeners oeje10s.ServletHandler@46f79c11{STARTED} size=1
| | | | +> org.eclipse.jetty.ee10.servlet.listener.IntrospectorCleaner@5be90472{src=DESCRIPTOR:jar:file:/Users/redacted/.m2/repository/org/eclipse/jetty/ee10/jetty-ee10-webapp/12.0.12/jetty-ee10-webapp-12.0.12.jar!/org/eclipse/jetty/ee10/webapp/webdefault-ee10.xml} - STARTED
| | | +> filters oeje10s.ServletHandler@46f79c11{STARTED} size=8
| | | | +> org.eclipse.jetty.ee10.websocket.servlet.WebSocketUpgradeFilter==org.eclipse.jetty.ee10.websocket.servlet.WebSocketUpgradeFilter@18131296{inst=true,async=true,src=EMBEDDED:<null>} - STARTED
| | | | | +> org.eclipse.jetty.ee10.websocket.servlet.WebSocketUpgradeFilter@7beffc33
| | | | | +> ConfigurationCustomizer@206bc84f{idleTimeout=null, writeTimeout=null, autoFragment=null, maxFrameSize=null, inputBufferSize=null, outputBufferSize=null, maxBinaryMessageSize=null, maxTextMessageSize=null, maxOutgoingFrames=null}
| | | | | +> org.eclipse.jetty.websocket.core.server.WebSocketMappings@5a86cf47
| | | | | +> PathMappings[size=0]
| | | | | +> ju.TreeSet@0(size=0)
| | | | +> redacted.core.LFilter-49dc7102==redacted.core.LFilter@49dc7102{inst=true,async=true,src=EMBEDDED:<null>} - STARTED
| | | | | +> redacted.core.LFilter@6a2ff509
| | | | +> redacted.core.CFilter-3a6bb9bf==redacted.core.CFilter@3a6bb9bf{inst=true,async=true,src=EMBEDDED:<null>} - STARTED
| | | | | +> redacted.core.CFilter@854f0d0
| | | | +> redacted.core.LFilter-34f7cfd9==redacted.core.LFilter@34f7cfd9{inst=true,async=true,src=EMBEDDED:<null>} - STARTED
| | | | | +> redacted.core.LFilter@28b8843b
| | | | +> redacted.core.LFilter-65f095f8==redacted.core.LFilter@65f095f8{inst=true,async=true,src=EMBEDDED:<null>} - STARTED
| | | | | +> redacted.core.LFilter@64c68780
| | | | +> redacted.core.HtmlJspFilter-59af0466==redacted.core.HtmlJspFilter@59af0466{inst=true,async=true,src=EMBEDDED:<null>} - STARTED
| | | | | +> redacted.core.HtmlJspFilter@71d4a1ac
| | | | +> redacted.core.SFilter-3e6ef8ad==redacted.core.SFilter@3e6ef8ad{inst=true,async=true,src=EMBEDDED:<null>} - STARTED
| | | | | +> redacted.core.SFilter@5e290d36
| | | | +> com.kohlschutter.dumbo.JsFilter-62230c58==com.kohlschutter.dumbo.JsFilter@62230c58{inst=true,async=true,src=EMBEDDED:<null>} - STARTED
| | | | +> com.kohlschutter.dumbo.JsFilter@325cc394
| | | +> filterMappings oeje10s.ServletHandler@46f79c11{STARTED} size=8
| | | | +> [/*]/[]/[REQUEST]=>org.eclipse.jetty.ee10.websocket.servlet.WebSocketUpgradeFilter
| | | | +> [*.xml]/[]/[REQUEST]=>redacted.core.LFilter-49dc7102
| | | | +> [*.css]/[]/[REQUEST]=>redacted.core.CFilter-3a6bb9bf
| | | | +> [*.json]/[]/[REQUEST]=>redacted.core.LFilter-34f7cfd9
| | | | +> [*.txt]/[]/[REQUEST]=>redacted.core.LFilter-65f095f8
| | | | +> [*.html]/[]/[REQUEST]=>redacted.core.HtmlJspFilter-59af0466
| | | | +> [*.scss]/[]/[REQUEST]=>redacted.core.SFilter-3e6ef8ad
| | | | +> [*.js]/[]/[REQUEST]=>com.kohlschutter.dumbo.JsFilter-62230c58
| | | +> servlets oeje10s.ServletHandler@46f79c11{STARTED} size=7
| | | | +> org.eclipse.jetty.ee10.servlet.DefaultServlet-37858383==org.eclipse.jetty.ee10.servlet.DefaultServlet@8b29c469{jsp=null,order=-1,inst=true,async=true,src=EMBEDDED:<null>,STARTED} - STARTED
| | | | | +> org.eclipse.jetty.ee10.servlet.DefaultServlet@367bbcfb
| | | | | +> initParams size=3
| | | | | +> useFileMappedBuffer=true
| | | | | +> stylesheet=/css/jetty-dir.css
| | | | | +> etags=true
| | | | +> com.kohlschutter.dumbo.JspCachingServlet-770d3326==com.kohlschutter.dumbo.JspCachingServlet@dd631d0c{jsp=null,order=0,inst=true,async=true,src=EMBEDDED:<null>,STARTED} - STARTED
| | | | | +> com.kohlschutter.dumbo.JspCachingServlet@202d57bf
| | | | | +> initParams size=1
| | | | | +> scratchdir=/private/var/folders/20/lqqqg9s974sg640km8nj3klm0000gn/T/dumbo-workdir160541941742846541/blog/jetty.tmp/jsp
| | | | +> redacted.core.MarkdownServlet-4cc8eb05==redacted.core.MarkdownServlet@1fc2bee1{jsp=null,order=1,inst=true,async=true,src=EMBEDDED:<null>,STARTED} - STARTED
| | | | | +> redacted.core.MarkdownServlet@7439604d
| | | | +> com.kohlschutter.dumbo.JspCachingServlet-51f116b8==com.kohlschutter.dumbo.JspCachingServlet@29918af6{jsp=null,order=0,inst=true,async=true,src=EMBEDDED:<null>,STARTED} - STARTED
| | | | | +> com.kohlschutter.dumbo.JspCachingServlet@23de267a
| | | | | +> initParams size=1
| | | | | +> scratchdir=/private/var/folders/20/lqqqg9s974sg640km8nj3klm0000gn/T/dumbo-workdir160541941742846541/blog/jetty.tmp/jsp
| | | | +> com.kohlschutter.dumbo.JsonRpcServlet-cad498c==com.kohlschutter.dumbo.JsonRpcServlet@969af745{jsp=null,order=0,inst=true,async=true,src=EMBEDDED:<null>,STARTED} - STARTED
| | | | | +> com.kohlschutter.dumbo.JsonRpcServlet@4829da9e
| | | | +> default==org.eclipse.jetty.ee10.servlet.DefaultServlet@5c13d641{jsp=null,order=0,inst=true,async=false,src=DESCRIPTOR:jar:file:/Users/redacted/.m2/repository/org/eclipse/jetty/ee10/jetty-ee10-webapp/12.0.12/jetty-ee10-webapp-12.0.12.jar!/org/eclipse/jetty/ee10/webapp/webdefault-ee10.xml,STARTED} - STARTED
| | | | | +> NotAsync:org.eclipse.jetty.ee10.servlet.DefaultServlet@273ec8b
| | | | | +> initParams size=9
| | | | | +> dirAllowed=true
| | | | | +> maxCacheSize=256000000
| | | | | +> maxCachedFileSize=200000000
| | | | | +> welcomeServlets=false
| | | | | +> useFileMappedBuffer=true
| | | | | +> acceptRanges=true
| | | | | +> etags=false
| | | | | +> maxCachedFiles=2048
| | | | | +> redirectWelcome=false
| | | | +> jsp==org.eclipse.jetty.ee10.jsp.JettyJspServlet@19c47{jsp=null,order=0,inst=true,async=false,src=DESCRIPTOR:jar:file:/Users/redacted/.m2/repository/org/eclipse/jetty/ee10/jetty-ee10-webapp/12.0.12/jetty-ee10-webapp-12.0.12.jar!/org/eclipse/jetty/ee10/webapp/webdefault-ee10.xml,STARTED} - STARTED
| | | | +> NotAsync:org.eclipse.jetty.ee10.jsp.JettyJspServlet@3d77cf80
| | | | +> initParams size=4
| | | | +> compilerSourceVM=1.8
| | | | +> compilerTargetVM=1.8
| | | | +> scratchdir=/private/var/folders/20/lqqqg9s974sg640km8nj3klm0000gn/T/dumbo-workdir160541941742846541/blog/jetty.tmp/jsp
| | | | +> xpoweredBy=false
| | | +> servletMappings oeje10s.ServletHandler@46f79c11{STARTED} size=6
| | | | +> [/]=>org.eclipse.jetty.ee10.servlet.DefaultServlet-37858383
| | | | +> [*.jsp]=>com.kohlschutter.dumbo.JspCachingServlet-770d3326
| | | | +> [*.md]=>redacted.core.MarkdownServlet-4cc8eb05
| | | | +> [*.jsp.js]=>com.kohlschutter.dumbo.JspCachingServlet-51f116b8
| | | | +> [/json]=>com.kohlschutter.dumbo.JsonRpcServlet-cad498c
| | | | +> [*.jspf, *.jspx, *.xsp, *.JSP, *.JSPF, *.JSPX, *.XSP]=>jsp
| | | +> durable oeje10s.ServletHandler@46f79c11{STARTED} size=16
| | | +> org.eclipse.jetty.ee10.websocket.servlet.WebSocketUpgradeFilter==org.eclipse.jetty.ee10.websocket.servlet.WebSocketUpgradeFilter@18131296{inst=true,async=true,src=EMBEDDED:<null>} - STARTED
| | | | +> org.eclipse.jetty.ee10.websocket.servlet.WebSocketUpgradeFilter@7beffc33
| | | | +> ConfigurationCustomizer@206bc84f{idleTimeout=null, writeTimeout=null, autoFragment=null, maxFrameSize=null, inputBufferSize=null, outputBufferSize=null, maxBinaryMessageSize=null, maxTextMessageSize=null, maxOutgoingFrames=null}
| | | | +> org.eclipse.jetty.websocket.core.server.WebSocketMappings@5a86cf47
| | | | +> PathMappings[size=0]
| | | | +> ju.TreeSet@0(size=0)
| | | +> redacted.core.LFilter-49dc7102==redacted.core.LFilter@49dc7102{inst=true,async=true,src=EMBEDDED:<null>} - STARTED
| | | | +> redacted.core.LFilter@6a2ff509
| | | +> redacted.core.CFilter-3a6bb9bf==redacted.core.CFilter@3a6bb9bf{inst=true,async=true,src=EMBEDDED:<null>} - STARTED
| | | | +> redacted.core.CFilter@854f0d0
| | | +> redacted.core.LFilter-34f7cfd9==redacted.core.LFilter@34f7cfd9{inst=true,async=true,src=EMBEDDED:<null>} - STARTED
| | | | +> redacted.core.LFilter@28b8843b
| | | +> redacted.core.LFilter-65f095f8==redacted.core.LFilter@65f095f8{inst=true,async=true,src=EMBEDDED:<null>} - STARTED
| | | | +> redacted.core.LFilter@64c68780
| | | +> redacted.core.HtmlJspFilter-59af0466==redacted.core.HtmlJspFilter@59af0466{inst=true,async=true,src=EMBEDDED:<null>} - STARTED
| | | | +> redacted.core.HtmlJspFilter@71d4a1ac
| | | +> redacted.core.SFilter-3e6ef8ad==redacted.core.SFilter@3e6ef8ad{inst=true,async=true,src=EMBEDDED:<null>} - STARTED
| | | | +> redacted.core.SFilter@5e290d36
| | | +> com.kohlschutter.dumbo.JsFilter-62230c58==com.kohlschutter.dumbo.JsFilter@62230c58{inst=true,async=true,src=EMBEDDED:<null>} - STARTED
| | | | +> com.kohlschutter.dumbo.JsFilter@325cc394
| | | +> org.eclipse.jetty.ee10.servlet.DefaultServlet-37858383==org.eclipse.jetty.ee10.servlet.DefaultServlet@8b29c469{jsp=null,order=-1,inst=true,async=true,src=EMBEDDED:<null>,STARTED} - STARTED
| | | | +> org.eclipse.jetty.ee10.servlet.DefaultServlet@367bbcfb
| | | | +> initParams size=3
| | | | +> useFileMappedBuffer=true
| | | | +> stylesheet=/css/jetty-dir.css
| | | | +> etags=true
| | | +> com.kohlschutter.dumbo.JspCachingServlet-770d3326==com.kohlschutter.dumbo.JspCachingServlet@dd631d0c{jsp=null,order=0,inst=true,async=true,src=EMBEDDED:<null>,STARTED} - STARTED
| | | | +> com.kohlschutter.dumbo.JspCachingServlet@202d57bf
| | | | +> initParams size=1
| | | | +> scratchdir=/private/var/folders/20/lqqqg9s974sg640km8nj3klm0000gn/T/dumbo-workdir160541941742846541/blog/jetty.tmp/jsp
| | | +> redacted.core.MarkdownServlet-4cc8eb05==redacted.core.MarkdownServlet@1fc2bee1{jsp=null,order=1,inst=true,async=true,src=EMBEDDED:<null>,STARTED} - STARTED
| | | | +> redacted.core.MarkdownServlet@7439604d
| | | +> com.kohlschutter.dumbo.JspCachingServlet-51f116b8==com.kohlschutter.dumbo.JspCachingServlet@29918af6{jsp=null,order=0,inst=true,async=true,src=EMBEDDED:<null>,STARTED} - STARTED
| | | | +> com.kohlschutter.dumbo.JspCachingServlet@23de267a
| | | | +> initParams size=1
| | | | +> scratchdir=/private/var/folders/20/lqqqg9s974sg640km8nj3klm0000gn/T/dumbo-workdir160541941742846541/blog/jetty.tmp/jsp
| | | +> com.kohlschutter.dumbo.JsonRpcServlet-cad498c==com.kohlschutter.dumbo.JsonRpcServlet@969af745{jsp=null,order=0,inst=true,async=true,src=EMBEDDED:<null>,STARTED} - STARTED
| | | | +> com.kohlschutter.dumbo.JsonRpcServlet@4829da9e
| | | +> default==org.eclipse.jetty.ee10.servlet.DefaultServlet@5c13d641{jsp=null,order=0,inst=true,async=false,src=DESCRIPTOR:jar:file:/Users/redacted/.m2/repository/org/eclipse/jetty/ee10/jetty-ee10-webapp/12.0.12/jetty-ee10-webapp-12.0.12.jar!/org/eclipse/jetty/ee10/webapp/webdefault-ee10.xml,STARTED} - STARTED
| | | | +> NotAsync:org.eclipse.jetty.ee10.servlet.DefaultServlet@273ec8b
| | | | +> initParams size=9
| | | | +> dirAllowed=true
| | | | +> maxCacheSize=256000000
| | | | +> maxCachedFileSize=200000000
| | | | +> welcomeServlets=false
| | | | +> useFileMappedBuffer=true
| | | | +> acceptRanges=true
| | | | +> etags=false
| | | | +> maxCachedFiles=2048
| | | | +> redirectWelcome=false
| | | +> jsp==org.eclipse.jetty.ee10.jsp.JettyJspServlet@19c47{jsp=null,order=0,inst=true,async=false,src=DESCRIPTOR:jar:file:/Users/redacted/.m2/repository/org/eclipse/jetty/ee10/jetty-ee10-webapp/12.0.12/jetty-ee10-webapp-12.0.12.jar!/org/eclipse/jetty/ee10/webapp/webdefault-ee10.xml,STARTED} - STARTED
| | | | +> NotAsync:org.eclipse.jetty.ee10.jsp.JettyJspServlet@3d77cf80
| | | | +> initParams size=4
| | | | +> compilerSourceVM=1.8
| | | | +> compilerTargetVM=1.8
| | | | +> scratchdir=/private/var/folders/20/lqqqg9s974sg640km8nj3klm0000gn/T/dumbo-workdir160541941742846541/blog/jetty.tmp/jsp
| | | | +> xpoweredBy=false
| | | +> org.eclipse.jetty.ee10.servlet.listener.IntrospectorCleaner@5be90472{src=DESCRIPTOR:jar:file:/Users/redacted/.m2/repository/org/eclipse/jetty/ee10/jetty-ee10-webapp/12.0.12/jetty-ee10-webapp-12.0.12.jar!/org/eclipse/jetty/ee10/webapp/webdefault-ee10.xml} - STARTED
| | +- org.eclipse.jetty.security.DefaultIdentityService@6f48c3a2
| | +- org.eclipse.jetty.security.Authenticator$NoOp@69b319ff
| | +> roles size=0
| | +> constraints size=2
| | +> ConstraintMapping@74b9b7f6{TRACE,null / -> Constraint@77b17d2e{Disable TRACE,ANY,FORBIDDEN,[]}}
| | +> ConstraintMapping@5ecdf5a9{null,[TRACE] / -> Constraint@2f40636e{Enable everything but TRACE,ANY,ALLOWED,[]}}
| += org.eclipse.jetty.session.DefaultSessionCache@16ff7777[evict=-1,removeUnloadable=false,saveOnCreate=false,saveOnInactiveEvict=false] - STARTED
| | += org.eclipse.jetty.session.NullSessionDataStore@6a5b208b[passivating=false,graceSec=3600] - STARTED
| +~ oejs.DefaultSessionIdManager@5b0ae0d4{STARTED}[worker=node0] - STARTED
| +- ju.ImmutableCollections$ListN@1(size=0)
+= oeje10s.ServletContextHandler$ServletContainerInitializerStarter@77fdb3c8{STARTED} - STARTED
| += ContainerInitializer{org.eclipse.jetty.ee10.apache.jsp.JettyJasperInitializer,interested=[],applicable=[],annotated=[]} - STARTED
| += ContainerInitializer{org.eclipse.jetty.ee10.apache.jsp.JettyJasperInitializer,interested=[],applicable=[],annotated=[]} - STARTED
| += ContainerInitializer{org.eclipse.jetty.ee10.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer,interested=[],applicable=[],annotated=[]} - STARTED
+- org.eclipse.jetty.server.handler.ErrorHandler@29380236
+= oejur.ResourceFactoryInternals$LifeCycle@3f41cf09{STARTED} - STARTED
| +> newResourceReferences size=1
| +> jar:file:/Users/redacted/.m2/repository/org/eclipse/jetty/ee10/jetty-ee10-webapp/12.0.12/jetty-ee10-webapp-12.0.12.jar!/
+- org.eclipse.jetty.util.resource.ResourceFactory$2@5583cdd
+- java:comp org.eclipse.jetty.jndi.NamingContext@49a7620[name=comp,parent=org.eclipse.jetty.jndi.NamingContext@6ddafd37,bindings.size=1]
| +@ env = org.eclipse.jetty.jndi.NamingContext@a59f77a[name=env,parent=org.eclipse.jetty.jndi.NamingContext@49a7620,bindings.size=0]
+= oejwcs.WebSocketServerComponents@3bd148bf{STARTED} - STARTED
| +~ InflaterPool@6cad0293{STARTED,size=0,capacity=200} - STARTED
| +~ DeflaterPool@56a46974{STARTED,size=0,capacity=200} - STARTED
| +~ org.eclipse.jetty.io.ArrayByteBufferPool@1383b6fd{min=0,max=65536,buckets=16,heap=0/2147483648,direct=86016/2147483648}
| +- org.eclipse.jetty.websocket.core.WebSocketExtensionRegistry@22269082
| | +: class org.eclipse.jetty.websocket.core.internal.FragmentExtension
| | +: class org.eclipse.jetty.websocket.core.internal.FrameCaptureExtension
| | +: class org.eclipse.jetty.websocket.core.internal.IdentityExtension
| | +: class org.eclipse.jetty.websocket.core.internal.ValidationExtension
| | +: class org.eclipse.jetty.websocket.core.internal.PerMessageDeflateExtension
| +~ org.eclipse.jetty.util.DecoratedObjectFactory[decorators=3]
| +~ QueuedThreadPool[qtp592617454]@23529fee{STARTED,8<=21<=200,i=4,r=-1,t=58976ms,q=0}[ReservedThreadExecutor@261bb7cf{capacity=16,threads=ThreadIdPool@530185b1{capacity=16}}] - STARTED
+- WebSocketServerComponentsCleanupListener
+- WebSocketUpgradeFilterCleanupListener
+- org.eclipse.jetty.websocket.core.server.WebSocketMappings@5a86cf47
| +> PathMappings[size=0]
| +> ju.TreeSet@0(size=0)
+- org.eclipse.jetty.websocket.core.server.WebSocketMappings$1@5d3be572
+= oeje10wjs.JakartaWebSocketServerContainer@4b8fccd7{STARTED} - STARTED
| += oeje10wjc.SessionTracker@3051afa6{STARTED} - STARTED
| | +> ju.Collections$SetFromMap@0(size=0)
| +> ConfigurationCustomizer@6f228810{idleTimeout=null, writeTimeout=null, autoFragment=null, maxFrameSize=null, inputBufferSize=null, outputBufferSize=null, maxBinaryMessageSize=null, maxTextMessageSize=null, maxOutgoingFrames=null}
+- JakartaWebSocketServerContainerCleanupListener
+- org.eclipse.jetty.ee10.servlet.listener.IntrospectorCleaner@6db0e0f3
+- org.eclipse.jetty.server.AllowedResourceAliasChecker$AllowedResourceAliasCheckListener@586c60e6
+> WebAppClassLoader{/blog}@54208046
| +> URLs size=0
| +> parent(core): jdk.internal.loader.ClassLoaders$AppClassLoader@1698c449
+> Systemclasses /blog@74455848 size=16
| +> jakarta.
| +> java.
| +> javax.
| +> org.eclipse.jetty.ee10.jaas.
| +> org.eclipse.jetty.ee10.jsp.
| +> org.eclipse.jetty.ee10.servlet.DefaultServlet
| +> org.eclipse.jetty.ee10.servlet.NoJspServlet
| +> org.eclipse.jetty.ee10.servlet.StatisticsServlet
| +> org.eclipse.jetty.ee10.websocket.jakarta.client.JakartaWebSocketClientContainerProvider
| +> org.eclipse.jetty.ee10.websocket.jakarta.client.JakartaWebSocketShutdownContainer
| +> org.eclipse.jetty.ee10.websocket.jakarta.server.config.
| +> org.eclipse.jetty.ee10.websocket.servlet.
| +> org.eclipse.jetty.jndi.
| +> org.eclipse.jetty.security.jaas.
| +> org.w3c.
| +> org.xml.
+> Serverclasses /blog@74455848 size=16
| +> -org.eclipse.jetty.ee10.apache.
| +> -org.eclipse.jetty.ee10.jaas.
| +> -org.eclipse.jetty.ee10.jsp.
| +> -org.eclipse.jetty.ee10.servlet.DefaultServlet
| +> -org.eclipse.jetty.ee10.servlet.NoJspServlet
| +> -org.eclipse.jetty.ee10.servlet.StatisticsServlet
| +> -org.eclipse.jetty.ee10.servlet.listener.
| +> -org.eclipse.jetty.ee10.websocket.jakarta.client.JakartaWebSocketClientContainerProvider
| +> -org.eclipse.jetty.ee10.websocket.jakarta.client.JakartaWebSocketShutdownContainer
| +> -org.eclipse.jetty.ee10.websocket.jakarta.server.config.
| +> -org.eclipse.jetty.ee10.websocket.servlet.
| +> -org.eclipse.jetty.jndi.
| +> -org.eclipse.jetty.security.jaas.
| +> org.eclipse.jdt.
| +> org.eclipse.jetty.
| +> org.objectweb.asm.
+> Configurations /blog@74455848 size=13
| +> org.eclipse.jetty.ee10.webapp.WebInfConfiguration@76e78cc7
| +> org.eclipse.jetty.ee10.webapp.WebXmlConfiguration@2e70012a
| +> org.eclipse.jetty.ee10.webapp.MetaInfConfiguration@7bb05605
| +> org.eclipse.jetty.ee10.webapp.FragmentConfiguration@49edcf16
| +> org.eclipse.jetty.ee10.webapp.JaasConfiguration@51d56c94
| +> org.eclipse.jetty.ee10.webapp.JndiConfiguration@5b82ac99
| +> org.eclipse.jetty.ee10.webapp.JspConfiguration@11c9929a
| +> org.eclipse.jetty.ee10.websocket.jakarta.server.config.JakartaWebSocketConfiguration@694c112f
| +> org.eclipse.jetty.ee10.webapp.WebAppConfiguration@f1eec60
| +> org.eclipse.jetty.ee10.plus.webapp.EnvConfiguration@156d6b0b
| +> org.eclipse.jetty.ee10.plus.webapp.PlusConfiguration@48ed6dce
| +> org.eclipse.jetty.ee10.annotations.AnnotationConfiguration@645fffb
| +> org.eclipse.jetty.ee10.webapp.JettyWebXmlConfiguration@21c9c5f8
+> Handler attributes /blog@74455848 size=10
| +> org.eclipse.jetty.webapp.originalResourceBase=[file:/private/var/folders/20/lqqqg9s974sg640km8nj3klm0000gn/T/dumbo-workdir160541941742846541/blog/webapp/, file:/redacted/workspace/redacted/target-eclipse/classes/redacted/webapp/, file:/redacted/workspace/dumbo/dumbo-core/target-eclipse/classes/redacted/jettydir-overlay/]
| +> org.eclipse.jetty.lifecyleCallbackCollection=org.eclipse.jetty.plus.annotation.LifeCycleCallbackCollection@44d9ad64
| +> org.eclipse.jetty.injectionCollection=org.eclipse.jetty.plus.annotation.InjectionCollection@7f75348c
| +> org.apache.catalina.jsp_classpath=
| +> jakarta.servlet.context.tempdir=/private/var/folders/20/lqqqg9s974sg640km8nj3klm0000gn/T/dumbo-workdir160541941742846541/blog/jetty.tmp
| +> jsonPath=/blog/json
| +> dumborb.json.methods=["ConsoleService.requestNextChunk"]
| +> com.kohlschutter.dumbo.DumboServerImpl=com.kohlschutter.dumbo.DumboServerImpl@40e26132
| +> org.eclipse.jetty.websocket.core.server.WebSocketMappings=org.eclipse.jetty.websocket.core.server.WebSocketMappings@5a86cf47
| +> org.eclipse.jetty.ee10.plus.webapp.PlusConfiguration.jndiKey=481627690
+> Context attributes /blog@74455848 size=20
| +> org.eclipse.jetty.webapp.originalResourceBase=[file:/private/var/folders/20/lqqqg9s974sg640km8nj3klm0000gn/T/dumbo-workdir160541941742846541/blog/webapp/, file:/redacted/workspace/redacted/target-eclipse/classes/redacted/webapp/, file:/redacted/workspace/dumbo/dumbo-core/target-eclipse/classes/redacted/jettydir-overlay/]
| +> org.eclipse.jetty.util.DecoratedObjectFactory=org.eclipse.jetty.util.DecoratedObjectFactory[decorators=3]
| +> org.eclipse.jetty.lifecyleCallbackCollection=org.eclipse.jetty.plus.annotation.LifeCycleCallbackCollection@44d9ad64
| +> org.apache.tomcat.InstanceManager=org.apache.tomcat.SimpleInstanceManager@4536e7f2
| +> org.eclipse.jetty.injectionCollection=org.eclipse.jetty.plus.annotation.InjectionCollection@7f75348c
| +> org.eclipse.jetty.server.Executor=QueuedThreadPool[qtp592617454]@23529fee{STARTED,8<=21<=200,i=4,r=-1,t=58976ms,q=0}[ReservedThreadExecutor@261bb7cf{capacity=16,threads=ThreadIdPool@530185b1{capacity=16}}]
| +> org.apache.catalina.jsp_classpath=
| +> org.eclipse.jetty.websocket.core.WebSocketComponents=oejwcs.WebSocketServerComponents@3bd148bf{STARTED}
| +> jakarta.servlet.context.tempdir=/private/var/folders/20/lqqqg9s974sg640km8nj3klm0000gn/T/dumbo-workdir160541941742846541/blog/jetty.tmp
| +> jsonPath=/blog/json
| +> jakarta.websocket.server.ServerContainer=oeje10wjs.JakartaWebSocketServerContainer@4b8fccd7{STARTED}
| +> org.apache.jasper.compiler.ELInterpreter=org.apache.jasper.compiler.ELInterpreterFactory$DefaultELInterpreter@4c0dd0bd
| +> org.apache.jasper.compiler.TldCache=org.apache.jasper.compiler.TldCache@1a0a4ce4
| +> com.kohlschutter.dumbo.ServerApp=com.kohlschutter.dumbo.ServerApp@49325566
| +> dumborb.json.methods=["ConsoleService.requestNextChunk"]
| +> com.kohlschutter.dumbo.DumboServerImpl=com.kohlschutter.dumbo.DumboServerImpl@40e26132
| +> org.eclipse.jetty.websocket.core.server.WebSocketMappings=org.eclipse.jetty.websocket.core.server.WebSocketMappings@5a86cf47
| +> org.apache.jasper.compiler.StringInterpreter=org.apache.jasper.compiler.StringInterpreterFactory$DefaultStringInterpreter@3bc932c5
| +> org.eclipse.jetty.ee10.plus.webapp.PlusConfiguration.jndiKey=481627690
| +> org.apache.jasper.runtime.JspApplicationContextImpl=org.apache.jasper.runtime.JspApplicationContextImpl@19e38539
+> EventListeners oeje10w.WebAppContext@74455848{/blog,/blog,b=[file:/private/var/folders/20/lqqqg9s974sg640km8nj3klm0000gn/T/dumbo-workdir160541941742846541/blog/webapp/, file:/redacted/workspace/redacted/target-eclipse/classes/redacted/webapp/, file:/redacted/workspace/dumbo/dumbo-core/target-eclipse/classes/redacted/jettydir-overlay/],a=AVAILABLE,h=oeje10s.SessionHandler@480aa870{STARTED}}{[file:/private/var/folders/20/lqqqg9s974sg640km8nj3klm0000gn/T/dumbo-workdir160541941742846541/blog/webapp/, file:/redacted/workspace/redacted/target-eclipse/classes/redacted/webapp/, file:/redacted/workspace/dumbo/dumbo-core/target-eclipse/classes/redacted/jettydir-overlay/]} size=9
| +> org.eclipse.jetty.util.resource.ResourceFactory$2@5583cdd
| +> WebSocketServerComponentsCleanupListener
| +> WebSocketUpgradeFilterCleanupListener
| +> org.eclipse.jetty.websocket.core.server.WebSocketMappings@5a86cf47
| | +> PathMappings[size=0]
| | +> ju.TreeSet@0(size=0)
| +> org.eclipse.jetty.websocket.core.server.WebSocketMappings$1@5d3be572
| +> oeje10wjs.JakartaWebSocketServerContainer@4b8fccd7{STARTED} - STARTED
| | += oeje10wjc.SessionTracker@3051afa6{STARTED} - STARTED
| | | +> ju.Collections$SetFromMap@0(size=0)
| | +> ConfigurationCustomizer@6f228810{idleTimeout=null, writeTimeout=null, autoFragment=null, maxFrameSize=null, inputBufferSize=null, outputBufferSize=null, maxBinaryMessageSize=null, maxTextMessageSize=null, maxOutgoingFrames=null}
| +> JakartaWebSocketServerContainerCleanupListener
| +> org.eclipse.jetty.ee10.servlet.listener.IntrospectorCleaner@6db0e0f3
| +> org.eclipse.jetty.server.AllowedResourceAliasChecker$AllowedResourceAliasCheckListener@586c60e6
+> Initparams /blog@74455848 size=0
key: +- bean, += managed, +~ unmanaged, +? auto, +: iterable, +] array, +@ map, +> undefined
JVM: Eclipse Adoptium OpenJDK 64-Bit Server VM 19.0.2+7; OS: Mac OS X aarch64 14.6.1; Jetty: 12.0.12; CPUs: 10; mem(free/total/max): 419/584/16,384 MiB
UTC: 2024-08-09T16:39:44.550697Z; Europe/Berlin: 2024-08-09T18:39:44.550697+02:00
I have a HttpFilter that listens for URL paths ending with .html, which then uses a request dispatcher to some other resource (with a different suffix). Maybe that's what's tripping it (not that it should).
Your LFilter on url-pattern *.txt
is set to async=true that's where the async is coming from.
What does that mean, and how can I disable it? These are simple HttpFilters that I add via ServletHandler.addFilterWithMapping(FilterHolder,String pathSpec,EnumSet(REQUEST))
Notably, calling FilterHolder.setAsyncSupported with either true or false has no effect.
Again, everything works fine with either 12.0.7 or by adding the above check.
Calling setAsyncSupported(false);
on the DefaultServlet I create lets me use 12.0.12, but I wonder why.
ServletHolder holderDefaultServlet = sh.addServletWithMapping(DefaultServlet.class.getName(),
"/");
holderDefaultServlet.setAsyncSupported(false); // without this, 12.0.8 or newer fail
holderDefaultServlet.setInitParameter("etags", "true");
holderDefaultServlet.setInitParameter("useFileMappedBuffer", "true");
holderDefaultServlet.setInitParameter("stylesheet", "/css/jetty-dir.css");
It's a useful finding, something isn't right. Smells like a bug.
Jetty version(s) 12.0.8 onwards
Jetty Environment ee10
Java version/vendor
(use: java -version)
anyOS type/version any, macOS
Description
While trying to serve a path that redirects to an "index.html" file, jetty 12.0.8 or newer fails with an IllegalStateException. Apparently, the "RequestState" was already ASYNC, and so the test in startAsync fails.
How to reproduce? This is from an embedded setup I can't currently share, but I hope the stacktrace above is sufficient (notice the absence of any application-specific stacktrace elements)
However, allowing the existing
requestState == ASYNC
fixes the issue:in ServletChannelState.startAsync: