Erros estranhos do Google Chrome no system.log


10

Estou usando o Mavericks e o Google Chrome versão 34.0.1797.2 dev.

Este é o erro que recebo:

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)

Alguma idéia do que pode estar causando isso? Eu pesquisei e não encontrei nenhuma pista ...


1
Vejo essa mensagem de log principalmente em conjunto com esse problema: discussões.apple.com / message/23755770# 23755770 (Mavericks 'acaba' nos soquetes TCP). ''
Benjamin Riggs -

1
Os dois primeiros são triviais de explicar - a sandbox está registrando negações para que os desenvolvedores do Google possam corrigir esse código, pois o sistema operacional está negando um acesso solicitado pelo código. A última mensagem pode precisar de alguém para consultar o código-fonte do Chrome. Que problema isso causa? Você pode fazer as mensagens aparecerem sob comando?
bmike

Não tenho certeza se posso acioná-los. Eu simplesmente não gosto de muitas mensagens de erro / aviso nos meus logs.
Paweł Gościcki 11/03/14

1
Se você não gosta de mensagens de aviso em seus logs, simplesmente não deve executar versões "dev" do software. No caso do Chrome, isso significa que o software não se destina à liberação geral e que provavelmente contém bugs e talvez mensagens de aviso destinadas apenas aos desenvolvedores.
Jksoegaard

Desculpe, mas acho que isso não está correto. Tenho certeza de que estava vendo as mesmas mensagens há alguns meses no canal estável (ao lado de problemas significativos de desempenho que resultaram na troca de navegador). E tenho certeza de que essas mensagens específicas são geradas pelo sistema operacional como uma dica para os desenvolvedores corrigirem seu código, em vez de serem geradas pelo próprio aplicativo.
Alistair McMillan

Respostas:


3

Como você deve saber, o Google Chrome é executado como um aplicativo de vários processos . Você tem seu processo inicial do "Google Chrome" que gerencia a interface do usuário e reproduz o "host" para vários outros processos. Um novo processo de "renderizador" é criado para cada guia aberta no Chrome, um processo de "plug-in" para cada extensão instalada e existe um processo de "GPU" separado para o código que fala com a GPU do sistema. Cada um desses outros processos aparece no Activity Monitor como um processo "Google Chrome Helper".

Para tornar o Chrome mais seguro, os processos do renderizador são executados em uma sandbox . Eles só conseguem conversar com a rede através do processo host e podem conversar apenas com arquivos específicos (por exemplo, fontes e perfis ColorSync). Eles também são impedidos de conversar com outros processos no sistema, que é o que causa essas mensagens de log. Os processos do renderizador estão tentando conversar com os processos de serviço de inicialização e serviço de janelas, mas são impedidos de fazer isso por causa de sua caixa de proteção.

Esse bug foi resolvido por um engenheiro de software da equipe de segurança do Google Chrome com uma confirmação em fevereiro de 2014. A remoção dessa única linha de código resolveu o problema.

[NSApplication sharedApplication];

Entre outras coisas, chamar o método sharedApplication abre uma conexão entre um aplicativo e o WindowServer do OS X, que pode ser visto com falha no erro CGSLookupServerRootPort.

A intenção era que o Chrome chamasse esse método para "aquecer" determinados recursos antes de ativar a sandbox; obter acesso a determinados arquivos, processos ou recursos de rede antes que as restrições do sandbox entrem em vigor. No entanto, parece que em algum momento essa tentativa começou a falhar, resultando nesses erros no log. Meu palpite é que a Apple considerou esse "aquecimento" uma tentativa de enganar a caixa de areia e começou a apertá-la.

Se estou lendo corretamente, essa alteração atingiu o canal de lançamento estável com uma atualização do Google Chrome para 34.0.1847.131 em abril de 2014.

Curiosamente, a equipe do Chrome discutiu a remoção dessas chamadas para o método sharedApplication em outubro de 2013 e até discutiu a remoção do Cocoa inteiramente dos processos do renderizador como uma meta em 2009.

Em uma nota relacionada, a Apple lançou uma correção de segurança em abril de 2014 para resolver um erro em que "as sessões do WindowServer poderiam ser criadas por aplicativos em área restrita".

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.