Repository: netty/netty
Issue: Some new leak/reference counting busted in 4.1.32

I don't have much info yet and no local repro. I basically attempted to open up TLS 1.3 to a broader audience within our corp network and I started instantly getting `IllegalReferenceCountException` being thrown and and ERRORs from the `ResourceLeakDetector`. I don't think it's related to TLS 1.3 though.

1. I started out with your [ssl_cipher](https://github.com/netty/netty/pull/8485) branch. Broken.
2. I then took your branch and rebased it with latest 4.1. Still broken.
3. Disabled TLS 1.3. Still broken.

I think it's some change between 4.1.31 release and the ssl_cipher branche's branch point.

```java
2018-11-12 16:11:17,328 16928 [ConnectorThread-7] ResourceLeakDetector ERROR: LEAK: ByteBuf.release() was not called before it's garbage-collected. See http://netty.io/wiki/reference-counted-objects.html for more information.
Recent access records: 
Created at:
	io.netty.buffer.PooledByteBufAllocator.newDirectBuffer(PooledByteBufAllocator.java:331)
	io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:185)
	io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:176)
	io.netty.handler.ssl.SslHandler.allocate(SslHandler.java:1919)
	io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1292)
	io.netty.handler.ssl.SslHandler.decodeNonJdkCompatible(SslHandler.java:1211)
	io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1245)
	io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:502)
	io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:441)
	io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:278)
	io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
	io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86)
	io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
	io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1434)
	io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
	io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
	io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:965)
	io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:799)
	io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:433)
	io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:330)
	io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:897)
	java.lang.Thread.run(Thread.java:745)
```

```java
2018-11-12 15:48:37,180 54359 [HttpWorkerThread-4] ResourceLeakDetector ERROR: LEAK: ByteBuf.release() was not called before it's garbage-collected. See http://netty.io/wiki/reference-counted-objects.html for more information.
Recent access records: 
Created at:
	io.netty.buffer.PooledByteBufAllocator.newDirectBuffer(PooledByteBufAllocator.java:331)
	io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:185)
	io.netty.buffer.AbstractByteBufAllocator.directBuffer(AbstractByteBufAllocator.java:176)
	io.netty.channel.unix.PreferredDirectByteBufAllocator.ioBuffer(PreferredDirectByteBufAllocator.java:53)
	io.netty.channel.DefaultMaxMessagesRecvByteBufAllocator$MaxMessageHandle.allocate(DefaultMaxMessagesRecvByteBufAllocator.java:114)
	io.netty.channel.epoll.EpollRecvByteAllocatorHandle.allocate(EpollRecvByteAllocatorHandle.java:77)
	io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:784)
	io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:433)
	io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:330)
	io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:897)
	java.lang.Thread.run(Thread.java:745)
```

```java
2018-11-12 15:48:35,677 54359 [HttpsWorkerThread-5] ReferenceCountUtil WARN : Failed to release a message: UnpooledSlicedByteBuf(freed)
 io.netty.util.IllegalReferenceCountException: refCnt: 0, decrement: 1
	at io.netty.buffer.AbstractReferenceCountedByteBuf.release0(AbstractReferenceCountedByteBuf.java:124) ~[netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.buffer.AbstractReferenceCountedByteBuf.release(AbstractReferenceCountedByteBuf.java:107) ~[netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.buffer.AbstractDerivedByteBuf.release0(AbstractDerivedByteBuf.java:89) ~[netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.buffer.AbstractDerivedByteBuf.release(AbstractDerivedByteBuf.java:85) ~[netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.util.ReferenceCountUtil.release(ReferenceCountUtil.java:88) ~[netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.util.ReferenceCountUtil.safeRelease(ReferenceCountUtil.java:113) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractCoalescingBufferQueue.releaseAndCompleteAll(AbstractCoalescingBufferQueue.java:338) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractCoalescingBufferQueue.releaseAndFailAll(AbstractCoalescingBufferQueue.java:207) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.handler.ssl.SslHandler.releaseAndFailAll(SslHandler.java:1586) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.handler.ssl.SslHandler.setHandshakeFailure(SslHandler.java:1580) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.handler.ssl.SslHandler.setHandshakeFailure(SslHandler.java:1545) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.handler.ssl.SslHandler.flush(SslHandler.java:776) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:768) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:749) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.handler.codec.http2.Http2ConnectionHandler.flush(Http2ConnectionHandler.java:201) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.handler.codec.http2.Http2ConnectionHandler.channelWritabilityChanged(Http2ConnectionHandler.java:440) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelWritabilityChanged(AbstractChannelHandlerContext.java:434) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelWritabilityChanged(AbstractChannelHandlerContext.java:416) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelWritabilityChanged(AbstractChannelHandlerContext.java:409) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelInboundHandlerAdapter.channelWritabilityChanged(ChannelInboundHandlerAdapter.java:119) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelWritabilityChanged(AbstractChannelHandlerContext.java:434) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelWritabilityChanged(AbstractChannelHandlerContext.java:416) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelWritabilityChanged(AbstractChannelHandlerContext.java:409) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelInboundHandlerAdapter.channelWritabilityChanged(ChannelInboundHandlerAdapter.java:119) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelWritabilityChanged(AbstractChannelHandlerContext.java:434) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelWritabilityChanged(AbstractChannelHandlerContext.java:416) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelWritabilityChanged(AbstractChannelHandlerContext.java:409) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelInboundHandlerAdapter.channelWritabilityChanged(ChannelInboundHandlerAdapter.java:119) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelWritabilityChanged(AbstractChannelHandlerContext.java:434) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelWritabilityChanged(AbstractChannelHandlerContext.java:416) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelWritabilityChanged(AbstractChannelHandlerContext.java:409) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelInboundHandlerAdapter.channelWritabilityChanged(ChannelInboundHandlerAdapter.java:119) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelWritabilityChanged(AbstractChannelHandlerContext.java:434) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelWritabilityChanged(AbstractChannelHandlerContext.java:416) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelWritabilityChanged(AbstractChannelHandlerContext.java:409) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelInboundHandlerAdapter.channelWritabilityChanged(ChannelInboundHandlerAdapter.java:119) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelWritabilityChanged(AbstractChannelHandlerContext.java:434) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelWritabilityChanged(AbstractChannelHandlerContext.java:416) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelWritabilityChanged(AbstractChannelHandlerContext.java:409) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelInboundHandlerAdapter.channelWritabilityChanged(ChannelInboundHandlerAdapter.java:119) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelWritabilityChanged(AbstractChannelHandlerContext.java:434) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelWritabilityChanged(AbstractChannelHandlerContext.java:416) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelWritabilityChanged(AbstractChannelHandlerContext.java:409) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelInboundHandlerAdapter.channelWritabilityChanged(ChannelInboundHandlerAdapter.java:119) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelWritabilityChanged(AbstractChannelHandlerContext.java:434) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelWritabilityChanged(AbstractChannelHandlerContext.java:416) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelWritabilityChanged(AbstractChannelHandlerContext.java:409) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelWritabilityChanged(DefaultChannelPipeline.java:1457) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelWritabilityChanged(AbstractChannelHandlerContext.java:434) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelWritabilityChanged(AbstractChannelHandlerContext.java:416) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.DefaultChannelPipeline.fireChannelWritabilityChanged(DefaultChannelPipeline.java:977) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelOutboundBuffer.fireChannelWritabilityChanged(ChannelOutboundBuffer.java:607) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelOutboundBuffer.setWritable(ChannelOutboundBuffer.java:573) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelOutboundBuffer.decrementPendingOutboundBytes(ChannelOutboundBuffer.java:194) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelOutboundBuffer.remove(ChannelOutboundBuffer.java:259) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelOutboundBuffer.removeBytes(ChannelOutboundBuffer.java:338) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.epoll.AbstractEpollStreamChannel.writeBytesMultiple(AbstractEpollStreamChannel.java:319) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.epoll.AbstractEpollStreamChannel.doWriteMultiple(AbstractEpollStreamChannel.java:522) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.epoll.AbstractEpollStreamChannel.doWrite(AbstractEpollStreamChannel.java:434) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannel$AbstractUnsafe.flush0(AbstractChannel.java:934) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.epollOutReady(AbstractEpollChannel.java:525) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:423) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:330) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:897) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at java.lang.Thread.run(Thread.java:745) [?:1.8.0_111]
```

```java
2018-11-12 15:48:40,119 54359 [HttpsWorkerThread-4] ReferenceCountUtil WARN : Failed to release a message: UnpooledSlicedByteBuf(freed)
 io.netty.util.IllegalReferenceCountException: refCnt: 0, decrement: 1
	at io.netty.buffer.AbstractReferenceCountedByteBuf.release0(AbstractReferenceCountedByteBuf.java:124) ~[netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.buffer.AbstractReferenceCountedByteBuf.release(AbstractReferenceCountedByteBuf.java:107) ~[netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.buffer.CompositeByteBuf$Component.freeIfNecessary(CompositeByteBuf.java:1818) ~[netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.buffer.CompositeByteBuf.deallocate(CompositeByteBuf.java:2124) ~[netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.buffer.AbstractReferenceCountedByteBuf.release0(AbstractReferenceCountedByteBuf.java:118) ~[netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.buffer.AbstractReferenceCountedByteBuf.release(AbstractReferenceCountedByteBuf.java:107) ~[netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.buffer.AbstractDerivedByteBuf.release0(AbstractDerivedByteBuf.java:89) ~[netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.buffer.AbstractDerivedByteBuf.release(AbstractDerivedByteBuf.java:85) ~[netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.util.ReferenceCountUtil.release(ReferenceCountUtil.java:88) ~[netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.util.ReferenceCountUtil.safeRelease(ReferenceCountUtil.java:113) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractCoalescingBufferQueue.releaseAndCompleteAll(AbstractCoalescingBufferQueue.java:338) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractCoalescingBufferQueue.releaseAndFailAll(AbstractCoalescingBufferQueue.java:207) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.handler.ssl.SslHandler.releaseAndFailAll(SslHandler.java:1586) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.handler.ssl.SslHandler.setHandshakeFailure(SslHandler.java:1580) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.handler.ssl.SslHandler.setHandshakeFailure(SslHandler.java:1545) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.handler.ssl.SslHandler.flush(SslHandler.java:776) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:768) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:749) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.handler.codec.http2.Http2ConnectionHandler.flush(Http2ConnectionHandler.java:201) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.handler.codec.http2.Http2ConnectionHandler.channelWritabilityChanged(Http2ConnectionHandler.java:440) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelWritabilityChanged(AbstractChannelHandlerContext.java:434) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelWritabilityChanged(AbstractChannelHandlerContext.java:416) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelWritabilityChanged(AbstractChannelHandlerContext.java:409) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelInboundHandlerAdapter.channelWritabilityChanged(ChannelInboundHandlerAdapter.java:119) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelWritabilityChanged(AbstractChannelHandlerContext.java:434) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelWritabilityChanged(AbstractChannelHandlerContext.java:416) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelWritabilityChanged(AbstractChannelHandlerContext.java:409) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelInboundHandlerAdapter.channelWritabilityChanged(ChannelInboundHandlerAdapter.java:119) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelWritabilityChanged(AbstractChannelHandlerContext.java:434) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelWritabilityChanged(AbstractChannelHandlerContext.java:416) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelWritabilityChanged(AbstractChannelHandlerContext.java:409) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelInboundHandlerAdapter.channelWritabilityChanged(ChannelInboundHandlerAdapter.java:119) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelWritabilityChanged(AbstractChannelHandlerContext.java:434) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelWritabilityChanged(AbstractChannelHandlerContext.java:416) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelWritabilityChanged(AbstractChannelHandlerContext.java:409) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelInboundHandlerAdapter.channelWritabilityChanged(ChannelInboundHandlerAdapter.java:119) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelWritabilityChanged(AbstractChannelHandlerContext.java:434) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelWritabilityChanged(AbstractChannelHandlerContext.java:416) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelWritabilityChanged(AbstractChannelHandlerContext.java:409) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelInboundHandlerAdapter.channelWritabilityChanged(ChannelInboundHandlerAdapter.java:119) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelWritabilityChanged(AbstractChannelHandlerContext.java:434) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelWritabilityChanged(AbstractChannelHandlerContext.java:416) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelWritabilityChanged(AbstractChannelHandlerContext.java:409) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelInboundHandlerAdapter.channelWritabilityChanged(ChannelInboundHandlerAdapter.java:119) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelWritabilityChanged(AbstractChannelHandlerContext.java:434) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelWritabilityChanged(AbstractChannelHandlerContext.java:416) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelWritabilityChanged(AbstractChannelHandlerContext.java:409) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelInboundHandlerAdapter.channelWritabilityChanged(ChannelInboundHandlerAdapter.java:119) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelWritabilityChanged(AbstractChannelHandlerContext.java:434) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelWritabilityChanged(AbstractChannelHandlerContext.java:416) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelWritabilityChanged(AbstractChannelHandlerContext.java:409) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelWritabilityChanged(DefaultChannelPipeline.java:1457) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelWritabilityChanged(AbstractChannelHandlerContext.java:434) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelWritabilityChanged(AbstractChannelHandlerContext.java:416) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.DefaultChannelPipeline.fireChannelWritabilityChanged(DefaultChannelPipeline.java:977) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelOutboundBuffer.fireChannelWritabilityChanged(ChannelOutboundBuffer.java:607) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelOutboundBuffer.setWritable(ChannelOutboundBuffer.java:573) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelOutboundBuffer.decrementPendingOutboundBytes(ChannelOutboundBuffer.java:194) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelOutboundBuffer.remove(ChannelOutboundBuffer.java:259) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelOutboundBuffer.removeBytes(ChannelOutboundBuffer.java:338) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.epoll.AbstractEpollStreamChannel.writeBytesMultiple(AbstractEpollStreamChannel.java:319) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.epoll.AbstractEpollStreamChannel.doWriteMultiple(AbstractEpollStreamChannel.java:522) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.epoll.AbstractEpollStreamChannel.doWrite(AbstractEpollStreamChannel.java:434) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannel$AbstractUnsafe.flush0(AbstractChannel.java:934) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.flush0(AbstractEpollChannel.java:512) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannel$AbstractUnsafe.flush(AbstractChannel.java:901) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.DefaultChannelPipeline$HeadContext.flush(DefaultChannelPipeline.java:1396) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:768) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:749) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelDuplexHandler.flush(ChannelDuplexHandler.java:117) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:768) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:749) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelDuplexHandler.flush(ChannelDuplexHandler.java:117) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:768) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:749) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.handler.ssl.SslHandler.forceFlush(SslHandler.java:1808) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.handler.ssl.SslHandler.wrapAndFlush(SslHandler.java:797) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.handler.ssl.SslHandler.flush(SslHandler.java:774) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:768) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:749) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.handler.codec.http2.Http2ConnectionHandler.flush(Http2ConnectionHandler.java:201) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:768) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:749) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelDuplexHandler.flush(ChannelDuplexHandler.java:117) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:768) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:749) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.DefaultChannelPipeline.flush(DefaultChannelPipeline.java:1013) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannel.flush(AbstractChannel.java:248) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at com.squarespace.echo.http2.streams.HttpToHttp2Handler.flush(HttpToHttp2Handler.java:92) [echo-http-2.37-20181112-rkapsi_netty-4.1.31-tcn-2.0.19-tls-1.3-30.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:768) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:749) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelDuplexHandler.flush(ChannelDuplexHandler.java:117) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:768) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:749) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelDuplexHandler.flush(ChannelDuplexHandler.java:117) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:768) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:749) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelDuplexHandler.flush(ChannelDuplexHandler.java:117) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:768) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:749) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelOutboundHandlerAdapter.flush(ChannelOutboundHandlerAdapter.java:115) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:768) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:749) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelOutboundHandlerAdapter.flush(ChannelOutboundHandlerAdapter.java:115) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:768) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:749) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at com.squarespace.echo.core.handler.scope.ScopeHandler.flush(ScopeHandler.java:321) [echo-core-2.37-20181112-rkapsi_netty-4.1.31-tcn-2.0.19-tls-1.3-30.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:768) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:749) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelOutboundHandlerAdapter.flush(ChannelOutboundHandlerAdapter.java:115) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:768) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:749) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelOutboundHandlerAdapter.flush(ChannelOutboundHandlerAdapter.java:115) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:768) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:749) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelDuplexHandler.flush(ChannelDuplexHandler.java:117) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:768) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:749) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at com.squarespace.echo.core.handler.scope.ScopeHandler.flush(ScopeHandler.java:321) [echo-core-2.37-20181112-rkapsi_netty-4.1.31-tcn-2.0.19-tls-1.3-30.jar:?]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:768) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:749) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelDuplexHandler.flush(ChannelDuplexHandler.java:117) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:768) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:749) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelDuplexHandler.flush(ChannelDuplexHandler.java:117) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:768) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:749) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelDuplexHandler.flush(ChannelDuplexHandler.java:117) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:768) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:749) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelOutboundHandlerAdapter.flush(ChannelOutboundHandlerAdapter.java:115) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:768) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:749) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelOutboundHandlerAdapter.flush(ChannelOutboundHandlerAdapter.java:115) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:768) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:749) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelDuplexHandler.flush(ChannelDuplexHandler.java:117) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:768) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:749) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelDuplexHandler.flush(ChannelDuplexHandler.java:117) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:768) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:749) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelDuplexHandler.flush(ChannelDuplexHandler.java:117) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:768) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:749) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelDuplexHandler.flush(ChannelDuplexHandler.java:117) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:768) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:749) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelDuplexHandler.flush(ChannelDuplexHandler.java:117) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:768) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:749) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelDuplexHandler.flush(ChannelDuplexHandler.java:117) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:768) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:749) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelDuplexHandler.flush(ChannelDuplexHandler.java:117) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:768) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:749) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelOutboundHandlerAdapter.flush(ChannelOutboundHandlerAdapter.java:115) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:768) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:749) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelDuplexHandler.flush(ChannelDuplexHandler.java:117) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:768) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:749) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelOutboundHandlerAdapter.flush(ChannelOutboundHandlerAdapter.java:115) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:768) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:749) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelDuplexHandler.flush(ChannelDuplexHandler.java:117) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:768) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:749) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelDuplexHandler.flush(ChannelDuplexHandler.java:117) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:768) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:749) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelDuplexHandler.flush(ChannelDuplexHandler.java:117) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:768) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:749) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelDuplexHandler.flush(ChannelDuplexHandler.java:117) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:768) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:749) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelDuplexHandler.flush(ChannelDuplexHandler.java:117) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:768) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:749) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.ChannelDuplexHandler.flush(ChannelDuplexHandler.java:117) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:776) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:768) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext.access$1500(AbstractChannelHandlerContext.java:38) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.AbstractChannelHandlerContext$16.run(AbstractChannelHandlerContext.java:756) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:335) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:897) [netty-all-4.1.32.Final-SQSP-20181112-1.jar:4.1.32.Final-SNAPSHOT]
	at java.lang.Thread.run(Thread.java:745) [?:1.8.0_111]
```

... and many many more.

### Expected behavior

### Actual behavior

### Steps to reproduce

### Minimal yet complete reproducer code (or URL to code)

### Netty version

### JVM version (e.g. `java -version`)

### OS version (e.g. `uname -a`)


Issue comments:
@rkapsi so just to clarify... this only happens with 4.1.32.Final-SNAPSHOT correct ?
Correct, but I built the JAR myself instead of pulling it from maven central.
@rkapsi I wonder what happens if you revert: 6563f23a9b72e0efa3b3ededd3bc2ee9911f7402 ?
If this does not help my guess would be 44cca1a26f5c395420111fafa122bed5aeecfeb7 . Could you try both ?
It's not 6563f23, trying the other change now.
And it's also not 44cca1a. To summarize, reverting 6563f23 has no effect (error is present) and 44cca1a is good (no error, I had trouble reverting it and built from that commit instead).

... going to bisect.


My bet is on this one now https://github.com/netty/netty/commit/10539f4dc738c48e8d63c46b72ca32906d7f40ec
Thanks and let me know once you find anything

> Am 12.11.2018 um 18:33 schrieb Roger <notifications@github.com>:
> 
> And it's also not 44cca1a. To summarize, reverting 6563f23 has no effect (error is present) and 44cca1a is good (no error).
> 
> ... going to bisect that range.
> 
> —
> You are receiving this because you commented.
> Reply to this email directly, view it on GitHub, or mute the thread.

There's also https://github.com/netty/netty/commit/28f9136824499d7bca318f4496339d82fb42c46a
Bisect says...

```bash
10539f4dc738c48e8d63c46b72ca32906d7f40ec is the first bad commit
commit 10539f4dc738c48e8d63c46b72ca32906d7f40ec
Author: Nick Hill <nickhill@us.ibm.com>
Date:   Sat Nov 3 02:37:07 2018 -0700

    Streamline CompositeByteBuf internals (#8437)
    
    Motivation:
    
    CompositeByteBuf is a powerful and versatile abstraction, allowing for
    manipulation of large data without copying bytes. There is still a
    non-negligible cost to reading/writing however relative to "singular"
    ByteBufs, and this can be mostly eliminated with some rework of the
    internals.
    
    My use case is message modification/transformation while zero-copy
    proxying. For example replacing a string within a large message with one
    of a different length
    
    Modifications:
    
    - No longer slice added buffers and unwrap added slices
       - Components store target buf offset relative to position in
    composite buf
       - Less allocations, object footprint, pointer indirection, offset
    arithmetic
    - Use Component[] rather than ArrayList<Component>
       - Avoid pointer indirection and duplicate bounds check, more
    efficient backing array growth
       - Facilitates optimization when doing bulk-inserts - inserting n
    ByteBufs behind m is now O(m + n) instead of O(mn)
    - Avoid unnecessary casting and method call indirection via superclass
    - Eliminate some duplicate range/ref checks via non-checking versions of
    toComponentIndex and findComponent
    - Add simple fast-path for toComponentIndex(0); add racy cache of
    last-accessed Component to findComponent(int)
    - Override forEachByte0(...) and forEachByteDesc0(...) methods
    - Make use of RecyclableArrayList in nioBuffers(int, int) (in line with
    FasterCompositeByteBuf impl)
    - Modify addComponents0(boolean,int,Iterable) to use the Iterable
    directly rather than copy to an array first (and possibly to an
    ArrayList before that)
    - Optimize addComponents0(boolean,int,ByteBuf[],int) to not perform
    repeated array insertions and avoid second loop for offset updates
    - Simplify other logic in various places, in particular the general
    pattern used where a sub-range is iterated over
    - Add benchmarks to demonstrate some improvements
    
    While refactoring I also came across a couple of clear bugs. They are
    fixed in these changes but I will open another PR with unit tests and
    fixes to the current version.
    
    Result:
    
    Much faster creation, manipulation, and access; many fewer allocations
    and smaller footprint. Benchmark results to follow.

:040000 040000 1cb457424e3c5b6355c17161e9db1b98f38a524b bd4544c4c9901e5b2842afb0312606efa1c90dcb M	buffer
:040000 040000 a82ea3094430c7080504cfb9a14edc93b9582615 85096540606c3ba74f60d9c25a5fd01f9ce908f4 M	microbench
```
@rkapsi thanks will check... @njhill FYI
Thanks @rkapsi @normanmaurer ... I'm looking now too, and apologies in advance for the likely introduced bug!
Current hypothesis is that the problem is with the unwrapping optimization done specifically in the `PooledSlicedByteBuf` case. I think there may be ref-counting behaviour not properly preserved. I will try to do simple repro based on this and if it _is_ the problem then an easy worst-case fix is just to remove this `else if` block: https://github.com/netty/netty/blob/88e4817cefb4b4d092e4f6a12f0599c54646db18/buffer/src/main/java/io/netty/buffer/CompositeByteBuf.java#L319-L323
@normanmaurer @rkapsi PTAL at #8497
Thanks a lot!

Pull request review comments:
I think this would be easier to read like this:

```
ByteBuf buffer = s == null ? buf : s;
buffer.release();
```
Can you add a comment that using the PooledByteBufAllocator is important here ?
same as above
just use `composite.release()`
just use `buffer.release()`
@normanmaurer Actually I don't think this one would make a difference since it's only used if/when the composite buffer gets expanded right?
@njhill ah yeah true... then fix it please to use Unpooled. 
@njhill I am confused... why did you need to to have `s` and `toRelease` here ? Which not just do what I suggested ? 

Which would be:

```
ByteBuf buffer = slice == null ? buf : slice;
buffer.release();
```
@normanmaurer oh, sorry... I misinterpreted your original suggestion since it used `s`. Maybe I am being overly cautious, but just based on the fact that `slice` gets nulled after the component is released I thought it would be safer to do the check on a local var (I ack that it probably is only possible to hit an NPE problem if there is another bug or incorrect use though).

Happy to change it to use `slice` directly if you think that's fine...
yeah I think I would go for the easier code or would at least not write it so compact to make it easier to understand 
done - changed to use if/else, hopefully this is the most readable of all :)

Patch that resolved the issue:
diff --git a/buffer/src/main/java/io/netty/buffer/CompositeByteBuf.java b/buffer/src/main/java/io/netty/buffer/CompositeByteBuf.java
index 77ba13fcaec..c9212d5c6e7 100644
--- a/buffer/src/main/java/io/netty/buffer/CompositeByteBuf.java
+++ b/buffer/src/main/java/io/netty/buffer/CompositeByteBuf.java
@@ -513,11 +513,11 @@ private void updateComponentOffsets(int cIndex) {
     public CompositeByteBuf removeComponent(int cIndex) {
         checkComponentIndex(cIndex);
         Component comp = components[cIndex];
-        removeComp(cIndex);
         if (lastAccessed == comp) {
             lastAccessed = null;
         }
         comp.freeIfNecessary();
+        removeComp(cIndex);
         if (comp.length() > 0) {
             // Only need to call updateComponentOffsets if the length was > 0
             updateComponentOffsets(cIndex);
@@ -1815,7 +1815,15 @@ ByteBuf duplicate() {
         }
 
         void freeIfNecessary() {
-            buf.release(); // We should not get a NPE here. If so, it must be a bug.
+            // Release the slice if present since it may have a different
+            // refcount to the unwrapped buf if it is a PooledSlicedByteBuf
+            ByteBuf buffer = slice;
+            if (buffer != null) {
+                buffer.release();
+            } else {
+                buf.release();
+            }
+            // null out in either case since it could be racy
             slice = null;
         }
     }
@@ -2181,7 +2189,6 @@ private void removeCompRange(int from, int to) {
         }
         int newSize = size - to + from;
         for (int i = newSize; i < size; i++) {
-            components[i].slice = null;
             components[i] = null;
         }
         componentCount = newSize;


Test patch:
diff --git a/buffer/src/test/java/io/netty/buffer/AbstractCompositeByteBufTest.java b/buffer/src/test/java/io/netty/buffer/AbstractCompositeByteBufTest.java
index 363b25d8c74..8e0f148cdf0 100644
--- a/buffer/src/test/java/io/netty/buffer/AbstractCompositeByteBufTest.java
+++ b/buffer/src/test/java/io/netty/buffer/AbstractCompositeByteBufTest.java
@@ -1144,6 +1144,40 @@ public void testReleasesItsComponents() {
         assertEquals(0, buffer.refCnt());
     }
 
+    @Test
+    public void testReleasesItsComponents2() {
+        // It is important to use a pooled allocator here to ensure
+        // the slices returned by readRetainedSlice are of type
+        // PooledSlicedByteBuf, which maintains an independent refcount
+        // (so that we can be sure to cover this case)
+        ByteBuf buffer = PooledByteBufAllocator.DEFAULT.buffer(); // 1
+
+        buffer.writeBytes(new byte[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10});
+
+        // use readRetainedSlice this time - produces different kind of slices
+        ByteBuf s1 = buffer.readRetainedSlice(2); // 2
+        ByteBuf s2 = s1.readRetainedSlice(2); // 3
+        ByteBuf s3 = s2.readRetainedSlice(2); // 4
+        ByteBuf s4 = s3.readRetainedSlice(2); // 5
+
+        ByteBuf composite = Unpooled.compositeBuffer()
+            .addComponent(s1)
+            .addComponents(s2, s3, s4)
+            .order(ByteOrder.LITTLE_ENDIAN);
+
+        assertEquals(1, composite.refCnt());
+        assertEquals(2, buffer.refCnt());
+
+        // releasing composite should release the 4 components
+        composite.release();
+        assertEquals(0, composite.refCnt());
+        assertEquals(1, buffer.refCnt());
+
+        // last remaining ref to buffer
+        buffer.release();
+        assertEquals(0, buffer.refCnt());
+    }
+
     @Test
     public void testReleasesOnShrink() {