You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bu...@apache.org on 2016/02/24 12:47:09 UTC

[Bug 59062] New: Failed to close the ServletOutputStream connection cleanly

https://bz.apache.org/bugzilla/show_bug.cgi?id=59062

            Bug ID: 59062
           Summary: Failed to close the ServletOutputStream connection
                    cleanly
           Product: Tomcat 7
           Version: 7.0.68
          Hardware: All
                OS: Linux
            Status: NEW
          Severity: major
          Priority: P2
         Component: WebSocket
          Assignee: dev@tomcat.apache.org
          Reporter: hugo.larson@yahoo.com

Hello,

Sporadically i get this exception in catalina.out.
This exeption appeared since upgrading from tomcat 7.0.61.
I made the upgrade due to meamory leak with websocket.
I submitted a bug since the exception i raised internally in tomcat.

I use NIO connector.
On the client side Tyrus 1.10 is used.

BR,
Hugo

Feb 21, 2016 1:05:57 PM
org.apache.tomcat.websocket.server.WsRemoteEndpointImplServer doClose
INFO: Failed to close the ServletOutputStream connection cleanly
java.io.IOException: Broken pipe
        at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
        at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
        at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
        at sun.nio.ch.IOUtil.write(IOUtil.java:51)
        at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:492)
        at
org.apache.tomcat.util.net.SecureNioChannel.flush(SecureNioChannel.java:141)
        at
org.apache.tomcat.util.net.SecureNioChannel.close(SecureNioChannel.java:385)
        at
org.apache.tomcat.util.net.SecureNioChannel.close(SecureNioChannel.java:413)
        at
org.apache.coyote.http11.upgrade.NioServletOutputStream.doClose(NioServletOutputStream.java:138)
        at
org.apache.coyote.http11.upgrade.AbstractServletOutputStream.close(AbstractServletOutputStream.java:129)
        at
org.apache.tomcat.websocket.server.WsRemoteEndpointImplServer.doClose(WsRemoteEndpointImplServer.java:138)
        at
org.apache.tomcat.websocket.WsRemoteEndpointImplBase.close(WsRemoteEndpointImplBase.java:692)
        at
org.apache.tomcat.websocket.server.WsRemoteEndpointImplServer.onWritePossible(WsRemoteEndpointImplServer.java:113)
        at
org.apache.tomcat.websocket.server.WsRemoteEndpointImplServer.doWrite(WsRemoteEndpointImplServer.java:81)
        at
org.apache.tomcat.websocket.WsRemoteEndpointImplBase.writeMessagePart(WsRemoteEndpointImplBase.java:455)
        at
org.apache.tomcat.websocket.WsRemoteEndpointImplBase.startMessage(WsRemoteEndpointImplBase.java:343)
        at
org.apache.tomcat.websocket.WsRemoteEndpointImplBase.startMessageBlock(WsRemoteEndpointImplBase.java:275)
        at
org.apache.tomcat.websocket.WsSession.sendCloseMessage(WsSession.java:559)
        at org.apache.tomcat.websocket.WsSession.doClose(WsSession.java:465)
        at
org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.onError(WsHttpUpgradeHandler.java:162)
        at
org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.access$300(WsHttpUpgradeHandler.java:48)
        at
org.apache.tomcat.websocket.server.WsHttpUpgradeHandler$WsReadListener.onError(WsHttpUpgradeHandler.java:230)
        at
org.apache.tomcat.websocket.server.WsHttpUpgradeHandler$WsReadListener.onDataAvailable(WsHttpUpgradeHandler.java:213)
        at
org.apache.coyote.http11.upgrade.AbstractServletInputStream.onDataAvailable(AbstractServletInputStream.java:203)
        at
org.apache.coyote.http11.upgrade.AbstractProcessor.upgradeDispatch(AbstractProcessor.java:93)
        at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:623)
        at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1757)
        at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1716)
        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)

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


[Bug 59062] Failed to close the ServletOutputStream connection cleanly

Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=59062

--- Comment #2 from hugo.larson@yahoo.com ---
Hello,

Thanks for the info.

Do you think that calling ClientManager.shutdown() in the client is a good idea
to avoid the exception?

BR,

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


[Bug 59062] Failed to close the ServletOutputStream connection cleanly

Posted by bu...@apache.org.
https://bz.apache.org/bugzilla/show_bug.cgi?id=59062

Mark Thomas <ma...@apache.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |WONTFIX
             Status|NEW                         |RESOLVED

--- Comment #1 from Mark Thomas <ma...@apache.org> ---
That is an INFO level message so it is providing you with information on what
is going on. In this case it is that the client has dropped the connection.
Some users find these useful when trying to debug networking issues but if you
don't want to see them you can configure the logger for
WsRemoteEndpointImplServer appropriately e.g. for WARN or above.

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org