system.logの奇妙なGoogle Chromeエラー


10

MavericksとGoogle Chromeバージョン34.0.1797.2 devを使用しています。

これは私が受け取るエラーです:

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(マーベリックスは、TCPソケットの「なくなる」。)
ベンジャミン・リッグス

1
最初の2つは簡単に説明できます。サンドボックスは拒否をログに記録するため、OSがコードが要求したアクセスを拒否しているため、Google開発者はそのコードを修正できます。最後のメッセージは、クロームのソースコードを見る人が必要かもしれません。これらはどのような問題を引き起こしますか?コマンドでメッセージを表示できますか?
bmike

トリガーできるかどうかわかりません。ログにエラー/警告メッセージが多すぎたくないのです。
パヴェルGościcki

1
ログの警告メッセージが気に入らない場合は、ソフトウェアの「開発」バージョンを実行しないでください。Chromeの場合、これはソフトウェアが一般的なリリース用ではなく、バグとおそらく開発者専用の警告メッセージが含まれている可能性があることを意味します。
jksoegaard 14年

申し訳ありませんが、これは実際には正しくないと思います。数か月前に、安定したチャネルで同じメッセージが表示されていたと確信しています(ブラウザの切り替えにつながる重大なパフォーマンスの問題に加えて)。また、これらの特定のメッセージは、アプリケーション自体によって生成されるのではなく、コードを修正するための開発者へのヒントとしてオペレーティングシステムによって生成されると確信しています。
Alistair McMillan 14

回答:


3

ご存知かもしれませんが、Google Chromeはマルチプロセスアプリケーションとして実行されます。UIを管理し、他の多くのプロセスに対して「ホスト」を実行する最初の「Google Chrome」プロセスがあります。Chromeで開くタブごとに新しい「レンダラー」プロセスが作成され、インストールする拡張機能ごとに「プラグイン」プロセスが作成されます。システムのGPUと通信するコードには、個別の「GPU」プロセスがあります。これらの他の各プロセスは、アクティビティモニターに「Google Chromeヘルパー」プロセスとして表示されます。

Chromeをより安全にするために、レンダラープロセスはサンドボックスで実行されます。それらは、ホストプロセスを介してのみネットワークと通信でき、特定のファイル(たとえば、フォントやColorSyncプロファイル)とのみ通信できます。また、システム内の他のプロセスと通信できないようになっているため、これらのログメッセージが表示されます。レンダラープロセスは、launchservicedおよびwindowserviceプロセスと通信しようとしていますが、サンドボックスが原因でこれを実行できません。

このバグは、2014年2月にコミットしたGoogleのChromeセキュリティチームのソフトウェアエンジニアによって解決されました。この1行のコードを削除すると、問題は解決しました。

[NSApplication sharedApplication];

とりわけ、sharedApplicationメソッドを呼び出すと、アプリケーションとOS XのWindowServerの間の接続が開かれ、CGSLookupServerRootPortエラーで失敗することがわかります。

サンドボックスを有効にする前に、Chromeがこのメソッドを呼び出して特定のリソースを「ウォームアップ」することが意図されていました。サンドボックス制限が適用される前に、特定のファイル、プロセス、またはネットワークリソースにアクセスする。ただし、ある時点でこの試みが失敗し始め、ログにこれらのエラーが発生したようです。私の推測では、Appleはこの「ウォーミングアップ」をサンドボックスをだますための試みとみなし、それを制限し始めたと思います。

私が正しく読んでいる場合、この変更は、2014年4月にGoogle Chromeを34.0.1847.131更新することで、安定版リリースチャネルに到達しました。

興味深いことに、Chromeチームは、2013年10月にsharedApplicationメソッドへのこれらの呼び出しを削除することについて話し合っており、2009年の目標としてレンダラープロセスからCocoaを完全に削除することについてさえ話していました。

関連するメモとして、Appleは2014年4月にセキュリティ修正リリースし、「サンドボックスアプリケーションによってWindowServerセッションが作成される可能性がある」というバグを解決しました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.