[ 
https://issues.apache.org/jira/browse/WICKET-6818?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17183276#comment-17183276
 ] 

ASF subversion and git services commented on WICKET-6818:
---------------------------------------------------------

Commit 4eb6a72a842670216aa1ee7f411dfd1a70bea06c in wicket's branch 
refs/heads/wicket-8.x from Martin Tzvetanov Grigorov
[ https://gitbox.apache.org/repos/asf?p=wicket.git;h=4eb6a72 ]

WICKET-6818 NullPointerException in WicketEndpoint onClose

(cherry picked from commit 3b4c6058a51d564f8f0510c01408a9311f20d47d)


> NPE in WicketEndpoint onClose
> -----------------------------
>
>                 Key: WICKET-6818
>                 URL: https://issues.apache.org/jira/browse/WICKET-6818
>             Project: Wicket
>          Issue Type: Bug
>    Affects Versions: 8.7.0, 8.9.0
>            Reporter: Joshua
>            Assignee: Martin Tzvetanov Grigorov
>            Priority: Major
>         Attachments: image-2020-08-21-09-13-13-799.png
>
>
> NPE can occasionally occur inside WicketEndpoint. In our system we have a 
> intermediary page for logging out. Meaning we go from home -> logout -> login 
> page. These transitions are very quick and have occasionally hit this NPE.
> Expected behavior do not throw a NPE when page is transitioning and an onOpen 
> call has not been made yet. And do not throw a NPE when onClose is called 
> before onOpen.
> Possible solution:
> check for null javaxWebSocketProcessor
> !image-2020-08-21-09-13-13-799.png!
> {code:java}
> WicketEndpoint:99 - An error occurred in web socket connection with id : 
> 5ajava.lang.NullPointerException at 
> org.apache.wicket.protocol.ws.javax.WicketEndpoint.onClose(WicketEndpoint.java:86)
>  at 
> org.apache.tomcat.websocket.WsSession.fireEndpointOnClose(WsSession.java:555) 
> at org.apache.tomcat.websocket.WsSession.doClose(WsSession.java:501) at 
> org.apache.tomcat.websocket.WsSession.doClose(WsSession.java:459) at 
> org.apache.tomcat.websocket.WsSession.close(WsSession.java:446) at 
> org.apache.wicket.protocol.ws.javax.JavaxWebSocketConnection.close(JavaxWebSocketConnection.java:68)
>  ****************************OUR PAGE CALLS CLOSE******************* at 
> org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:598)
>  at 
> org.apache.wicket.core.request.handler.ListenerRequestHandler.internalInvoke(ListenerRequestHandler.java:306)
>  at 
> org.apache.wicket.core.request.handler.ListenerRequestHandler.invoke(ListenerRequestHandler.java:280)
>  at 
> org.apache.wicket.core.request.handler.ListenerRequestHandler.invokeListener(ListenerRequestHandler.java:222)
>  at 
> org.apache.wicket.core.request.handler.ListenerRequestHandler.respond(ListenerRequestHandler.java:208)
>  at 
> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:914)
>  at 
> org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65)
>  at 
> org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:282) 
> at 
> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:253)
>  at 
> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221)
>  at 
> org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:275)
>  at 
> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:206)
>  at 
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:299) 
> at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
>  at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
>  at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
>  at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
>  at 
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
>  at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) 
> at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) 
> at 
> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
>  at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
>  at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) 
> at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800) 
> at 
> org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
>  at 
> org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806)
>  at 
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498)
>  at 
> org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
>  at
> {code}
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to