jenkins学习之记master的一次报错

问题

今天早上 打开jenkins,然后登录,然后 报错了 Oops!

A problem occurred while processing the request.
Logging ID=7e123605-0518-46c7-b711-d3213948134d

1.png

2.png

主要报错如下,去掉了 其他没用的信息。

报错信息怎么 找,就是找 jenkins 关键字 的 行, 其他的 暂时忽略。从下往上找。

1
2
3
4
5
6
7
8
java.lang.NullPointerException
at hudson.model.ViewGroupMixIn.getView(ViewGroupMixIn.java:119)
at hudson.model.ViewGroupMixIn.getPrimaryView(ViewGroupMixIn.java:172)
at jenkins.model.Jenkins.getPrimaryView(Jenkins.java:1973)
at jenkins.model.Jenkins.getStaplerFallback(Jenkins.java:4987)
at jenkins.model.Jenkins.getStaplerFallback(Jenkins.java:339)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:825)

看报错名称,是 空指针异常了,看着是 getPrimaryView(ViewGroupMixIn.java:172) -> getView(ViewGroupMixIn.java:119)

和获取 view 相关的 报错了,这个 PrimaryView 是我们 定义的一个 主视图页,默认的叫 ALL。

1
2
3
4
5
6
List<View> views = views();
for (View v : views) {
if (v.getViewName().equals(name)) { 这里是 119 行
return v;
}
}

这个 for 循环 所有的 view, 第一个 All 是自带的,第二个就是我们自定义的 xxx 的view,第三个就是 dailybuild 这个view。就是循环到这第三个报错了

1
2
3
4
5
6
views = {CopyOnWriteArrayList@18372}  size = 9
0 = {AllView@18373} "hudson.model.AllView@184797f6[view/All/]" 这个是jenkins 默认自带的
1 = {SectionedView@18379} "hudson.plugins.sectioned_view.SectionedView@36f2e0a1[view/xxx/]"
2 = {SectionedView@18384} 方法抛出'java.lang.NullPointerException'异常. 无法评估 hudson.plugins.sectioned_view.SectionedView.toString()
5 = {SectionedView@20139} "hudson.plugins.sectioned_view.SectionedView@1a218442[view/jenkins/]"
6 = {SectionedView@20140} "hudson.plugins.sectioned_view.SectionedView@604947d6[view/AutoTools/]"

展开这第三个报错 view 发现 里面的owner,name等等 都是 null 值。 然后 v.getViewName()

取出来的当然也是 null 了。null.equals() 当然就报空指针异常拉

1
2
3
4
5
6
7
8
2 = {SectionedView@18384} 方法抛出'java.lang.NullPointerException'异常. 无法评估 hudson.plugins.sectioned_view.SectionedView.toString()
sections = {DescribableList@18386} size = 4
owner = null
name = null
description = null
filterExecutors = false
filterQueue = false
properties = {View$PropertyList@18387} size = 0

在 jenkins 配置文件 config.xml 中有个 <primaryView>DailyBuild</primaryView>

这个视图是 通过 hudson.plugins.sectioned__view.SectionedView 得到的。估计就是这个 视图 实例化的时候有问题了

经过对比 发现 DailyBuild 对应的 这个<hudson.plugins.sectioned__view.SectionedView plugin="sectioned-view@1.25">标签 下面 正好和其他的不一样,缺失了几个属性。

1
2
3
4
5
6
<hudson.plugins.sectioned__view.SectionedView plugin="sectioned-view@1.25">
<owner class="hudson" reference="../../.."/>
<name>xxx</name>
<filterExecutors>false</filterExecutors>
<filterQueue>false</filterQueue>
<properties class="hudson.model.View$PropertyList"/>
1
2
3
4
<hudson.plugins.sectioned__view.SectionedView plugin="sectioned-view@1.25">
<filterExecutors>false</filterExecutors>
<filterQueue>false</filterQueue>
<properties class="hudson.model.View$PropertyList"/>

owner 和 name 缺失了。 通过 config-history 中对比 之前几天的 config.xml 文件 发现 确实是这里有问题。

解决方法 就是 停掉jenkins,修改 config.xml 文件 , 补全这里。

原因查找

通过报错日志发现出现的时间大致是昨晚 十点 左右,SectionedView 这个视图我们晚上执行定时构建时候 会 通过 jobDsl 插件去 自动更新这个 视图的。

从昨晚定时 job 历史中发现 如下报错

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
Processing provided DSL script
java.lang.NullPointerException
at hudson.model.ViewGroupMixIn.getView(ViewGroupMixIn.java:119)
at jenkins.model.Jenkins.getView(Jenkins.java:1915)
at javaposse.jobdsl.plugin.JenkinsJobManagement.createOrUpdateView(JenkinsJobManagement.java:175)
at javaposse.jobdsl.dsl.JobManagement$createOrUpdateView$0.call(Unknown Source)
at javaposse.jobdsl.plugin.InterruptibleJobManagement.createOrUpdateView(InterruptibleJobManagement.groovy:41)
at javaposse.jobdsl.dsl.JobManagement$createOrUpdateView$0.call(Unknown Source)
at javaposse.jobdsl.dsl.AbstractDslScriptLoader$_extractGeneratedViews_closure5.doCall(AbstractDslScriptLoader.groovy:216)
at jdk.internal.reflect.GeneratedMethodAccessor1818.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:294)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1022)
at groovy.lang.Closure.call(Closure.java:414)
at groovy.lang.Closure.call(Closure.java:430)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2040)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2025)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2078)
at org.codehaus.groovy.runtime.dgm$165.invoke(Unknown Source)
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:274)
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:56)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
at javaposse.jobdsl.dsl.AbstractDslScriptLoader.extractGeneratedViews(AbstractDslScriptLoader.groovy:213)
at jdk.internal.reflect.GeneratedMethodAccessor1817.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:210)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:59)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:174)
at javaposse.jobdsl.dsl.AbstractDslScriptLoader.extractGeneratedItems(AbstractDslScriptLoader.groovy:187)
at javaposse.jobdsl.plugin.JenkinsDslScriptLoader.extractGeneratedItems(JenkinsDslScriptLoader.java:22)
at jdk.internal.reflect.GeneratedMethodAccessor1811.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:384)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1022)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:69)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:182)
at javaposse.jobdsl.dsl.AbstractDslScriptLoader$_runScripts_closure1.doCall(AbstractDslScriptLoader.groovy:63)
at jdk.internal.reflect.GeneratedMethodAccessor1792.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:294)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1022)
at groovy.lang.Closure.call(Closure.java:414)
at groovy.lang.Closure.call(Closure.java:430)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2040)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2025)
at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:2078)
at org.codehaus.groovy.runtime.dgm$165.invoke(Unknown Source)
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:274)
at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:56)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
at javaposse.jobdsl.dsl.AbstractDslScriptLoader.runScripts(AbstractDslScriptLoader.groovy:46)
at javaposse.jobdsl.plugin.ExecuteDslScripts.perform(ExecuteDslScripts.java:351)
at jenkins.tasks.SimpleBuildStep.perform(SimpleBuildStep.java:123)
at org.jenkinsci.plugins.workflow.steps.CoreStep$Execution.run(CoreStep.java:99)
at org.jenkinsci.plugins.workflow.steps.CoreStep$Execution.run(CoreStep.java:69)
at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution.lambda$start$0(SynchronousNonBlockingStepExecution.java:47)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)

初步判断 应该是 jobdsl 执行时候 保存 配置 到 config.xml 时候出问题了。从 jenkins 日志中也搜到过 这种错误 Failed to write primaryView:null

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2022-11-10 22:40:25.597+0000 [id=14346448]      INFO    o.j.p.p.PermissiveWhitelist$Mode$3#act: no security, return true: check: org.jenkinsci.plugins.permissivescriptsecurity.PermissiveWhitelist$$Lambda$649/0x00007f37b3e1f0b0@35b8d7fb, reject: org.jenkinsci.plugins.permissivescriptsecurity.PermissiveWhitelist$$Lambda$650/0x00007f37b3e1f458@5aad48a3
2022-11-10 22:40:27.398+0000 [id=14344536] WARNING o.k.stapler.export.Property#writeBuffered: skipping export of hudson.model.Hudson@14d739ef
java.lang.NullPointerException
at hudson.model.ViewGroupMixIn.getView(ViewGroupMixIn.java:119)
at hudson.model.ViewGroupMixIn.getPrimaryView(ViewGroupMixIn.java:172)
at jenkins.model.Jenkins.getPrimaryView(Jenkins.java:1973)
at org.kohsuke.stapler.export.MethodProperty.getValue(MethodProperty.java:72)
Caused: java.lang.reflect.InvocationTargetException
at org.kohsuke.stapler.export.MethodProperty.getValue(MethodProperty.java:74)
at org.kohsuke.stapler.export.ExportInterceptor$1.getValue(ExportInterceptor.java:46)
Caused: java.io.IOException: Failed to write primaryView:null
at org.kohsuke.stapler.export.ExportInterceptor$1.getValue(ExportInterceptor.java:52)
at org.kohsuke.stapler.export.Property.writeTo(Property.java:135)
at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:223)
at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:219)
at org.kohsuke.stapler.export.Property.writeValue(Property.java:302)
at org.kohsuke.stapler.export.Property.writeBuffered(Property.java:174)
at org.kohsuke.stapler.export.Property.writeValue(Property.java:234)
at org.kohsuke.stapler.export.Property.writeValue(Property.java:168)
at org.kohsuke.stapler.export.Property.writeTo(Property.java:153)
at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:223)

jenkins 系统日志

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
--
2022-11-10 22:56:10.440+0000 [id=14348059] WARNING o.k.stapler.export.Property#writeBuffered: skipping export of hudson.model.Hudson@14d739ef
java.lang.NullPointerException
at hudson.model.ViewGroupMixIn.getView(ViewGroupMixIn.java:119)
at hudson.model.ViewGroupMixIn.getPrimaryView(ViewGroupMixIn.java:172)
at jenkins.model.Jenkins.getPrimaryView(Jenkins.java:1973)
at org.kohsuke.stapler.export.MethodProperty.getValue(MethodProperty.java:72)
Caused: java.lang.reflect.InvocationTargetException
at org.kohsuke.stapler.export.MethodProperty.getValue(MethodProperty.java:74)
at org.kohsuke.stapler.export.ExportInterceptor$1.getValue(ExportInterceptor.java:46)
Caused: java.io.IOException: Failed to write primaryView:null
at org.kohsuke.stapler.export.ExportInterceptor$1.getValue(ExportInterceptor.java:52)
at org.kohsuke.stapler.export.Property.writeTo(Property.java:135)
at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:223)
at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:219)
at org.kohsuke.stapler.export.Property.writeValue(Property.java:302)
at org.kohsuke.stapler.export.Property.writeBuffered(Property.java:174)
at org.kohsuke.stapler.export.Property.writeValue(Property.java:234)
at org.kohsuke.stapler.export.Property.writeValue(Property.java:168)
at org.kohsuke.stapler.export.Property.writeTo(Property.java:153)
at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:223)



2022-11-10 23:56:58.089+0000 [id=14345543] WARNING h.i.i.InstallUncaughtExceptionHandler#handleException: Caught unhandled exception with ID 7e549cd1-e20e-436e-b622-938bf783a8fb
java.lang.NullPointerException
at hudson.model.ViewGroupMixIn.getView(ViewGroupMixIn.java:119)
at hudson.model.ViewGroupMixIn.getPrimaryView(ViewGroupMixIn.java:172)
at jenkins.model.Jenkins.getPrimaryView(Jenkins.java:1973)
at jenkins.model.Jenkins.getStaplerFallback(Jenkins.java:4987)
at jenkins.model.Jenkins.getStaplerFallback(Jenkins.java:339)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:825)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:898)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:694)
at org.kohsuke.stapler.Stapler.service(Stapler.java:240)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799)
at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1626)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:157)
at org.jenkinsci.plugins.ssegateway.Endpoint$SSEListenChannelFilter.doFilter(Endpoint.java:248)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
at jenkins.telemetry.impl.UserLanguages$AcceptLanguageFilter.doFilter(UserLanguages.java:129)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
at jenkins.security.ResourceDomainFilter.doFilter(ResourceDomainFilter.java:81)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
at io.jenkins.blueocean.ResourceCacheControl.doFilter(ResourceCacheControl.java:134)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
at io.jenkins.blueocean.auth.jwt.impl.JwtAuthenticationFilter.doFilter(JwtAuthenticationFilter.java:60)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
at hudson.plugins.locale.LocaleFilter.doFilter(LocaleFilter.java:42)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:160)
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:161)
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:93)
at jenkins.security.AcegiSecurityExceptionFilter.doFilter(AcegiSecurityExceptionFilter.java:52)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:98)
at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:53)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:98)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:121)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:115)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:98)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:105)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:98)
at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:101)
at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:92)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:98)
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:218)
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:212)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:98)
at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:96)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:98)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:62)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:98)
at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:110)
at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:170)
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:51)
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:85)
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
at jenkins.security.SuspiciousRequestFilter.doFilter(SuspiciousRequestFilter.java:36)
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:548)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:578)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1435)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1350)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.Server.handle(Server.java:516)
at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:388)
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:633)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:380)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:383)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:882)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1036)
at java.base/java.lang.Thread.run(Thread.java:829)