最近,我开始观察到这非常令人困惑和烦恼,更不用说在打开Firefox然后启动Chromium时令人担忧的行为了:
在大约30秒内,Firefox的子进程将消耗所有可用的CPU资源,从而导致网站停止渲染(已显示的页面冻结,新页面显示带有灰色旋转圆圈的白色页面),而整个窗口仍处于响应状态(菜单,页面滚动) ,切换标签,甚至内部页面(例如about:config或about:preferences都可以使用...)。铬本身没有任何症状。在Firefox旋转时,立即再次终止Chromium不会更快地阻止该行为。
我的常规Firefox配置文件,没有任何附加组件等的全新,未经修改的Firefox配置文件也是如此,Firefox在禁用附加组件的安全模式下启动,而Firefox在私有模式下启动。与Chromium类似,我可以使用常规个人资料,隐身模式或临时个人资料启动它,始终生成相同的结果。
当Chromium运行并打开Firefox时,没有发生任何奇怪的事情。
从终端启动Firefox时,有时我在旋转时退出它会收到类似这样的消息(请注意管道错误行中提到了一些铬ipc ...):
ExceptionHandler::GenerateDump cloned child 32165
ExceptionHandler::SendContinueSignalToChild sent continue signal to child
ExceptionHandler::WaitForContinueSignal waiting for continue signal...
[Parent 26520, Gecko_IOThread] WARNING: pipe error (52): Connection reset by peer: file /build/firefox-8oo9jx/firefox-62.0+build2/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 353
ExceptionHandler::GenerateDump cloned child 32274
ExceptionHandler::WaitForContinueSignal waiting for continue signal...
ExceptionHandler::SendContinueSignalToChild sent continue signal to child
奇怪的是,我无法在来宾帐户或新创建的常规(管理员)帐户中重现该行为。
一些系统规格(已更新):
- Ubuntu 16.04(64位)
- 火狐浏览器
62.0+内部版本2-0ubuntu0.16.04.563.0 + build2-0ubuntu0.16.04.2 - 铬
69.0.3497.81-0ubuntu0.16.04.170.0.3538.77-0ubuntu0.16.04.1 fontconfig
2.11.94-0ubuntu1.1- 图形硬件:Intel SkyLake集成图形(i5-6200U)+ Nvidia GeForce 940M
当前,我已经nvidia-410
安装了驱动程序,但是切换到了Intel主要配置文件。如何进一步排除故障并解决此问题?
我使用Gecko Profiler扩展程序创建了性能配置文件,并在我的常规Ubuntu帐户上安装了全新的Firefox配置文件。可以在这里找到:https : //perfht.ml/2zpTWsh-CPU使用率为100%的无响应时间范围应大致对应于Content Proc时间轴上突出显示的区域,大约为18s-56s。
我为此问题创建了Mozilla错误报告:https : //bugzilla.mozilla.org/show_bug.cgi?id=1504461
重要更新:显然我的错误报告是https://bugzilla.mozilla.org/show_bug.cgi?id=1495900的重复,指出fontconfig
是罪魁祸首。似乎启动Chromium正在以某种方式更改字体配置,从而触发Firefox中的完全重新加载。这符合性能分析报告,也符合以前对字体包的更新如何触发相同的冻结。
有什么想法可以使这三个(Firefox,Chromium,fontconfig)相互配合?