Where ch is a Channel, the construct: ChannelFuture cf = ch.closeFuture().sync(); can fail to return, causing the calling thread to hang indefinitely.