Vaadin 14 NullPointerException 分离

问题描述

Vaadin 14 流程。有时 Vaadin 会抛出未链接到我的应用程序代码的异常。当我在 https://start.vaadin.com/

开始使用新菜单时会发生此问题

这是 https://start.vaadin.com 或 Vaadin 流自动生成代码的问题吗?

注意:我在 Vaadin github 提交了这个问题: https://github.com/vaadin/flow/issues/11088

 [http-nio-8080-exec-144] ERROR com.vaadin.flow.component.UI - null
 java.lang.NullPointerException
  at com.vaadin.flow.component.UI$1.handleError(UI.java:519)
  at com.vaadin.flow.server.FutureAccess.handleError(FutureAccess.java:76)
  at com.vaadin.flow.server.VaadinService.runPendingAccesstasks(VaadinService.java:2068)
  at com.vaadin.flow.server.VaadinSession.unlock(VaadinSession.java:682)
  at com.vaadin.flow.server.VaadinService.requestEnd(VaadinService.java:1509)
  at com.vaadin.flow.server.VaadinService.handleRequest(VaadinService.java:1584)
  at com.vaadin.flow.server.VaadinServlet.service(VaadinServlet.java:252)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
  at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
  at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
  at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
  at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
  at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
  at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
  at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)
  at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
  at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)
  at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
  at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
  at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)
  at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707)
  at org.apache.tomcat.util.net.socketProcessorBase.run(SocketProcessorBase.java:49)
  at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
  at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
  at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
  at java.base/java.lang.Thread.run(Thread.java:829)
 [http-nio-8080-exec-144] ERROR com.vaadin.flow.component.UI - null
 java.lang.NullPointerException
  at com.vaadin.flow.component.UI$1.handleError(UI.java:519)
  at com.vaadin.flow.server.FutureAccess.handleError(FutureAccess.java:76)
  at com.vaadin.flow.server.VaadinService.runPendingAccesstasks(VaadinService.java:2068)
  at com.vaadin.flow.server.VaadinSession.unlock(VaadinSession.java:682)
  at com.vaadin.flow.server.VaadinService.requestEnd(VaadinService.java:1509)
  at com.vaadin.flow.server.VaadinService.handleRequest(VaadinService.java:1584)
  at com.vaadin.flow.server.VaadinServlet.service(VaadinServlet.java:252)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
  at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
  at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
  at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
  at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
  at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
  at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
  at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)
  at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
  at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357)
  at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
  at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
  at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893)
  at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707)
  at org.apache.tomcat.util.net.socketProcessorBase.run(SocketProcessorBase.java:49)
  at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
  at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
  at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
  at java.base/java.lang.Thread.run(Thread.java:829)

或有时在单击菜单中的项目时抛出此错误

  | [http-nio-8080-exec-41] WARN com.vaadin.flow.server.communication.PushHandler - Error while ending request
  | java.lang.IllegalStateException: Unregistered node was not found based on its id. The tree is most likely corrupted.
  |  at com.vaadin.flow.internal.StateTree.unregister(StateTree.java:243)
  |  at com.vaadin.flow.internal.StateNode.handleOnDetach(StateNode.java:759)
  |  at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
  |  at com.vaadin.flow.internal.StateNode.onDetach(StateNode.java:337)
  |  at com.vaadin.flow.internal.StateNode.setParent(StateNode.java:280)
  |  at com.vaadin.flow.internal.StateTree$RootNode.setParent(StateTree.java:65)
  |  at com.vaadin.flow.component.internal.UIInternals.setSession(UIInternals.java:400)
  |  at com.vaadin.flow.server.VaadinSession.removeUI(VaadinSession.java:594)
  |  at com.vaadin.flow.server.VaadinService.lambda$removeClosedUIs$20ed7015$1(VaadinService.java:1342)
  |  at com.vaadin.flow.component.UI.accessSynchronously(UI.java:434)
  |  at com.vaadin.flow.component.UI.accessSynchronously(UI.java:395)
  |  at com.vaadin.flow.server.VaadinService.removeClosedUIs(VaadinService.java:1340)
  |  at com.vaadin.flow.server.VaadinService.cleanupSession(VaadinService.java:1304)
  |  at com.vaadin.flow.server.VaadinService.requestEnd(VaadinService.java:1504)
  |  at com.vaadin.flow.server.communication.PushHandler.callWithUi(PushHandler.java:257)
  |  at com.vaadin.flow.server.communication.PushHandler.onConnect(PushHandler.java:522)
  |  at com.vaadin.flow.server.communication.PushAtmosphereHandler.onConnect(PushAtmosphereHandler.java:103)
  |  at com.vaadin.flow.server.communication.PushAtmosphereHandler.onRequest(PushAtmosphereHandler.java:77)
  |  at org.atmosphere.cpr.AsynchronousProcessor.action(AsynchronousProcessor.java:225)
  |  at org.atmosphere.cpr.AsynchronousProcessor.suspended(AsynchronousProcessor.java:114)
  |  at org.atmosphere.container.Servlet30CometSupport.service(Servlet30CometSupport.java:67)
  |  at org.atmosphere.cpr.AtmosphereFramework.doCometSupport(AtmosphereFramework.java:2297)
  |  at org.atmosphere.websocket.DefaultWebSocketProcessor.dispatch(DefaultWebSocketProcessor.java:594)
  |  at org.atmosphere.websocket.DefaultWebSocketProcessor.open(DefaultWebSocketProcessor.java:224)
  |  at org.atmosphere.container.JSR356Endpoint.onopen(JSR356Endpoint.java:264)
  |  at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.init(WsHttpUpgradeHandler.java:135)
  |  at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:940)
  |  at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707)
  |  at org.apache.tomcat.util.net.socketProcessorBase.run(SocketProcessorBase.java:49)
  |  at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
  |  at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
  |  at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
  |  at java.base/java.lang.Thread.run(Thread.java:829)
  | [INFO: 2021-05-27 09:23:33 (StaffCompanyView.java:115)] StaffCompanyView auto init..........
  | [INFO: 2021-05-27 09:23:33 (StaffAssetView.java:700)] DetachEvent Session-ID: C11F6F0B3B6482D3FC1C86D156243AB9 UIID: 2
  | [INFO: 2021-05-27 09:23:33 (StaffCompanyView.java:257)] AttachEvent Session-ID: C11F6F0B3B6482D3FC1C86D156243AB9 UIID: 2
  | [http-nio-8080-exec-47] WARN com.vaadin.flow.server.communication.PushHandler - Error while ending request
  | java.lang.IllegalStateException: Unregistered node was not found based on its id. The tree is most likely corrupted.
  |  at com.vaadin.flow.internal.StateTree.unregister(StateTree.java:243)
  |  at com.vaadin.flow.internal.StateNode.handleOnDetach(StateNode.java:759)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)