system.log中奇怪的Google Chrome错误


10

我正在使用Mavericks和Google Chrome版本34.0.1797.2开发人员。

这是我收到的错误:

Jan 25 17:09:12 genesis Google Chrome Helper[46267]: Process unable to create connection because the sandbox denied the right to lookup com.apple.coreservices.launchservicesd and so this process cannot talk to launchservicesd. : LSXPCClient.cp #426 `___ZN26LSClientToServerConnection21setupServerConnectionEiPK14__CFDictionary_block_invoke()` q=com.apple.main-thread
Jan 25 17:09:12 genesis Google Chrome Helper[46267]: Process unable to create connection because the sandbox denied the right to lookup com.apple.coreservices.launchservicesd and so this process cannot talk to launchservicesd.
Jan 25 17:09:12 genesis Google Chrome Helper[46267]: CGSLookupServerRootPort: Failed to look up the port for "com.apple.windowserver.active" (1100)

关于什么可能导致此的任何想法?我四处搜寻,没有发现任何线索...


1
我看到该日志消息主要与以下问题有关:Discussions.apple.com/message/23755770#23755770(Mavericks“用尽了” TCP套接字。)
Benjamin Riggs 2014年

1
前两个很容易解释-沙箱记录了拒绝记录,因此Google开发人员可以在操作系统拒绝访问代码所要求的访问权限时修复该代码。最后一条消息可能需要有人查看chrome源代码。这些会导致什么问题?您可以使消息出现在命令中吗?
bmike

我不确定是否可以触发它们。我只是不喜欢我的日志中有太多错误/警告消息。
帕维尔Gościcki

1
如果您不喜欢日志中的警告消息,则根本不应该运行“开发”版本的软件。在Chrome的情况下,这意味着该软件不适合一般发行,它很可能包含错误以及仅针对开发人员的警告消息。
jksoegaard 2014年

对不起,但我认为这实际上是不正确的。我可以肯定,几个月前我在稳定的频道中看到了相同的消息(以及严重的性能问题,这导致我切换了浏览器)。而且我非常确定这些特定消息是由操作系统生成的,以提示开发人员修复其代码,而不是由应用程序本身生成。
Alistair McMillan

Answers:


3

如您所知,谷歌浏览器可以作为多进程应用程序运行。您拥有初始的“ Google Chrome浏览器”流程,该流程可管理UI并充当其他许多流程的“主机”。为您在Chrome中打开的每个标签创建一个新的“渲染器”过程,为您安装的每个扩展程序创建一个“插件”过程,并且有一个单独的“ GPU”过程用于与系统GPU对话的代码。这些其他过程中的每一个在“活动监视器”中均显示为“ Google Chrome浏览器帮助程序”过程。

为了使Chrome更安全,渲染器进程在沙盒中运行。他们只能通过主机进程与网络对话,并且只能与特定文件(例如,字体和ColorSync配置文件)对话。它们也被阻止与系统中的其他进程对话,这就是导致这些日志消息的原因。渲染器进程正在尝试与launchserviced和windowservice进程进行通信,但是由于它们的沙箱而被阻止这样做。

此错误已由Google Chrome安全团队的软件工程师于2014年2月提交,并予以解决。删除这一行代码即可解决此问题。

[NSApplication sharedApplication];

其中,调用sharedApplication方法将打开应用程序和OS X的WindowServer之间的连接,您可以看到CGSLookupServerRootPort错误失败。

Chrome的意图是在启用沙箱之前调用此方法“预热”某些资源。在沙箱限制不到位之前获得对某些文件,进程或网络资源的访问权限。但是,似乎此尝试在某个时候开始失败,从而导致日志中出现这些错误。我的猜测是,苹果公司认为这是在“热身”欺骗骗子的尝试,并开始对此加以限制。

如果我正确阅读,则此更改已到达稳定版本渠道,并于2014年4月将Google Chrome更新为34.0.1847.131

有趣的是,Chrome小组早在2013年10月就一直在讨论删除对sharedApplication方法的这些调用,甚至在2009年就曾讨论过从渲染器过程中完全删除Cocoa

与此相关的是,Apple 在2014年4月发布了一个安全修复程序,以解决一个错误:“沙箱应用程序可以创建WindowServer会话”。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.