2

FirefoxNPAPIプラグインがMacOSX(10.6および10.7でテスト済み)のVMware仮想マシンで壊れているようです。誰かがその理由を知っているか、回避策のアイデアを持っていますか?たとえば、ユーザーがFirefox / OSX / VMを実行していることを検出しますか?

コンテクスト:

  • 私のプラグインは、FF && OSX && VMの場合にのみ100%のCPUを消費します。ただし、プラグインは引き続き機能します。これは常に再現可能であり、複数のVM間で発生します。
  • この環境では、Adobe Reader、Adobe Flash、およびFirebreath(チュートリアル)を使用して作成したテストプラグインもすべて壊れていました。
  • Firefoxは、コンソールに次のログメッセージを出力します:「無効なピクセル形式」および「無効なコンテキスト」。おそらくOpenGLに関連しています-バグレポートを参照してください。
  • glxinfoコマンドを実行すると、同様のエラーが発生します。

    cb-sea-miniosx64-03:~ seabld$ glxinfo
    name of display: /tmp/launch-LojaDe/:0
    Thu Jul  5 20:13:51 cb-sea-miniosx64-03.comm-build.scl1.mozilla.com glxinfo[1009 <Error>: unknown error code: invalid pixel format
    Thu Jul  5 20:13:51 cb-sea-miniosx64-03.comm-build.scl1.mozilla.com glxinfo[1009] <Error>: kCGErrorFailure: Set a breakpoint @ CGErrorBreakpoint() to catch errors as they are logged.
    X Error of failed request: GLXBadContext
      Major opcode of failed request:  0 ()
      Serial number of failed request:  16
      Current serial number in output stream:   16
    
  • Instrumentsプロファイラーは、プラグインのIOSurfaceCreate/IOSurfaceClientCreateで費やされた多くの時間を報告します。私が正しく理解していれば、ブラウザはIOSurfaceを使用してレンダリングデータをプラグインと共有します。
  • Activity Monitorを使用して取得したサンプルには、CPUの問題がメインスレッド(DispatchQueue)にあることを除いて、有用な情報がないようです。
  • 回避策の1つは、Firefoxを32ビットモードで実行することです。FFアプリケーションを右クリックし、[情報を見る]>[32ビットモードで開く]を選択します。しかし、ユーザーがそうすることを期待することはできません。
4

1 に答える 1

2

OSXVMWareゲストが完全に機能する3Dアクセラレーションを備えていないように聞こえます。どちらかといえば、これはVMWareのバグ(完全な3Dアクセラレーションを公開していない)、またはFirefoxのバグ(3D機能の欠如にひどく反応する)である可能性があります。それはほぼ間違いなくあなたのせいではありません。

特に、試した他のすべてのプラグイン(Flashを含む)がまったく同じ問題の影響を受けているように思われることを考えると、この問題を回避するのにあまり時間をかけません。それを「既知の問題」としてリストし、次に進みます。

于 2012-09-26T23:26:18.143 に答える