Mozilla Flux

Mozilla関係の情報に特化したブログです。

Firefoxのクラッシュを減らす車の両輪とは

まずはCrashKill - MozillaWikiのページを見てほしい。Mozillaはクラッシュを引き起こすバグに対して、手を拱いているわけでもなければ、場当たり的に修正を繰り返しているのでもない。最も頻繁に起こっているクラッシュの原因を探り、担当者を決め、優先順位を付けて解決に当たっているのだ。

クラッシュバグの対策ミーティングも9月末から毎週開かれている。その要旨は当然公開されていて、誰でも閲覧可能だ。優先順位はどのようになっているか、該当バグは何か、担当者は誰か、進捗状況は。そうした情報が一目瞭然なのである。

Mozillaの努力は現に実を結んでいる。たとえば、Shawn Wilsher氏が『Crash! Boom! Bang! But I just wanted to delete some history…』で書いているように、履歴の大きなまとまりを削除しようとするとクラッシュするバグ(Bug 523405)は、Mozilla外部のSQLite開発チームが対処し、Firefoxがこれを取り込む形で解消された(”Bug 525539 – Upgrade to SQLite 3.6.16.1”)。Firefox 3.6 Beta revision 2や、Firefox 3.5.6に反映される。

こうした地道な活動の積み重ねが、安定したWebブラウジング環境の確立につながることはいうまでもない。目立ちはしないが、重要な取り組みだ。

他方で、より根本的に、部分のバグが全体のクラッシュにつながらないようなアーキテクチャの導入が準備されている点も忘れることはできない。Electrolysisプロジェクトがそれで、Firefox 3.7では、プラグインのプロセスが本体から分離される予定だ。これによって、プラグインの動作不良に巻き込まれて本体がクラッシュするケースはほぼなくなるだろう。

Plugin Checker公開時の説明によると、Firefoxのクラッシュの最低でも30%は、サードパーティー製プラグインによって引き起こされているという。プラグインのプロセスを分離することで、Firefoxのクラッシュが3割も減ることになり、相当に大きい。

クラッシュの原因を丹念に一つひとつ潰していく活動と、そもそもクラッシュを起こりにくくするアーキテクチャの改良。Firefoxの安定性を高めるためには、どちらも不可欠な要素といえよう。