お役に立てるかどうか自信はありませんが、無駄にしてきた時間を無駄にしないために、書き残しておきます。あ、別にもうやめるとかではないんですが、自分でも何やったっけ?って感じなので。

fx_rc1_broken.png

改めてこの症状の概要をご紹介しますが、

  1. →のように、画像が読み込まれなくなってしまう
  2. 同時にCSSの読み込みがされなくなる
  3. 詳細設定画面やアドオン画面など別ウィンドウが開かなくなる
  4. エラーコンソールに「file:///Applications/Firefox.app/Contents/MacOS/components/nsSessionStore.js :: sss_writeFile :: line 2140″  data: no」のようなエラーが出る
  5. フォント表示がおかしくなる
  6. ファイルメニューから終了をしても終了しない

というような感じです。自分の環境はMacBookPro 2.33GHz 3GBメモリ、Leopard(10.5.4)。プロファイルを捨てて機能拡張のない状態で使用していても起こるということ。ただし、Tigerを使っていたころからFirefox2で同様の症状があったこととの関連性は未だ不明。

再現性がないところが大問題で、ある人はYoutubeやニコ動を見続けると出るとか、タブを開きまくると出るとのことですが、自分の場合はimpress watchのどこかをみているときに出ることが多いので、使用している画像・Flashなどが多いページで起こっているというところが共通点なのかもしれません。

問題解決のために試したこと

基本的に自分の環境で一度効いたものについてのみ書きます。

  1. Flash Player Pluginを無効にする
    これについては完璧です。効いていたのに効かなくなったということはありません。ただし、解決方法としては、現代のウェブを利用する上でありえないもの。ただし、Flash Playerが関与しているかも?というヒントになっているところです。
  2. Flash Playerの日本語と英語以外のリソースを捨てる
    これも完全解決ではありませんが、延命できる感じ。2時間ぐらいで死亡していたのが半日ぐらいにはなりました。誰でもできる簡単な方法ではありませんが難しくもないです。
    /Library/Internet Plug-ins/FlashPlayer.pluginのパッケージを開いて、Resourcesの中をFlash Player.rsrc,Japanese.lproj,English.lprojだけにするというだけです。
  3. Flash PlayerをMacOSX標準状態に戻す
    Tigerのインストールをしなおした際に問題が起こらなくなり、Flash Playerのバージョンアップで再発した時に試しました。しかし、Flash Playerのアップデート告知がうるさいことが問題。またLeopard標準のFlash Playerでは問題解決しませんでした。
  4. RAMbackを入れる
    これも比較的効いたものです。ただ、Firefoxのバージョンが変わると効かなくなりました。もともとNightly用なので仕方ないかも。顛末はこちら。翌日には効かなくなったので・・・。

効かないものまで含めると1年以上も、あーでもないこーでもないやってますが、現状の研究結果(大げさ)では、Flash Pluginが何らかの関与をしているはず。確かこの症状が出始めたのも、Flash Playerのアップデート以降のような気がしますし・・・。

/Library/Internet Plug-Ins/Flash Player.plugin/Contents/Resources/Flash Player.rsrc
/Library/Internet Plug-Ins/Flash Player.plugin/Contents/Resources/Japanese.lproj/Localized.rsrc

気になるのは、アクティビティモニタで開いているファイルとポートをみたとき、この2ファイルをFirefoxが何度となく読み込んでいることです。内部的にどのようにプラグインを呼び出しているのかを調べていないのですが、Safari、Caminoではこれらは1回だけ読み込まれているので異常事態であるのは確かです。

Firefoxの気持ちを想像しますと、

ページにFlashがある

読み込んでいたはずのFlash Playerを探すと見あたらない

新しく読みに行く

ということを繰り返して、ファイルを開きすぎて、メモリがぱんぱんになり、動作に影響が出てきて、ページの中身を開くことができなくなって転けていく・・・ということなのではないかと思います。そのため、「日本語以外のリソースファイルを消す」=「読み込むデータ量が減り、延命」ということとつじつまが合うような気がします。またFlash Pluginを無効にしてしまうのも、自明でありましょうー。

Flash Pluginに問題があるかのような書き方ですが、Safariなどで問題を起こしていないので、Firefox、またはGeckoのPluginの呼び出し方の問題ではないかと思います。WindowsやLinuxの場合はもっと小さな別々のファイルでプラグインが構成されていると思うのですが、MacはPluginパッケージ丸ごとを読み込むので、Macだけで起こっているのではないかと・・・。

今のところ想像の域をでませんが、まだまだ調べてみようと思います。どうやって?っというのがまだわかりませんけど。

Written by Coga

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA