java - 升级到 Tomcat 8.5.51 时出现空指针异常
问题描述
尝试升级 tomcat 以修复Ghostcat
漏洞。我试图覆盖从 8.5.29spring-boot-starter-tomcat 1.5.11.RELEASE
到Tomcat 8.5.51
. 这给了我在 webSocket 上的 NPE。下面是我的build.gradle
片段和错误跟踪。有没有人遇到过这个问题?有什么建议可以解决这个问题吗?
构建.gradle:
providedRuntime group: 'org.springframework.boot', name: 'spring-boot-starter-tomcat', version: '1.5.11.RELEASE'
compile group: 'org.apache.tomcat.embed', name: 'tomcat-embed-core', version: '8.5.51'
compile group: 'org.apache.tomcat.embed', name: 'tomcat-embed-el', version: '8.5.51'
compile group: 'org.apache.tomcat.embed', name: 'tomcat-embed-websocket', version: '8.5.51'
compile group: 'org.apache.tomcat', name: 'tomcat-annotations-api', version: '8.5.51'
错误:
2020-03-03 14:25:47.050 ERROR 8383 --- [tp1587487668-17] o.s.boot.web.support.ErrorPageFilter : Forwarding to error page from request [/] due to exception [null]
java.lang.NullPointerException: null
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:50) ~[tomcat-embed-websocket-8.5.51.jar:8.5.51]
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419) [jetty-servlet-9.0.0.v20130308.jar:9.0.0.v20130308]
at org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.java:83) ~[jetty-servlets-9.0.0.v20130308.jar:9.0.0.v20130308]
at org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:294) ~[jetty-servlets-9.0.0.v20130308.jar:9.0.0.v20130308]
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419) [jetty-servlet-9.0.0.v20130308.jar:9.0.0.v20130308]
at org.springframework.web.filter.AbstractRequestLoggingFilter.doFilterInternal(AbstractRequestLoggingFilter.java:244) ~[spring-web-4.3.26.RELEASE.jar:4.3.26.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.26.RELEASE.jar:4.3.26.RELEASE]
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419) [jetty-servlet-9.0.0.v20130308.jar:9.0.0.v20130308]
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) ~[spring-web-4.3.26.RELEASE.jar:4.3.26.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.26.RELEASE.jar:4.3.26.RELEASE]
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419) [jetty-servlet-9.0.0.v20130308.jar:9.0.0.v20130308]
at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:109) ~[spring-web-4.3.26.RELEASE.jar:4.3.26.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.26.RELEASE.jar:4.3.26.RELEASE]
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419) [jetty-servlet-9.0.0.v20130308.jar:9.0.0.v20130308]
at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:93) ~[spring-web-4.3.26.RELEASE.jar:4.3.26.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.26.RELEASE.jar:4.3.26.RELEASE]
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419) [jetty-servlet-9.0.0.v20130308.jar:9.0.0.v20130308]
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197) ~[spring-web-4.3.26.RELEASE.jar:4.3.26.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.26.RELEASE.jar:4.3.26.RELEASE]
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419) [jetty-servlet-9.0.0.v20130308.jar:9.0.0.v20130308]
at org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:117) [spring-boot-1.5.11.RELEASE.jar:1.5.11.RELEASE]
at org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageFilter.java:61) [spring-boot-1.5.11.RELEASE.jar:1.5.11.RELEASE]
at org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:92) [spring-boot-1.5.11.RELEASE.jar:1.5.11.RELEASE]
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring-web-4.3.26.RELEASE.jar:4.3.26.RELEASE]
at org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:110) [spring-boot-1.5.11.RELEASE.jar:1.5.11.RELEASE]
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419) [jetty-servlet-9.0.0.v20130308.jar:9.0.0.v20130308]
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:447) [jetty-servlet-9.0.0.v20130308.jar:9.0.0.v20130308]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:138) [jetty-server-9.0.0.v20130308.jar:9.0.0.v20130308]
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:540) [jetty-security-9.0.0.v20130308.jar:9.0.0.v20130308]
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:213) [jetty-server-9.0.0.v20130308.jar:9.0.0.v20130308]
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1070) [jetty-server-9.0.0.v20130308.jar:9.0.0.v20130308]
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:376) [jetty-servlet-9.0.0.v20130308.jar:9.0.0.v20130308]
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:175) [jetty-server-9.0.0.v20130308.jar:9.0.0.v20130308]
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1004) [jetty-server-9.0.0.v20130308.jar:9.0.0.v20130308]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:136) [jetty-server-9.0.0.v20130308.jar:9.0.0.v20130308]
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:258) [jetty-server-9.0.0.v20130308.jar:9.0.0.v20130308]
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:109) [jetty-server-9.0.0.v20130308.jar:9.0.0.v20130308]
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) [jetty-server-9.0.0.v20130308.jar:9.0.0.v20130308]
at org.eclipse.jetty.server.Server.handle(Server.java:449) [jetty-server-9.0.0.v20130308.jar:9.0.0.v20130308]
at org.eclipse.jetty.server.HttpChannel.run(HttpChannel.java:252) [jetty-server-9.0.0.v20130308.jar:9.0.0.v20130308]
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:266) [jetty-server-9.0.0.v20130308.jar:9.0.0.v20130308]
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.run(AbstractConnection.java:240) [jetty-io-9.0.0.v20130308.jar:9.0.0.v20130308]
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:589) [jetty-util-9.0.0.v20130308.jar:9.0.0.v20130308]
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:520) [jetty-util-9.0.0.v20130308.jar:9.0.0.v20130308]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_222]
解决方案
推荐阅读
- notepad++ - 记事本++中包含符号的单词前的新行
- c++ - 编写构造函数/析构函数是一种好习惯吗?
- python-3.x - 如果我在带括号的列表中有重复项,我该怎么办
- adobe-brackets - 括号实时预览突然不工作
- java - 如何在我的 Google Glass 应用中录制视频?
- sql - 尝试连接到 Azure 中的 SQL 服务器时在 signalR ASP.NET 中出错
- r - 如何正确地将拟合的线性模型导出到 rds 文件并稍后重新创建?
- java - 如何使用 FIPS BouncyCastle 将 ECPrivateKey 转换为 ECPublicKey?
- office365 - 如何将电子邮件复制到 Office 365 群组?
- sql - 通过同一张表SQL减去组上的两列