Blazor Wasmが動かなくて焦った話。
端緒
ある日の出来事であった。3月の下旬、暖かな陽気の中の昼下がり。ある男は就活に向け、ポートフォリオを開発していた。サマーインターンに間に合えばいいな~などと、ゆったり開発している彼に晴天の霹靂。
「う、動かん。なぜだ!!」
そう昨日まで動いていたアプリが、突然動かなくなっていたのだ!
2023/03/16 事件発生
まあ、その男が私なのですが。本当にびっくりしました。急に動かなくなったので。
開発していたのは、.NETのBlazor WebAssembly(以下 Blazor Wasm)というフレームワークを利用したWebアプリでした。事件発生の当日。突如以下のような症状に見舞われました。
Blazor Wasmのデバッグができない…!
開発した部分の動作を確認しようと思い、Visual Studio2022からデバッガ実行をしようとすると
Buildが実行される
Buildが完了し、ローカルホストが立ち上がる
Chromeが立ち上り、読み込みを始める
読み込み始めてすぐに、Chromeごと落ちる
となってしまったのです。しかもVisual Studio側の出力にはエラーは全くなく、手掛かりが0。途方にくれます。
「俺、なんかしちゃいました?」
真っ先に思いついたのが、「私が実装のなかでなんかやらかしたのか?」ということ。とりあえずGitの変更内容をStashして再実行….. 再びの沈黙。ノーエラーでのクラッシュで、結果は変わらず。
思い返すとそんなフレームワークの根幹を改変するような、高等なスキルは持ち合わせていないので、私のコード如きでデバッガーが動かなくなるなんてことありえないのでしょうが。このときは正にパニック!!
経緯はともかく、これで私のコードに問題ありの路線は消えたので、問題は思ったより深いという結論に。頭を抱える…
情報収集 ~ネットの海をさまよう~
現代は周知のとおり、たいていのことがインターネットで情報が手に入ります。料理のレシピに、法律、病気、果ては宿題の解き方とか。しかし、Blazor Wasmはそうもいきません。なにせ、日本語の情報が極端に少ない。
はなから日本語での検索は諦め、英語での調査へ。「Blazor Wasm fatal bug」というアホみたいな文字列を検索窓へ。
「お願いだ!オラに情報を分けてくれ~」と思いつつ、検索実行。
見つけたぁぁ!!
ネットの海を彷徨うこと1時間程度。意外と簡単に見つかってくれました。ありがたやー。
事件収束へ
見つけたgithubのissueはなんと、.NETのRuntimeのものでした。この時点で、
「これはめんどくさい匂いしかしないなぁ」
とガックシしたのですが、何はともあれissueを読まなければ始まらない。
ふむふむ、なるほどねぇー…… えっ、Chromiumのバグ!?
人生でこんな日が来ようとは…. どうやらブラウザ側のバグに巻き込まれたみたいです。
Chromiumがダメならやつしかいない。そうFireFoxだ!ということで、デバッグブラウザをFireFoxで実行。
…. 無事起動することを確認!! よかったぁ。一時は全部作り直さないかと思いましたが、何とか丸くおさまりました。ありがとう、Gecko。
結局プログラムなんだよね
私の中で、ブラウザやOSといったソフトウェアはどうしても”完成されたもの”というイメージがあったのですが、今回の一件で認識が変わりました。
結局PCやスマホで動くものは、プログラムで、やっぱりバグはつきものだ。そういうことなんですね。わかっちゃいたけど、改めて身に沁みました。
ちなみに…
Chromiumのバグ自体はすで修正済みみたいです。Chromeもベータ版なら、デバッグが復活しているみたいです。
っとこんな感じで、ブラウザのバグに巻き込まれるという、奇妙奇天烈なお話でした。
この記事が気に入ったらサポートをしてみませんか?