On 15/01/2015 14:34, Evil Bit wrote:
> We're seeing the following issue with a websocket endpoint on tomcat 8.0.15 
> when OnError tries to close the websocket session. What could be the problem?

Most likely that what ever triggered the error has already closed the
socket. It looks like some null checks are required in there somewhere.

Mark


> 
> java.lang.reflect.InvocationTargetException
>         at sun.reflect.GeneratedMethodAccessor91.invoke(Unknown Source)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:606)
>         at 
> org.apache.tomcat.websocket.pojo.PojoEndpointBase.onError(PojoEndpointBase.java:134)
>         at 
> org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.onError(WsHttpUpgradeHandler.java:167)
>         at 
> org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.access$300(WsHttpUpgradeHandler.java:48)
>         at 
> org.apache.tomcat.websocket.server.WsHttpUpgradeHandler$WsReadListener.onError(WsHttpUpgradeHandler.java:228)
>         at 
> org.apache.coyote.http11.upgrade.AbstractServletInputStream.onError(AbstractServletInputStream.java:209)
>         at 
> org.apache.coyote.http11.upgrade.Nio2ServletInputStream$1.failed(Nio2ServletInputStream.java:76)
>         at 
> org.apache.coyote.http11.upgrade.Nio2ServletInputStream$1.failed(Nio2ServletInputStream.java:49)
>         at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:128)
>         at sun.nio.ch.Invoker$2.run(Invoker.java:218)
>         at 
> sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:112)
>         at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>         at 
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
>         at java.lang.Thread.run(Thread.java:745)
> Caused by: java.lang.NullPointerException
>         at 
> org.apache.tomcat.websocket.server.WsRemoteEndpointImplServer.onWritePossible(WsRemoteEndpointImplServer.java:96)
>         at 
> org.apache.tomcat.websocket.server.WsRemoteEndpointImplServer.doWrite(WsRemoteEndpointImplServer.java:81)
>         at 
> org.apache.tomcat.websocket.WsRemoteEndpointImplBase.writeMessagePart(WsRemoteEndpointImplBase.java:444)
>         at 
> org.apache.tomcat.websocket.WsRemoteEndpointImplBase.startMessage(WsRemoteEndpointImplBase.java:335)
>         at 
> org.apache.tomcat.websocket.WsRemoteEndpointImplBase.startMessageBlock(WsRemoteEndpointImplBase.java:264)
>         at 
> org.apache.tomcat.websocket.WsSession.sendCloseMessage(WsSession.java:536)
>         at org.apache.tomcat.websocket.WsSession.doClose(WsSession.java:464)
>         at org.apache.tomcat.websocket.WsSession.close(WsSession.java:441)
>         at com.testEndpoint.onWebSocketError(WebsocketEndpoint.java:52)
> 
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to