Uploaded image for project: 'Undertow'
  1. Undertow
  2. UNDERTOW-2532

Websocket Session NPE

XMLWordPrintable

    Hello.
    We are running the service based on the version of WebSocket 2.2.28 of undertow.
    Npe occurred when transmitting text message through websocket session.
    When I look at the internal code, the WebSocketSessionRemoteEndpoint.sendText() method is called at the same time, and it appears that NPE can occur through textFrameSender.
    I will post a PR related to Github.

    java.lang.NullPointerException: Cannot invoke "org.xnio.channels.SuspendableWriteChannel.flush()" because "channel" is null
    	at org.xnio.channels.Channels.flushBlocking(Channels.java:63)
    	at io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint$BasicWebSocketSessionRemoteEndpoint.sendText(WebSocketSessionRemoteEndpoint.java:287)
    	at org.springframework.web.socket.adapter.standard.StandardWebSocketSession.sendTextMessage(StandardWebSocketSession.java:215)
    	at org.springframework.web.socket.adapter.AbstractWebSocketSession.sendMessage(AbstractWebSocketSession.java:108)
    	at com.company.project.service.handler.WebSocketMessageHandler.handleTextMessage(WebSocketMessageHandler.java:124)
    	at org.springframework.web.socket.handler.AbstractWebSocketHandler.handleMessage(AbstractWebSocketHandler.java:43)
    	at org.springframework.web.socket.handler.WebSocketHandlerDecorator.handleMessage(WebSocketHandlerDecorator.java:75)
    	at org.springframework.web.socket.handler.LoggingWebSocketHandlerDecorator.handleMessage(LoggingWebSocketHandlerDecorator.java:56)
    	at org.springframework.web.socket.handler.ExceptionWebSocketHandlerDecorator.handleMessage(ExceptionWebSocketHandlerDecorator.java:58)
    	at org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter.handleTextMessage(StandardWebSocketHandlerAdapter.java:114)
    	at org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter.access$000(StandardWebSocketHandlerAdapter.java:43)
    	at org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter$3.onMessage(StandardWebSocketHandlerAdapter.java:85)
    	at org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter$3.onMessage(StandardWebSocketHandlerAdapter.java:82)
    	at io.undertow.websockets.jsr.FrameHandler$7.run(FrameHandler.java:288)
    	at io.undertow.websockets.jsr.ServerWebSocketContainer$1.call(ServerWebSocketContainer.java:170)
    	at io.undertow.websockets.jsr.ServerWebSocketContainer$1.call(ServerWebSocketContainer.java:167)
    	at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
    	at io.undertow.websockets.jsr.ServerWebSocketContainer.invokeEndpointMethod(ServerWebSocketContainer.java:610)
    	at io.undertow.websockets.jsr.ServerWebSocketContainer.invokeEndpointMethod(ServerWebSocketContainer.java:600)
    	at io.undertow.websockets.jsr.FrameHandler.invokeTextHandler(FrameHandler.java:268)
    	at io.undertow.websockets.jsr.FrameHandler.onFullTextMessage(FrameHandler.java:319)
    	at io.undertow.websockets.core.AbstractReceiveListener$2.complete(AbstractReceiveListener.java:156)
    	at io.undertow.websockets.core.AbstractReceiveListener$2.complete(AbstractReceiveListener.java:152)
    	at io.undertow.websockets.core.BufferedTextMessage.read(BufferedTextMessage.java:105)
    	at io.undertow.websockets.core.AbstractReceiveListener.readBufferedText(AbstractReceiveListener.java:152)
    	at io.undertow.websockets.core.AbstractReceiveListener.bufferFullMessage(AbstractReceiveListener.java:90)
    	at io.undertow.websockets.jsr.FrameHandler.onText(FrameHandler.java:184)
    	at io.undertow.websockets.core.AbstractReceiveListener.handleEvent(AbstractReceiveListener.java:44)
    	at io.undertow.websockets.core.AbstractReceiveListener.handleEvent(AbstractReceiveListener.java:33)
    	at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
    	at io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.handleEvent(AbstractFramedChannel.java:974)
    	at io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.handleEvent(AbstractFramedChannel.java:954)
    	at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)
    	at org.xnio.conduits.ReadReadyHandler$ChannelListenerHandler.readReady(ReadReadyHandler.java:66)
    	at org.xnio.nio.NioSocketConduit.handleReady(NioSocketConduit.java:89)
    	at org.xnio.nio.WorkerThread.run(WorkerThread.java:591) 

            flaviarnn Flavia Rainone
            raccoonback SEUNGBIN KO (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: