Estoy usando Mavericks y Google Chrome Versión 34.0.1797.2 dev.
Este es el error que recibo:
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)
¿Alguna idea de lo que podría estar causando esto? Busqué en Google y no encontré ninguna pista ...
google-chrome
Paweł Gościcki
fuente
fuente
Respuestas:
Como sabrás, Google Chrome se ejecuta como una aplicación multiproceso . Tiene su proceso inicial de "Google Chrome" que administra la interfaz de usuario y reproduce el "host" en otros procesos. Se crea un nuevo proceso de "renderizador" para cada pestaña que abra en Chrome, un proceso de "complemento" para cada extensión que instale, y hay un proceso de "GPU" separado para el código que se comunica con la GPU del sistema. Cada uno de estos otros procesos aparece en Activity Monitor como un proceso de "Google Chrome Helper".
Para hacer que Chrome sea más seguro, los procesos del procesador se ejecutan en un entorno limitado . Solo pueden comunicarse con la red a través del proceso de host y solo pueden comunicarse con archivos específicos (por ejemplo, fuentes y perfiles ColorSync). También se les impide hablar con otros procesos en el sistema, que es lo que causa estos mensajes de registro. Los procesos del procesador intentan comunicarse con los procesos de servicios de lanzamiento y de servicio de Windows, pero se les impide hacerlo debido a su entorno limitado.
Este error fue resuelto por un ingeniero de software en el equipo de seguridad de Chrome de Google con una confirmación en febrero de 2014. La eliminación de esta línea de código resolvió el problema.
[NSApplication sharedApplication];
Entre otras cosas, llamar al método sharedApplication abre una conexión entre una aplicación y WindowServer de OS X, que puede ver fallando en el error CGSLookupServerRootPort.
La intención era que Chrome llamara a este método para "calentar" ciertos recursos antes de habilitar el sandbox; obtener acceso a ciertos archivos, procesos o recursos de red antes de que las restricciones de sandbox se aplicaran. Sin embargo, parece que en algún momento este intento comenzó a fallar, lo que resultó en estos errores en el registro. Mi conjetura es que Apple consideró este "calentamiento" como un intento de engañar a la caja de arena y comenzó a reprimirla.
Si estoy leyendo correctamente, este cambio llegó al canal de lanzamiento estable con una actualización de Google Chrome a 34.0.1847.131 en abril de 2014.
Curiosamente, el equipo de Chrome había estado discutiendo la eliminación de estas llamadas al método de aplicación compartida en octubre de 2013 e incluso discutió la eliminación de Cocoa por completo de los procesos del procesador como objetivo en 2009.
En una nota relacionada, Apple lanzó una solución de seguridad en abril de 2014 para resolver un error en el que "las aplicaciones de espacio aislado podían crear sesiones de WindowServer".
fuente