ラベル クラッシュ の投稿を表示しています。 すべての投稿を表示
ラベル クラッシュ の投稿を表示しています。 すべての投稿を表示

2015年5月5日火曜日

Firefox 32bit で OOM (out of memory) によるクラッシュを MemChaser で監視。一足先に公式の 64bit ベータ版をインストール。

0. 目次

 

1. グラフィックボード関係のエラーでクラッシュ

avcuf32.dll, xul.dll に関連したエラーによりクラッシュすることはなくなった。

最後まで頑固に残ったエラーは、nvwgf2um.dll と nvd3dum.dll 。どちらも NVIDIA に関連したものらしい。

SnapCrab_2015-04-25_00-54-21_No-0000 SnapCrab_2015-04-30_11-09-21_No-0000

これに対して、ドライバをクリーンインストールしてもどうにもならずお手上げ。 (+_+)

 

2. MemChaser でメモリの使用状況を監視する

上記エラーでSnapCrab_2015-05-05_00-14-02_No-0000クラッシュする状況は、

  • インストールしているアドオンの数は 70 程度。
  • 常に開いているウィンドウは最低 5 枚。
  • 開いているタブの数は 100 以上。
  • ピン留めしているタブは 40 程度。

(クラッシュしまくる Firefox 36 を何とか実用的に利用するための設定 より)

この状態で Google マップを開き、Earth モードにして 3D 表示させると、すぐにクラッシュ。これに対して、

SnapCrab_2015-05-02_20-26-16_No-0000確かにその通りで、アドオン MemChaser を用いてクラッシュする寸前のメモリ使用量を調べてみたら、約 3200 MB 前後。

(メモリ不足になる前に自動的に再起動してくれるアドオン、Prevent Out Of Virtual Memory Crashes では、残されたメモリも表示され認識しやすい。)

Firefox はメモリ使用量が 3.25GB を超えるとクラッシュするらしい。

OSPFv3がFireFox is using 3GB of RAM and becomes very slow and and it slows down the computer immensely. What's the deal?について記入したコメント によると、

Those black screens are Firefox purging memory. Firefox cannot exceed 3.25GB of memory without crashing so it goes into a self-harming strategy to keep running.

 

3. 32bit アプリケーションにおけるメモリの限界

これは 32bit アプリケーションの宿命。

64bitOSを使用しても使えるメモリは3GBまで?【32bitソフト制限】 | ハルパス によると、

Windowsの64bitOSを使用していても、「32bitのソフトが使用できるメモリ領域は3GBまで」って知っていましたか?

64bit Windowsを前提とした32bitアプリケーション延命法 ~ LAAオプションで32bitアプリケーションのメモリ不足問題を解消 | OPTPiX Labs Blog によると、

Windowsの場合、PCに4GB以上のメモリを搭載していても、通常、1個の32bitアプリケーションで利用可能なメモリ容量は約2GBです。

実際に簡単なプログラムを作って調べてみると、確保できるヒープメモリの総容量は約1.9GBでした

アプリケーションによっては、独自に仮想記憶のような処理を行って、32bitアプリケーションで2GBを超える大量のデータを扱えるようにしているものもありますが、そのような処理を全く想定せずに開発されたアプリケーションでは、後から独自の仮想記憶のような処理を追加するのは難しいものです。

例えば Photoshop は、64 ビット版 Windows における利点と制限(Photoshop CS4/Photoshop CS4 Extended) によると、

Photoshop CS4 のバージョン

Windows のバージョン

Photoshop が使用可能な最大メモリ容量

32 ビットバージョン

32 ビット版

1.7 GB

32 ビットバージョン

64 ビット版

3.2 GB

64 ビットバージョン

64 ビット版

コンピュータに搭載されているメモリすべて

 

Firefox のクラッシュレポート

自分のFirefox クラッシュレポート (about:crashes) を見ると、大半に

OOM

out of memory の文字が並んでいる。(@_@;

試しに、Cyberfox において上記環境でメモリ使用量を確認したら、4400 MB ほどになった。これでは Firefox がクラッシュするのは当たり前。(+_+

特に驚いたのは、Tab Data を用いて、どのタブがメモリを多く利用しているか調べてみたら、Google ドキュメントで作成していた文書が 500MB超え。(@_@;

 

4. Cyberfox と公式の 64bit 版 Firefox

a. Cyberfox

SnapCrab_2015-05-05_14-00-27_No-0000よって、自分のような環境では、32bit 版の Firefox は使えない。代わりに Cyberfox を利用せざるを得ない。

もしくは、以下の方法でなるべくメモリを消費しないようにする。

そして、Cyberfox を使うなら、必要に応じて見ているページを別ブラウザで開けるようにしておく。

 

b. Beta channel

SnapCrab_2015-05-05_14-01-50_No-0000ところで、公式の 64bit 版 Firefxo は次期バージョンから公開されるらしい。

Firefox 38でWindows向け64bit版はフェーズ1が完了 軽量インストーラへの統合が今後の課題 - Mozilla Flux によると、

Firefox 38では、「各国語版のFirefoxをダウンロード」のページにWindows向け64bit版のスタンドアローン型インストーラ(フルインストーラ)が公開されることになりそうだ(Firefox/Channels/Meetings/2015-03-31 - MozillaWiki)。

公開はもうすぐ。Mozilla Firefoxのバージョンの変遷 – Wikipedia によると、

38.0
ESR 38.0
リリース前(2015年5月12日予定[162] 正式版 リリース

リリースまでもうすぐなので、ベータ版をインストールしても問題ないかな。

SnapCrab_2015-05-05_00-34-50_No-0000

公式ベータ版の方が Cyberfox より UI のレスポンスが良い気がする。

 

c. Developer Edition

Developer Edition (aurora) は、現在のバージョン 39.0a2 で 64bit 版を利用できる。

「Firefox Developer Edition」に64bit版Windows向けのビルドが登場 - 窓の杜

Mozillaは2月27日、開発者向けにカスタマイズされた「Firefox」のテスト版「Firefox Developer Edition」の最新版となるv38.0a2を公開した。本バージョンでは、64bit版Windows向けのビルドが追加されている。

「Firefox Developer Edition」はアルファ版に相当する「Firefox Aurora」を置き換えるかたちで、昨年11月から提供されている。

SnapCrab_2015-05-05_01-01-32_No-0000

 

d. Relase channel

正式版がリリースされたら、

より、ダウンロードして、ベータ版から戻すことにしよう。

SnapCrab_2015-05-05_01-12-03_No-0000

 

5. Firefox の channel まとめ

channel
  1. Release channel
  2. Beta channel
  3. Developer Edition
version

2015年4月30日木曜日

Firefox で xul.dll に関連したエラーによりクラッシュ

アンチウィルスソフトを BitDefender Antivirus から Panda Cloud Antivirus に変更したことにより、Firefox で avcuf32.dll に関するエラーでクラッシュしなくなった

次に xul.dll に関連したエラーによりクラッシュするようになった。

SnapCrab_2015-04-24_23-34-58_No-0000

xul.dll は Firefox の中核を担うプログラム。

How To Resolve The Firefox XUL.dll Error Information & Resources To Fix Common Computer Problems には STEP1 から STEP5 までの対処方法が記載されている。

最初の STEP1 は、Firefox をアンインストールした後、再インストールすること。自分の環境では STEP1 の対処によりxul.dll によるエラーはなくなった。

2015年4月26日日曜日

Firefox と BitDefender Antivirus の相性が悪いので Panda Cloud Antivirus に乗り換えた

Firefox の「送信したクラッシュレポート」 (ロケーションバーに about:crashes を入力) を確認したら、いくつかのレポートで avcuf32.dll が問題を起こしていた。

レポートの左下にある Show other threads をクリック。

SnapCrab_2015-04-24_10-07-07_No-0000

赤く反転した行を検索。

SnapCrab_2015-04-24_10-06-54_No-0000

avcuf32.dll は BitDefender Antivirus のライブラリ。

avcuf32.dll Windows process - What is it? によると、

The process known as BitDefender Active Virus Control Usermode Filtering Library belongs to software Bitdefender Total Security (version 2013, 2012) or Bitdefender Internet Security (version 2013, 2012) or Bitdefender Antivirus Plus (version 2013, 2012) or Bitdefender Antivirus Free Edition or Bitdefender Windows (version 8 Security) by BitDefender S.R.L. Bucharest, ROMANIA (www.bitdefender.com).

レポートを確認すると、自分の環境では avcuf32.dll が関係して問題を起こしている回数が多かったので、Panda Cloud Antivirus に乗り換えた

 

関連記事

2015年3月5日木曜日

Firefox (Cyberfox) が iCloud ブックマークによりクラッシュする

SnapCrab_No-1631Firefox (Cyberfox) が起動した瞬間クラッシュする。原因は、iCloud ブックマーク だった。

iCloud ブックマーク :: レビュー を見ると、クラッシュの報告がたくさんある。

Firefox (Cyberfox) をセーフモードで起動 (タスクバーにある Firefox (Cyberfox) のアイコンを Shift キーを押しながらクリック) した後、about:crashes を確認すると、appleffdav.dll に問題があるようだ。

SnapCrab_No-1625

そこで、Windows 用 iCloud を一度アンインストールした後、再びインストールした。

SnapCrab_No-1630

その後、Firefox (Cyberfox) を起動したら、問題なく動作してくれた。 ^^

追記(2015/3/8): Cyberfox でも同じ問題が生じたら、上記と同じ手順を行えば良い。

2014年9月4日木曜日

Firefox の画像、JavaScript に関するメモリ使用量を抑える

Firefox のクラッシュ対策に H.264 / MP3 形式のサポートを無効にした。これにより、以前よりもかなり安定するようになった。しかし、残念ながら Google マップを利用したらクラッシュした。 (+_+)

そこで、メモリに関する設定を変更することにした。

ロケーションバーに about:config を入力し、以下の値を変更。

最初はページにある画像の読み込みに関する最大値を 50MB に抑える。

  • image.mem.max_decoded_image_kb: 51200

次に Javascript のメモリ消費量を 50MB に抑える。最後の値は、JavaScript が 32MB 消費したら、ガベージコレクションが動作するようにする。

  • javascript.options.mem.max: 51200
  • javascript.options.mem.high_water_mark: 32

How to Keep Firefox From Using Too Much Memory - Instant Fundas によると、

Reduce memory cache

… Web sites with a lot of large images can require very large amounts of memory. This problem can be mitigated by putting a cap to the amount of memory used by decoded images.

To do so, open the about:config page and search for image.mem.max_decoded_image_kb. By default, this is set to a very high value – 256000 or ~256 MB. Reduce this cache to something smaller, such as 50MB.

Similarly, memory assigned to Javascript is way too high. In webpages where there are lots of scripts doing lots of fancy things, memory footprint can increase quickly. To reduce memory consumption by Javascript, locate the parameter javascript.options.mem.max and change its value from -1 (automatic) to 51200 (50 MB).

Also find javascript.options.mem.high_water_mark, and set it to 30 from the default 128. This parameter tells the garbage collector to start running when javascript is using 30 MB of memory. Garbage collection releases memory back to the system.

ところで、上記の設定は、Firefox 31 で行なった。今、ちょうど Firefox 32 にアップデートした。

Mozilla、新しいキャッシュ機構と世代別GCを統合した「Firefox 32」を正式公開 - 窓の杜 によると、

「Firefox 32」では新しいHTTPキャッシュ機構(v2)が標準で有効化されたほか、世代別GCが統合された。ブラウザーのレンダリングが始まるまでの時間の短縮や、アプリケーションの応答性向上が期待できる。

一度、これまでの設定を元に戻して様子を見て、調子が悪ければ設定をまた戻すことにしよう。

さて、Firefox を再起動しようかな。

2014年9月2日火曜日

Firefox のクラッシュ対策に H.264 / MP3 形式のサポートを無効にする

Firefox が一日に何度か落ちる。

ロケーションバーに about:crashes と入力して原因を探った。

クラッシュを解決する助けを得る によると、

  • Firefox のロケーションバーに about:crashes と入力して Enter キーを押します。送信したクラッシュレポートの一覧が表示されます。
  • クラッシュレポートに共通して表示されていたのは、

    %SystemRoot%\system32\mswsock.dll 

    これに対して、ロケーションバーに about:config 入力し、以下の設定値を false に設定した。

    • media.windows-media-foundation.enabled
    • media.directshow.enabled

    Firefox crashing after update - mswsock.dll error? | Firefox サポートフォーラム | Mozilla サポート によると、

    Updating to 29.0.1 and going into the about:config, then switching "media.windows-media-foundation.enabled" and "media.directshow.enabled" fixed my crashes (so far) after a computer restart.

    上記の設定値は、H264 / MP3 のサポートに関するもの。

    Firefox Development Highlights – Windows での H.264 & MP3 サポート、スコープが設定されたスタイルシート など | Mozilla Developer Street (modest) によると、

    Android 版 Firefox および Firefox OS は、すでに H.264 と MP3 をサポートしています。私たちは、これらの形式のサポートをデスクトップ版 Firefox にももたらそうとしています。Windows 7 以降では、about:config で設定項目 media.windows-media-foundation.enabled を有効にすることでテストが可能になっています。

    Video Format Support で確認すると、H.264 形式の動画が表示されない。

    H.264 – Wikipedia とは、

    H.264(エイチにろくよん)、MPEG-4 AVC(エムペグフォーエーブイシー)は、動画圧縮規格の一つ。…

    従来方式であるMPEG-2などの2倍以上の圧縮効率を実現する。携帯電話などの低ビットレート用途から、HDTVクラスの高ビットレート用途に至るまで幅広く利用されることを想定している。

    もし、上記の設定値を GUI で変更できるようにしたければ、about:config の設定を素早く変更するにはアドオン PrefBar を使う

     

    関連記事

    2014年8月17日日曜日

    Firefox がクラッシュしまくるとき、PC を再起動すると復活するかも - リセットする前に一度試すこと

    Firefox のクラッシュが頻繁に生じるようになると、

    SnapCrab_No-1331

    運悪く Firefox をリセットするしか選択肢がなくなることがある。 (+_+)

    SnapCrab_No-1330

    最悪の場合、それでもどうにもならない。そして、テンションだだ下がり。

    このようなとき、ダメ元で PC を再起動すると、何事もなかったかのように復活することがある。諦めてプロファイルを作り直す前に試すと良い。

    これまでに三度、この方法で元に戻った。

     

    関連記事

    2014年5月30日金曜日

    Firefox の画面が黒くなった後必ずクラッシュするので、ハードウェアアクセラレーションを切り、WebGL を無効にし、アドオンを変更した。

    0. 目次

    関連記事

    追記(2015/4/21): 最初に OMTC の設定を無効化 を試すこと。

     

    1. クラッシュする前に画面の一部が黒くなる

    最近、頻繁に Firefox がクラッシュするようになった。一日に何度も落ちる。

    特に気になる現象は、長時間使っていると画面の一部が黒くなり、その上をマウスでなぞると内容が表示される。

    SnapCrab_No-1095

    その後、少し経過すると、必ずクラッシュする。

    about:crashes でクラッシュレポートを見ても良く分からない。(+_+)

    そこで、以下のいくつかの方法を試したら、少し安定するようになった。

     

    2. ハードウェアアクセラレーションを切る

    最初に、ハードウェアアクセラレーションを切った。

    When I scroll down in facebook my screen turns black. |  Mozilla サポート によると、

    Some inexplicable display glitches can be caused by Firefox being incompatible in some way with your graphics card drivers. The standard workaround for that is to disable Firefox from using hardware acceleration of graphics.

    • オプション > 詳細 > 一般

    において、「ハードウェアアクセラレーション機能を使用する」のチェックを外す。

    SnapCrab_No-1139

    MacType で滑らかなフォント表示にしたときは、ハードウェアアクセラレーションを有効にし、about:config で gfx.direct2d.disabled の値を true にしていた。

     

    3. Flash Player のハードウェアアクセラレーションを切る

    Flash Player のハードウェアアクセラレーションも無効にした。

    Firefox 29 is full of problems. | Mozilla サポート によると、

    - When the memory usage gets above ~1 GB (FYI, this is a guess), I start seeing problems with Firefox displaying web-page graphics and even, in one instance, shutting down text input on a web page (this was within Facebook). 

    SnapCrab_No-1136%255B3%255DTry disabling Hardware Acceleration.

    例えば、Flash Player Help で再生し、動画上で右クリック

    • 設定 > 左端のタブ > 「ハードウェアアクセラレーションを有効化

    のチェックを外した。この設定は Flash Player で再生している動画上であれば変更することができる。

     

    4. WebGL を無効

    WebGL も無効にした。

    無効にするためには、ロケーションバーに about:config を入力。検索フィールドから webgl.disabled. を抽出し、値をダブルクリックして true に変更。

    Upgrade your graphics drivers to use hardware acceleration and WebGL | Firefox Help によると、

  • In the Filter box, type webgl.disabled.
  • Doubleclick on the webgl.disabled item to switch it to true.
  • WebGL - Wikipedia とは、

    WebGL[1]ウェブジーエル)は、ウェブブラウザ3次元コンピュータグラフィックスを表示させるための標準仕様。OpenGL 2.0もしくはOpenGL ES 2.0をサポートするプラットフォーム上で、特別なブラウザのプラグインなしで、ハードウェアでアクセラレートされた三次元グラフィックスを表示可能にする。

    この機能を無効にすると、例えば Google マップ上で 3D 表示ができなくなる。元に戻す場合、は以下を参照。

     

    5. gfx の設定から direct2d を削除

    MacType でフォントの表示を滑らかにしている場合、about:config で direct2d の値を削除すると動作が軽快になる。

    gfx.content.azure.backends

    about:crashes でクラッシュレポートを見ると、gfx.content 関連で落ちていることがしばしば。そこで、about:config において、以下の値を設定した。

    • gfx.content.azure.backends

    の値より direct2d を削除し、cairo のみ残した。

    Font gone funny after Windows update | Mozilla サポート によると、

    If your gfx.content.azure.backends preference looks like:

    direct2d,cairo

    Try deleting direct2d so you just have

    cairo

    Firefox is unbearably slow after updating to version 27 | Forum d'assistance Firefox | Assistance de Mozilla

    To know if you face the same issue:

    • Type "about:support" in the address bar and press Enter.
    • In the "graphics" section check the line with the entry "AzureContentBackend".
    • If the value is "cairo" you may well face the same issue than I did.

    In that case I have found a workaround:

    • Type "about:config" in the address bar and press Enter.
    • Search for "gfx.content.azure.backends".
    • The value should be "direct2d,cairo". Edit it to be simply "direct2d" (ie. remove "cairo"), then restart Firefox.

    また、gfx.content.azure.enabled の値を false に変更。

    スクロールすると Firefox の文字がにじむ - @半径とことこ60分 によると、

    やっとこちらのサイトをみつけました。
    Firefox文字乱れ・崩れ - smilebanana

    1. firefox のアドレスバーに「about:config」と入れる
    2. gfx.content.azure.enabled を検索して false に変更

    とすればいいとのことで、変更してみると、確かににじみは消えました。

    元記事の もじら組フォーラム [One Topic All View / Re: firefoxの文字表示に関して] によりますと、Firefoxの新しい2DグラフィックコンポーネントであるAzureを使うか使わないかとのことで、ATIのグラフィックボードでこの症状が出てるらしいです。

     

    gfx.canvas.azure.backends

    追記(2014/10/24): gfx.canvas.azure.backends からも、direct2d を削除し、skia, cairo を残した。

    gfx.canvas.azure.backends によると、

    > I believe it does. You can try to override that and use Skia (which I
    > believe is what Chrome/ium uses) by setting the pref
    > gfx.canvas.azure.backends to "skia,cairo" in about:config. Apparently there
    > are some rendering issues though on Linux that they never worked out.
    >
    > Would be curious how this works on Windows with the Direct2D backend; I may
    > try that tonight.

    Cool trick! Reduced firefox's rendering time on my laptop from > 100s to 0.4 s.

    ついでに、skia も削除したら、レスポンスが良くなった。

     

    6. キャッシュ、クッキーをクリア

    キャッシュ、クッキーを削除した。

    特定のサイトで頻々にクラッシュするようであれば、そのサイトのクッキーだけを削除する。

    When I scroll down in facebook my screen turns black. | Mozilla サポート によると、

    … Occasionally Firefox will get a little mixed up with cached files and cookies. This can be a problem on dynamic sites that use a lot of elements. According, when you have a problem with one particular site, a good "first thing to try" is clearing your Firefox cache and deleting your saved cookies for the site.

    ここでは全てのキャッシュとクッキーを削除する。

    追記(2014/11/15): ⇒ 特定のサイトだけクッキーを残したい場合、CookieKeeper を利用する。

     

    キャッシュのクリア
    • オプション > 詳細 > ネットワーク > キャッシュされた Web ページ

    において「今すぐ消去」ボタンを押す。

    SnapCrab_No-1137

     

    クッキーの削除
    • オプション > プライバシー > 履歴

    において「 Cookie を個別に削除」をクリック。 Cookie ダイアログにおいて、「すべての Cookie を削除」ボタンを押す。

    必ず特定のサイトでクラッシュする場合、特定のクッキーだけを削除してみて、様子を見る。

    SnapCrab_No-1138

    Firefox キャッシュを RAM ディスクへ移動しているので、SoftPerfect RAM Disk で RAM ディスクを作成しなおした。

     

    7. 変更、無効にしたアドオン

    自分の環境では、以下のアドオンを変更・無効にした方がクラッシュしにくくなったような気がする。

    a. Adblock Edge

     

    b. Lazarus Form Recovery

    SnapCrab_No-1143 Lazarus: Form Recovery は無効にした。

     

    8. グラフィックドライバの更新

    念のため、グラフィックドライバを最新にしておく。

    グラフィックドライバを更新する方法 | Firefox ヘルプ によると、

    Firefox や一部のプラグインは、ウェブコンテンツの表示を高速化するためにグラフィックカードを使用します。グラフィックカードは WebGL のような高度なウェブ機能にも使用されます。これらの機能の問題を解決するためやこれらの利点を得るために、グラフィックカードのドライバを更新する必要があるかもしれません。

    一般的なグラフィックドライバをグラフィックカードのメーカーのウェブサイトからインストールすることができます。これらは通常最新の状態が保たれ、さまざまなシステムで動作するよう設計されています:

    どのグラフィックカードが搭載されているか分からない場合は、Firefox の about:support (トラブルシューティング情報のページ) で確認してください。

    SnapCrab_No-1135グラフィックカードに NVIDIA を利用している。ちょうど先日更新されたばかりだったので、インストールした。

    WHQL版「GeForce 337.88 Driver」登場。ゲームの読み出し時間を短縮する「Shader Cache」導入が目玉 - 4Gamer.net によると、

    337.88ドライバだが,注目したいのは,「Shader Cache」(シェーダキャッシュ)という新機能がNVIDIAコントロールパネルに実装されたことだ。… これは,PCのストレージ上にシェーダ専用キャッシュを用意し,ゲームの実行時にコンパイルされたシェーダプログラムを保存しておけるようにするというものだ。
    従来,コンパイルされたシェーダプログラムは,ゲームを終了すると破棄されるようになっていたため,ゲームをプレイするたびに再度コンパイルする必要があったが,それが不要になるため,ゲームの読み出し時間と,CPU負荷の低減を図れるとNVIDIAは主張している。

    32bit版Windows 8.1・8・7・Vista用GeForce 337.88 Driver(277MB)
    64bit版Windows 8.1・8・7・Vista用GeForce 337.88 Driver(333MB)
    Windows XP用GeForce 337.88 Driver(244MB)
    ノートPC向けの32bit版Windows 8.1・8・7・Vista用GeForce 337.88 Driver(277MB)
    ノートPC向けの64bit版Windows 8.1・8・7・Vista用GeForce 337.88 Driver(333MB)

     

    9. Windows の透明感を無効

    追記(2014/10/16): これでもダメな場合、

    • デスクトップで右クリック > 個人設定 > ウィンドウの色

    において、「透明感を有効にする」のチェックを外してみる。

    SnapCrab_No-1558

    cf. Widows 7 でパフォーマンス オプションを調整して動作を軽くする