Greetings! Came across the following stack in the log:

2020/10/20-20:20:44.926-0,JAVA,0,level=WARN,pid=11448,threadId=79,thread=webflux-selector-http-6,logger=com.example.webflux.GlobalExceptionHandler,message='[567b6e06-1142474] Request processing failed: HTTP GET "/static/auth/bundled/vendors~index.css?hash=efe52b3a171d61573126"',exception=reactor.netty.ReactorNetty$InternalNettyException: java.nio.channels.ClosedChannelException
Caused by: java.nio.channels.ClosedChannelException
    at io.netty.transport@4.1.45.Final/io.netty.channel.AbstractChannel$AbstractUnsafe.newClosedChannelException(AbstractChannel.java:957)
    at io.netty.transport@4.1.45.Final/io.netty.channel.AbstractChannel$AbstractUnsafe.write(AbstractChannel.java:865)
    at io.netty.transport@4.1.45.Final/io.netty.channel.DefaultChannelPipeline$HeadContext.write(DefaultChannelPipeline.java:1367)
    at io.netty.transport@4.1.45.Final/io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:715)
    at io.netty.transport@4.1.45.Final/io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:707)
    at io.netty.transport@4.1.45.Final/io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:790)
    at io.netty.transport@4.1.45.Final/io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:700)
    at io.netty.transport@4.1.45.Final/io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:695)
    at io.netty.transport@4.1.45.Final/io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.write(CombinedChannelDuplexHandler.java:521)
    at io.netty.codec@4.1.45.Final/io.netty.handler.codec.MessageToMessageEncoder.writePromiseCombiner(MessageToMessageEncoder.java:137)
    at io.netty.codec@4.1.45.Final/io.netty.handler.codec.MessageToMessageEncoder.write(MessageToMessageEncoder.java:119)
    at io.netty.transport@4.1.45.Final/io.netty.channel.CombinedChannelDuplexHandler.write(CombinedChannelDuplexHandler.java:346)
    at io.netty.transport@4.1.45.Final/io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:715)
    at io.netty.transport@4.1.45.Final/io.netty.channel.AbstractChannelHandlerContext.invokeWrite(AbstractChannelHandlerContext.java:707)
    at io.netty.transport@4.1.45.Final/io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:790)
    at io.netty.transport@4.1.45.Final/io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:700)
    at reactor.netty@0.9.4.RELEASE/reactor.netty.http.server.HttpTrafficHandler.write(HttpTrafficHandler.java:274)
    at io.netty.transport@4.1.45.Final/io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:715)
    at io.netty.transport@4.1.45.Final/io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:762)
    at io.netty.transport@4.1.45.Final/io.netty.channel.AbstractChannelHandlerContext$WriteTask.run(AbstractChannelHandlerContext.java:1089)
    at io.netty.common@4.1.45.Final/io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164)
    at io.netty.common@4.1.45.Final/io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472)
    at io.netty.transport@4.1.45.Final/io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:497)
    at io.netty.common@4.1.45.Final/io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
    at io.netty.common@4.1.45.Final/io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
    at java.base/java.lang.Thread.run(Thread.java:834)

2020/10/20-20:20:44.928-0,JAVA,0,level=ERROR,pid=11448,threadId=79,thread=webflux-selector-http-6,logger=org.springframework.web.server.adapter.HttpWebHandlerAdapter,message='[567b6e06-1142474] Error [java.lang.UnsupportedOperationException] for HTTP GET "/static/auth/bundled/vendors~index.css?hash=efe52b3a171d61573126", but ServerHttpResponse already committed (200 OK)'

Should HttpWebHandlerAdapter#isDisconnectedClientError(Throwable) treat «reactor.netty.ReactorNetty$InternalNettyException: java.nio.channels.ClosedChannelException» similarly to the other exceptions from DISCONNECTED_CLIENT_EXCEPTIONS?

Comment From: rstoyanchev

I'm not quite sure where ReactorNetty$InternalNettyException originates from in this case. The only way I can see it being raised is via ReactorNetty.wrapException and it only gets invoked here which is for an OutOfMemoryError and not ClosedChannelException. In fact the latter is wrapped as AbortedException in the latest version.

What version of Reactor Netty are you using?

Comment From: evgenyvsmirnov

@rstoyanchev , this particular log got with Dysprosium-SR4. Yes – pretty old one. Now we are using Dysprosium-SR14.

Comment From: rstoyanchev

My point is I don't see how it can happen with the latest code which means that it may no longer be relevant. If it is then please provide a stacktrace based on the latest Dysprosium.

Comment From: evgenyvsmirnov

Ok. Provided that it could be outdated let us close the issue. If I stumble across it again I reopen it with a new stacktrace. Thanks!