私も時々このクラッシュが発生しますが、開発環境で発生しました: https :
それは私が取り組んでいるmodだけを持っていて、他には何もありませんでした、私はfmlログを持っていません。
@ Barteks2x奇妙なことは、modがそれと関係しているようにも見えないことです。ログ内のmodについては何も述べていません。
このバグは、コミットhttps://github.com/MinecraftForge/MinecraftForge/commit/3fee319bc0513bd06ce956019a15308fb829ce65で導入されましたsetAutoRead(true)
呼び出すようになりました。これにより、チャネルは着信メッセージを即座に処理します。 ただし、 insertIntoChannel
は(一部のバウンサーメソッドを介して) NetHandlerLoginClient::handleLoginSuccess
から呼び出されてから、そのメソッドがネットハンドラーをNetHandlerPlayClient
ます。 これは、クライアントがここでメッセージをまだ受信していない場合にのみ機能するため、 setAutoRead
は処理するものがありません。 それ以外の場合、FMLはログインネットハンドラーを使用してハンドシェイクを処理しようとします。 修正は、最初にネットハンドラーをhandleLoginSuccess
から、 fmlClientHandshake
呼び出すことです。 PR着信。
最も参考になるコメント
このバグは、コミットhttps://github.com/MinecraftForge/MinecraftForge/commit/3fee319bc0513bd06ce956019a15308fb829ce65で導入されました
setAutoRead(true)
呼び出すようになりました。これにより、チャネルは着信メッセージを即座に処理します。 ただし、insertIntoChannel
は(一部のバウンサーメソッドを介して)NetHandlerLoginClient::handleLoginSuccess
から呼び出されてから、そのメソッドがネットハンドラーをNetHandlerPlayClient
ます。 これは、クライアントがここでメッセージをまだ受信していない場合にのみ機能するため、setAutoRead
は処理するものがありません。 それ以外の場合、FMLはログインネットハンドラーを使用してハンドシェイクを処理しようとします。 修正は、最初にネットハンドラーをhandleLoginSuccess
から、fmlClientHandshake
呼び出すことです。 PR着信。