web-dev-qa-db-ja.com

Firefox:特定のSVGファイルを表示すると、システムが応答しなくなります


重要:

現在、いくつかのスーパーユーザーの常連がこの問題の範囲と原因を絞り込もうとしています。 現在、次のテストを実行した後、フォームに記入してくれるボランティアを募集しています ここ

  1. Firefoxの最新バージョンをインストールまたは起動します(たとえば、24.xまたは25.x。ベータ版も興味深いでしょう)。

  2. プラットフォームのWindowsタスクマネージャーに相当するものを使用して、メモリとCPUの使用率を監視します。以下のリンクを開く前に、適切なタスクマネージャを開いておく必要があります。

  3. 未完成の作業はクラッシュする可能性があるため、Firefoxブラウザに保存してください。紛失した情報については責任を負いません。

  4. 新しいタブで次のリンクを開きます: http://openclipart.org/people/GR8DAN/showbizframe.svg

  5. イメージをロードする前後のFirefoxプロセスのCPUとメモリ使用量の変化を観察します。 Firefoxのメモリ使用量の違い前と後上記のタブを開くことが非常に重要な場合(1 GB以上)、またはFirefoxがフリーズ/クラッシュした場合、またはCPU使用率が持続的に高い場合、yourシステムにバグがあります。それ以外の場合は、バグはありません。いずれの場合も、それに応じてフォームに記入してください。

Mozillaバグトラッカー のバグを更新して、Mozilla開発者が問題を解決できるように、症状と原因を絞り込もうとしています。これは、広範囲にわたる優先度の高い問題である可能性があるため、特にこれを行っています。画像の埋め込みを許可するWebサイトは、悪意を持って使用され始めた場合、ページにアクセスするユーザーのかなりのサブセットに対するサービス拒否攻撃に対して脆弱になる可能性があります。

2013年11月29日更新:バグは以下に分離されました:

  • プラットフォームに依存しません。このバグは、Linux、Mac、およびWindowsで再現されています。

  • この問題は、AMD、Intel、およびNvidiaグラフィックカードで再現されています。

  • Firefoxとその派生物でのみ発生します。 Chrome、IE、Operaは影響を受けません。

  • この問題は、Firefox 25.0.1、Firefox 26 Beta、Firefox 27 Alpha、および2013年11月28日現在のトランクのナイトリービルドで発生しています。

  • すべてのユーザーがFirefoxのクラッシュまたはシステム全体のメモリ不足(OOM)の状況を経験しているわけではありません。この動作は、4GBのRAM以下)のGNU/Linuxシステムに限定されているようです。

  • Firefox 27 AlphaおよびNightlyでは、動作がFirefox25および26Betaとわずかに異なります。新しい2つのバージョンでは、イメージを長時間(10〜20秒)ロードすると、CPUとメモリの高い消費量が最終的に落ち着きます。ほとんどのシステムで)。 「落ち着く」と、メモリとCPUの状態は通常に戻ります。ただし、古い2つのリリースでは、問題のある画像がレンダリングされているタブに切り替えるか、Firefoxを完全に終了するか、タブを閉じるまで、CPUとメモリの状態が持続します。

  • 最近のグラフィックドライバを備えたほとんどすべてのシステムがそれを再現できます。anyの症状がまったく発生しないシステムがファイルに1つだけあり、非常に古いグラフィックスドライバー(約3年)を使用しています。これは、それが特定のハードウェアではないことを示していますが、使用されていた非常に古いドライバーにバグがあり、奇妙なことに、欠陥のある動作の発生を防ぎます。

元の質問:

私はFedora19(カーネル3.11.9-200.fc19.x86_64)でFirefoxfirefox-25.0-3.fc19.x86_64を使用しています。 Firefoxを使用して このリンク を開くと、システムが応答しなくなります。 2番目のモニターでhtopを実行すると、メモリ使用量が大幅に増加し、3954MBのRAMがすぐに使い果たされ、その後、プロセッサの1つであるスワップがゆっくりといっぱいになります。使用率が100%に達すると、システムが応答しなくなり、マウスが遅くなり、htopの更新に数十秒かかります。FFプロセスを強制終了すると、すべてが正常に戻ります。

プラグインを無効にしてセーフモードでFFを再起動しても、動作は同じです。同僚のマシンを試しましたが、RAMが最大8000 MBですが、同じことが起こります(メモリ使用量が多く、1つのプロセッサが100%に達します)。使用量が最大4096 MBに達すると、Firefoxを強制終了するように求めるダイアログがポップアップ表示されます(Firefoxは次のようにハードコードされています。 4096 MBのみを使用しますか?)。

プラグイン(quickjava)を使用してjavascriptを無効にすると、問題なくリンクを開くことができます。ただし、同僚のマシンではこれは機能しません。JSが無効になっていることを確認するために他のサイトを試しましたが、問題は解決しません。

何が原因ですか?

[〜#〜] update [〜#〜]このSVG を表示すると問題が発生します。

7
  1. JavaScriptではありません。投稿したリンクによってレンダリングされている複雑なScalableVector Graphics(SVG)ファイルがたくさんあるのは事実です。
  2. Fedoraのハードウェアアクセラレーションされたグラフィックスタックはバグがあることで有名です。そのため、Firefoxがグラフィックスタックを使用すると、グラフィックスタック(Mesa、Xorg DDX、またはカーネル)にバグが発生する可能性があります。
  3. SVGが実際にsoftwareでレンダリングされていて、ソフトウェアレンダラーがまだバグがある可能性もあります。

分割統治しましょう:

ハードウェアアクセラレーションを無効にする

FFで、[編集]-> [設定]に移動し、[詳細設定]をクリックして、[全般]タブの[参照]セクションで、[利用可能な場合はハードウェアアクセラレーションを使用する]のチェックを外します。

同じサイトをもう一度試してください。 do n't CPU /メモリの過負荷が発生した場合、問題は2D Canvas GPUアクセラレーション(Firefoxでの使用またはバックエンドグラフィックスタックのいずれか)、またはSVGレンダラー。

doハードウェアアクセラを無効にして同じCPU /メモリ過負荷が発生した場合、SVGパーサーのバグである可能性があります。これはおそらく純粋なソフトウェアで行われます。その場合、おそらくWindowsでも問題が発生しますが、そうではありません(WindowsのFF 24.1.0でテストされ、速度は遅くなりましたが、すべてのCPUとRAMを消費していません。あなたのもの)。

Mesaで何らかのメモリリークが発生しているのではないかと思います。

試すべきいくつかのこと

  1. Firefoxでabout:supportに移動し、[テキストをクリップボードにコピー]をクリックして、ここに投稿します(ペーストビンなど)。これは、問題領域に精通している私たちが、ハードウェアとグラフィックスタックの状況を判断するのに役立ちます。
  2. Firefoxでabout:memoryに移動し、[詳細]チェックボックスをオンにして、[測定]をクリックします。これができれば素晴らしいでしょう直後問題のあるページに移動します-その時点でFFに何かをさせることができれば。
  3. 次のようにターミナルからFirefoxを実行します:LIBGL_DEBUG=verbose firefox -safe-mode。 OOMするサイトに直接移動します。数秒間実行してから(問題を明確に開始するのに十分ですが、システムを圧倒しないようにしてください)、それを強制終了します。 dmesgの出力とともに、ここに出力を投稿します。

これらのことにより、問題がどこにあるかを正確に理解するためのより多くのデバッグ情報が得られますが、これらの手順のほとんどは、問題がグラフィックスタックにあるという仮定に焦点を合わせています。そうでない場合、これのほとんどは役に立ちません。

更新:私は 生のgithubリンク を作成しましたが、JavaScriptや不正行為は一切ありません。これはSVGの単なる洗濯物リストです。動作に欠陥があるとクラッシュするはずであり、他の考えられる問題の原因をすべて排除します。

更新2:OPは、問題を この特定のイメージ に分離しました。

3
allquixotic