Jak zapewne wiesz, Google Chrome działa jako aplikacja wieloprocesowa . Masz swój początkowy proces „Google Chrome”, który zarządza interfejsem użytkownika i odtwarza „host” dla szeregu innych procesów. Dla każdej zakładki otwieranej w Chrome tworzony jest nowy proces „renderer”, proces „wtyczki” dla każdego instalowanego rozszerzenia oraz osobny proces „GPU” dla kodu komunikującego się z GPU systemu. Każdy z tych procesów pojawia się w monitorze aktywności jako proces „Google Chrome Helper”.
Aby zwiększyć bezpieczeństwo Chrome, procesy renderujące działają w piaskownicy . Mogą rozmawiać z siecią tylko przez proces hosta i mogą rozmawiać tylko z określonymi plikami (na przykład czcionkami i profilami ColorSync). Nie mogą też rozmawiać z innymi procesami w systemie, co powoduje te komunikaty w dzienniku. Procesy renderera próbują rozmawiać z procesami uruchamiania i obsługi okien, ale nie można tego zrobić z powodu ich piaskownicy.
Ten błąd został rozwiązany przez inżyniera oprogramowania w zespole Google Chrome ds. Bezpieczeństwa przy zatwierdzeniu w lutym 2014 r. Usunięcie tego jednego wiersza kodu rozwiązało problem.
[NSApplication sharedApplication];
Wywołanie metody sharedApplication powoduje między innymi połączenie między aplikacją a WindowServer systemu OS X, co może oznaczać błąd w błędzie CGSLookupServerRootPort.
Zamiarem Chrome było wywołanie tej metody w celu „rozgrzania” niektórych zasobów przed włączeniem piaskownicy; uzyskiwanie dostępu do niektórych plików, procesów lub zasobów sieciowych przed wprowadzeniem ograniczeń piaskownicy. Wydaje się jednak, że w pewnym momencie ta próba zaczęła się nie powieść, co spowodowało błędy w dzienniku. Domyślam się, że Apple uznał tę „rozgrzewkę” za próbę oszukiwania piaskownicy i zaczął ją ograniczać.
Jeśli czytam poprawnie, ta zmiana dotarła do kanału stabilnego wydania wraz z aktualizacją Google Chrome do 34.0.1847.131 w kwietniu 2014.
Co ciekawe, zespół Chrome omawiał usuwanie tych wywołań metody sharedApplication w październiku 2013 r., A nawet dyskutował nad usunięciem kakao z procesów renderujących jako cel jeszcze w 2009 r.
W powiązanej notatce Apple opublikowało poprawkę bezpieczeństwa w kwietniu 2014 r., Aby rozwiązać błąd polegający na tym, że „sesje WindowServer mogą być tworzone przez aplikacje w piaskownicy”.