Mozilla Firefox 3 rc1の独自ビルドが右クリック後のページ移動などで落ちる件のその後
Beta 5のときのビルド設定(.mozconfig)をrc1でも使用したのだが、ページ内で右クリックを行ったときに限り、その後のページ移動などのときに確実に落ちていた。そこで、今回、その設定の中でどれが問題だったのかを確かめてみた。
試しに幾つかのオプション指定を外してみてビルドしたところ、この現象が起こらなくなることがあったため、そのときの「OK」な設定をコピーしておいて、その後元の設定に近付けるように少しずつオプションを戻してからビルド・動作確認を行い、不具合が出るかを確認していった(出なければその設定を「OK」な設定としてコピーして、次の修正を行い、ビルド・動作確認...と進める)。これで、どのオプションが原因かが特定できることになる。
この繰り返しの作業の末に、「このオプションが付かなければ不具合は出ず、付けたときに確実に出る」というオプションを突き止めることができた。それは--enable-plaintext-editor-onlyだった。
Beta 5では問題なかったのになぜこうなったのかは不明だが、とりあえずこの問題を回避するための設定を貼り付けておく。
ファイル名: mozilla/.mozconfig
CC="ccache gcc" CXX="ccache g++" ac_add_options --enable-application=browser ac_add_options --enable-extensions=default,-gnomevfs ac_add_options --enable-image-decorders=png,gif,jpeg ac_add_options --enable-install-strip ac_add_options --enable-necko-protocols='about data file ftp http res viewsource' ac_add_options --enable-optimize='-Os -march=[CPUに対応した文字列] -pipe' #ac_add_options --enable-plaintext-editor-only # 一時的に外す ac_add_options --enable-static ac_add_options --enable-strip ac_add_options --enable-system-lcms ac_add_options --enable-system-sqlite ac_add_options --disable-accessibility ac_add_options --disable-composer ac_add_options --disable-crashreporter ac_add_options --disable-debug ac_add_options --disable-debug-modules ac_add_options --disable-gnomeui ac_add_options --disable-gnomevfs ac_add_options --disable-jsd ac_add_options --disable-logging ac_add_options --disable-logrefcnt ac_add_options --disable-installer ac_add_options --disable-ldap ac_add_options --disable-libxul ac_add_options --disable-mailnews ac_add_options --disable-mathml ac_add_options --disable-mochitest ac_add_options --disable-necko-disk-cache ac_add_options --disable-official-branding ac_add_options --disable-profilesharing ac_add_options --disable-svg ac_add_options --disable-tests ac_add_options --disable-updater ac_add_options --disable-webservices ac_add_options --with-system-bz2 ac_add_options --with-system-jpeg ac_add_options --with-system-zlib
ccacheも怪しいとは思ったのだが、今回は関係なかったようだ。