Saya menggunakan Mavericks dan Google Chrome Versi 34.0.1797.2 dev.
Ini adalah kesalahan yang saya terima:
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)
Adakah yang tahu apa yang menyebabkan ini? Saya sudah googled sekitar dan tidak menemukan petunjuk ...
google-chrome
Paweł Gościcki
sumber
sumber
Jawaban:
Seperti yang Anda ketahui, Google Chrome berjalan sebagai aplikasi multi-proses . Anda memiliki proses "Google Chrome" awal Anda yang mengelola UI dan memainkan "host" ke sejumlah proses lainnya. Proses "renderer" baru dibuat untuk setiap tab yang Anda buka di Chrome, proses "plugin" untuk setiap ekstensi yang Anda instal, dan ada proses "GPU" terpisah untuk kode yang berbicara dengan GPU sistem. Masing-masing proses lain ini muncul di Monitor Aktivitas sebagai proses "Google Chrome Helper".
Untuk membuat Chrome lebih aman, proses renderer berjalan di kotak pasir . Mereka hanya dapat berbicara ke jaringan melalui proses host dan hanya dapat berbicara dengan file tertentu (misalnya, font dan profil ColorSync). Mereka juga dicegah untuk berbicara dengan proses lain dalam sistem, yang menyebabkan pesan log ini. Proses renderer sedang mencoba untuk berbicara dengan proses launchserviced dan windowservice, tetapi dicegah dari melakukan itu karena kotak pasir mereka.
Bug ini diatasi oleh insinyur perangkat lunak di tim Keamanan Google Chrome dengan komitmen pada Februari 2014. Menghapus satu baris kode ini menyelesaikan masalah.
[NSApplication sharedApplication];
Di antara hal-hal lain, memanggil metode sharedApplication membuka koneksi antara aplikasi dan WindowServer OS X, yang dapat Anda lihat gagal dalam kesalahan CGSLookupServerRootPort.
Niatnya adalah Chrome untuk memanggil metode ini untuk "menghangatkan" sumber daya tertentu sebelum mengaktifkan kotak pasir; mendapatkan akses ke file, proses, atau sumber daya jaringan tertentu sebelum pembatasan kotak pasir diberlakukan. Namun tampaknya pada beberapa titik upaya ini mulai gagal, mengakibatkan kesalahan ini di log. Dugaan saya adalah bahwa Apple menganggap ini "pemanasan" sebagai upaya untuk menipu kotak pasir dan mulai menjepitnya.
Jika saya membaca dengan benar perubahan ini mencapai saluran rilis stabil dengan pembaruan Google Chrome ke 34.0.1847.131 pada bulan April 2014.
Menariknya, tim Chrome telah membahas penghapusan panggilan ini ke metode Aplikasi bersama pada Oktober 2013 dan bahkan membahas penghapusan Kakao sepenuhnya dari proses penyaji sebagai tujuan pada tahun 2009.
Pada catatan terkait, Apple merilis perbaikan keamanan pada April 2014 untuk menyelesaikan bug di mana "sesi WindowServer dapat dibuat oleh aplikasi kotak pasir."
sumber