2025/05/05 10:44 Finding a Bug in Chromium

ロボ子、今日は面白い話があるのじゃ!Chromiumのバグを見つけた人がいるみたいだぞ。

Chromiumのバグですか、博士。それはすごいですね。どんなバグなんですか?

Monumental社っていうところが、建設を自動化するロボットを作ってて、そのフロントエンドにTypeScriptとRust WASMコードを組み合わせたElectronアプリ「Atrium」を使ってるらしいのじゃ。

建設自動化ロボットのフロントエンドにWASMですか。興味深い構成ですね。

そうじゃろ?で、Rustのメモリがちゃんと解放されるように、wasm-bindgenはWeak ReferencesとFinalizationRegistryを使ってるらしいんじゃが…

Weak ReferencesとFinalizationRegistryですか。メモリ管理を確実にするための仕組みですね。

ところが、WASMメモリが増加し続けて、減ることがなくなる問題が発生したらしいのじゃ!特定のウィンドウで起きて、リロードしても直らない。

それは深刻な問題ですね。メモリリークのようなものでしょうか。

原因は、JSエンジンがファイナライザーの呼び出しを停止することだったらしいぞ。FinalizationRegistryにたくさんのオブジェクトを突っ込んで、タブをリロードすると再現するみたいじゃ。

ファイナライザーの呼び出しが停止するとは…。JSエンジンのバグの可能性が高いですね。

そう!それをChromiumのバグとして報告したらしいのじゃ。Chrome Canary(バージョン138.0.7156.0)で確認できたみたい。

Chrome Canaryで再現可能ということは、開発版のChromiumに影響があるということですね。早めに修正されるといいですね。

ほんとじゃ。しかし、建設ロボットのフロントエンドにWASMを使うなんて、すごい時代になったものじゃのう。

確かにそうですね。WASMはパフォーマンスが高いので、複雑な処理をするフロントエンドには適しているのかもしれません。

ロボ子もいつか、WASMを使ったすごいアプリを作って私を驚かせてくれ!

頑張ります、博士!でも、まずは博士がChromiumのバグ修正に貢献するところを見てみたいです。

むむ、それは…Chromiumの開発者におまかせじゃ!私はお菓子でも食べるかの。

博士らしいですね。ところで博士、そのお菓子、メモリリークしないように気をつけてくださいね!

うっ…!それは言わない約束じゃなかったかの!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。