【发布时间】:2012-09-18 16:17:57
【问题描述】:
似乎 Firefox NPAPI 插件在 Mac OSX(在 10.6 和 10.7 上测试)VMware 虚拟机中被破坏了。有谁知道为什么,或者有一个解决方法的想法 - 例如检测用户何时运行 Firefox/OSX/VM?
上下文:
- 我的插件仅在 FF && OSX && VM 时才会消耗 100% CPU。但是,该插件仍然可以使用。这始终是可重现的,并且发生在多个虚拟机上。
- Adobe Reader、Adobe Flash 和我使用 Firebreath 构建的一个测试插件(教程)在这个环境中也都被破坏了。
- Firefox 在控制台中输出以下日志消息:“无效像素格式”和“无效上下文”。可能与 OpenGL 有关 - 请参阅 bug report。
-
运行 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 profiler 报告我的插件在 IOSurfaceCreate/IOSurfaceClientCreate 上花费了很多时间。如果我理解正确,浏览器使用 IOSurface 与插件共享渲染数据。
- 使用 Activity Monitor 采集的样本似乎没有任何有用的信息 - 除了 CPU 问题出在主线程 (DispatchQueue) 中。
- 一种解决方法是在 32 位模式下运行 Firefox:右键单击 FF 应用程序 > 获取信息 > 在 32 位模式下打开。但我们不能指望用户这样做。
【问题讨论】:
-
同样的插件在其他浏览器上也能用吗?
-
所以对于我来说,它们在 vmware on os x 上工作得很好
标签: macos flash firefox vmware npapi