Дивні помилки Google Chrome у system.log


10

Я використовую Mavericks та Google Chrome версії 34.0.1797.2 розробника.

Це помилка, яку я отримую:

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
Я бачу це повідомлення журналу насамперед у поєднанні з цією проблемою: дискусії.apple.com/ message/ 23755770#23755770 (Mavericks 'закінчується' з сокетів TCP.)
Бенджамін Ріггс,

1
Перші два є дрібницею для пояснення - пісочниця реєструє відмови, тому розробники google можуть виправити цей код, оскільки ОС забороняє доступ до запиту коду. Останнє повідомлення може знадобитися, щоб хтось подивився на хромований вихідний код. Яку проблему вони викликають? Чи можете ви зробити так, щоб повідомлення відображалися командно?
bmike

Я не впевнений, чи зможу я їх викликати. Мені просто не подобається занадто багато повідомлень про помилки / попередження в моїх журналах.
Paweł Gościcki

1
Якщо ви не любите попереджувальні повідомлення у своїх журналах, ви просто не повинні запускати "dev" версії програмного забезпечення. У випадку Chrome це означає, що програмне забезпечення не призначене для загального випуску, і що воно, швидше за все, містить помилки та, можливо, попереджувальні повідомлення, призначені лише для розробників.
jksoegaard

Вибачте, але я не думаю, що це насправді правильно. Я впевнений, що я бачив ті самі повідомлення кілька місяців тому на стабільному каналі (поряд із значними проблемами з продуктивністю, які спричинили перемикання браузера). І я впевнений, що ці конкретні повідомлення генеруються операційною системою як натяк розробникам на виправлення свого коду, а не генерується самим додатком.
Алістер Макміллан

Відповіді:


3

Як ви знаєте, Google Chrome працює як багатопроцесорний додаток . У вас є початковий процес "Google Chrome", який управляє інтерфейсом користувача та відтворює "хост" для ряду інших процесів. Для кожної вкладки, що відкривається в Chrome, створюється новий процес "візуалізації", процес "плагін" для кожного встановленого розширення, і існує окремий процес "GPU" для коду, який спілкується з GPU системи. Кожен з цих інших процесів відображається в "Моніторі діяльності" як "помічник Google Chrome".

Щоб зробити Chrome більш безпечним, процеси візуалізації працюють у пісочниці . Вони можуть спілкуватися з мережею лише через хост-процес і можуть спілкуватися лише з певними файлами (наприклад, шрифтами та профілями ColorSync). Їм також забороняється спілкуватися з іншими процесами в системі, що є причиною цих повідомлень журналу. Процеси рендерінгу намагаються поговорити з процесами обслуговування та запуску вікон, але їм це заважає через їх пісочницю.

Цю помилку вирішив інженер програмного забезпечення в команді Google із безпеки Chrome з зобов’язанням в лютому 2014 року. Видалення цього одного рядка коду вирішило проблему.

[NSApplication sharedApplication];

Крім усього іншого, виклик методу sharedApplication відкриває з'єднання між програмою та WindowServer OS X, що ви можете побачити, коли не вдалося помилку CGSLookupServerRootPort.

Chrome має намір закликати цей метод "підігріти" певні ресурси, перш ніж ввімкнути пісочницю; отримання доступу до певних файлів, процесів або мережевих ресурсів до того, як набули обмеження в пісочному режимі. Однак здається, що в якийсь момент ця спроба почалася невдалою, внаслідок чого в журналі виникли ці помилки. Я здогадуюсь, що Apple вважала це «прогріванням» спробою обдурити пісочницю і почала стискати її.

Якщо я правильно читаю, ці зміни дійшли до стабільного каналу випуску з оновленням Google Chrome до 34.0.1847.131 у квітні 2014 року.

Цікаво, що команда Chrome обговорювала видалення цих викликів методом sharedApplication ще в жовтні 2013 року і навіть обговорювала питання про вилучення Какао з процесів візуалізації як ціль ще в 2009 році.

У відповідній замітці Apple випустила виправлення безпеки у квітні 2014 року, щоб вирішити помилку, де "сеанси WindowServer можуть створюватися програмами з пісочним кодом".

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.