--- ../src-base/minecraft/cpw/mods/fml/common/network/internal/HandshakeCompletionHandler.java +++ ../src-work/minecraft/cpw/mods/fml/common/network/internal/HandshakeCompletionHandler.java @@ -13,8 +13,14 @@ @Override protected void channelRead0(ChannelHandlerContext ctx, CompleteHandshake msg) throws Exception { - NetworkDispatcher dispatcher = ctx.channel().attr(NetworkDispatcher.FML_DISPATCHER).getAndRemove(); - dispatcher.completeHandshake(msg.target); + // Cauldron start - attempt to fix race condition with attr being null + io.netty.util.Attribute attr = ctx.channel().attr(NetworkDispatcher.FML_DISPATCHER); + if (attr != null) + { + NetworkDispatcher dispatcher = attr.getAndRemove(); + if (dispatcher != null) dispatcher.completeHandshake(msg.target); + } + // Cauldron end } @Override