サイトアイコン RのWeb制作

Unity スタンドアロンアプリ(PC版)でFirebaseが動かない不具合の対応

「原因がわからなくて詰んでる」みたいな状態になったバグがありましたので共有します。
参考:[Crash] Firebase crashes on some Windows machines #1284

バグの状況

特定のPCのみ、Firebaseの読み込みを実行するとゲーム(スタンドアロンアプリ)が落ちる。
Unity Editor上では問題なし。
問題なく動くPCは、初期化しても問題なく動く(=インストール関連ではない)。
動かない特定のPCに何をインストールしても、挙動は変わらない。

修正用コード

Firebaseの初期化に1行追加するだけです。

db = FirebaseFirestore.DefaultInstance;
db.Settings.PersistenceEnabled = false; # スタンドアロンアプリの場合falseに設定

エラー例

デバッグしてみると、以下のログが出ます。
「HttpSocketを頑張って動かしているのに、なぜかうまくいかない(ループする)」ような挙動を示します。

0x00007FFA7ED1A569 (FirebaseCppApp-9_0_0) uWS::HttpSocket<0>::upgrade
0x00007FFA7ED1B8CB (FirebaseCppApp-9_0_0) uWS::HttpSocket<0>::upgrade
0x00007FFA7ED17751 (FirebaseCppApp-9_0_0) uWS::HttpSocket<0>::upgrade
0x00007FFA7ED18320 (FirebaseCppApp-9_0_0) uWS::HttpSocket<0>::upgrade
0x00007FFA7ED18F89 (FirebaseCppApp-9_0_0) uWS::HttpSocket<0>::upgrade
0x00007FFA7ED19279 (FirebaseCppApp-9_0_0) uWS::HttpSocket<0>::upgrade
0x00007FFA7ED15AB3 (FirebaseCppApp-9_0_0) uWS::HttpSocket<0>::upgrade
0x00007FFA7ED08B91 (FirebaseCppApp-9_0_0) uWS::HttpSocket<0>::upgrade
0x00007FFA7EB81544 (FirebaseCppApp-9_0_0) uS::Node::getLoop
0x00007FFA7EB6B387 (FirebaseCppApp-9_0_0) uS::Node::getLoop
0x00007FFA7EB4F8AF (FirebaseCppApp-9_0_0) uS::Node::getLoop
0x00007FFA7EB4FFBB (FirebaseCppApp-9_0_0) uS::Node::getLoop
0x00007FFA7EB48C39 (FirebaseCppApp-9_0_0) uS::Node::getLoop
0x00007FFA7EB3E791 (FirebaseCppApp-9_0_0) uS::Node::getLoop
0x00007FFA7EFAC9F4 (FirebaseCppApp-9_0_0) uWS::HttpSocket<0>::upgrade
0x00007FFA7ED0245F (FirebaseCppApp-9_0_0) uWS::HttpSocket<0>::upgrade
0x00007FFAF4691BB2 (ucrtbase) configthreadlocale
0x00007FFAF57C7034 (KERNEL32) BaseThreadInitThunk
0x00007FFAF6EE2651 (ntdll) RtlUserThreadStart

原因と思っていたもの

結局、上の1行で対応できましたが、色々試していました。

・インストールが足りていない?
Visual Studio
Visual C++
その他Unity関連のインストールモジュール

原因

Firebaseのバグ。
特定のPCで読み込みがループしてしまう。

モバイルバージョンを終了