Lỗi Google Chrome kỳ lạ trong system.log


10

Tôi đang sử dụng Mavericks và Google Chrome Phiên bản 34.0.1797.2 dev.

Đây là lỗi tôi nhận được:

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)

Bất cứ ý tưởng về những gì có thể gây ra điều này? Tôi đã đi vòng quanh và không tìm thấy manh mối nào ...


1
Tôi thấy rằng thông điệp log chủ yếu kết hợp với vấn đề này: discussions.apple.com/message/23755770#23755770 (Mavericks 'chạy ra ngoài' của socket TCP.)
Benjamin Riggs

1
Hai cái đầu tiên là không đáng để giải thích - hộp cát đang ghi nhật ký từ chối để các nhà phát triển google có thể sửa mã đó vì HĐH đang từ chối quyền truy cập mà mã yêu cầu. Thông điệp cuối cùng có thể cần một ai đó để xem mã nguồn chrome. Vấn đề gì làm những nguyên nhân này? Bạn có thể làm cho các thông báo xuất hiện trên lệnh?
bmike

Tôi không chắc mình có thể kích hoạt chúng hay không. Tôi chỉ không thích quá nhiều thông báo lỗi / cảnh báo trong nhật ký của mình.
Paweł Gościcki

1
Nếu bạn không thích các thông báo cảnh báo trong nhật ký của mình, bạn không nên chạy các phiên bản phần mềm "dev". Trong trường hợp của Chrome, điều này có nghĩa là phần mềm không dành cho phát hành chung và rất có thể nó chứa lỗi và có lẽ các thông báo cảnh báo chỉ dành cho nhà phát triển.
jksoegaard

Xin lỗi nhưng tôi không nghĩ rằng điều này thực sự chính xác. Tôi khá chắc chắn rằng tôi đã nhìn thấy những tin nhắn tương tự vài tháng trước trong kênh ổn định (bên cạnh các vấn đề hiệu suất đáng kể dẫn đến việc tôi chuyển đổi trình duyệt). Và tôi khá chắc chắn rằng những thông báo cụ thể này được tạo ra bởi hệ điều hành như một gợi ý cho các nhà phát triển để sửa mã của họ, thay vì được tạo bởi chính ứng dụng.
Alistair McMillan

Câu trả lời:


3

Như bạn có thể biết Google Chrome chạy như một ứng dụng đa quy trình . Bạn có quy trình "Google Chrome" ban đầu để quản lý giao diện người dùng và phát "máy chủ" cho một số quy trình khác. Một quy trình "trình kết xuất" mới được tạo cho mỗi tab bạn mở trong Chrome, quy trình "plugin" cho mỗi tiện ích mở rộng bạn cài đặt và có một quy trình "GPU" riêng cho mã nói chuyện với GPU của hệ thống. Mỗi quy trình khác này xuất hiện trong Trình giám sát hoạt động dưới dạng quy trình "Trình trợ giúp Google Chrome".

Để làm cho Chrome an toàn hơn, các quy trình kết xuất sẽ chạy trong hộp cát . Họ chỉ có thể nói chuyện với mạng thông qua quy trình lưu trữ và chỉ có thể nói chuyện với các tệp cụ thể (ví dụ: phông chữ và cấu hình ColorSync). Họ cũng bị ngăn không được nói chuyện với các quy trình khác trong hệ thống, đó là nguyên nhân gây ra các thông điệp tường trình này. Các quy trình kết xuất đang cố gắng nói chuyện với các quy trình khởi chạy và windowservice, nhưng bị ngăn không cho làm điều đó vì hộp cát của chúng.

Lỗi này đã được giải quyết bởi một kỹ sư phần mềm trong nhóm Bảo mật Chrome của Google với một cam kết vào tháng 2 năm 2014. Việc xóa một dòng mã này đã giải quyết vấn đề.

[NSApplication sharedApplication];

Ngoài ra, việc gọi phương thức sharedApplication sẽ mở ra một kết nối giữa ứng dụng và WindowServer của OS X, mà bạn có thể thấy lỗi trong lỗi CGSLookupServerRootPort.

Ý định là để Chrome gọi phương thức này để "hâm nóng" một số tài nguyên nhất định trước khi bật hộp cát; đạt được quyền truy cập vào một số tệp, quy trình hoặc tài nguyên mạng nhất định trước khi các hạn chế hộp cát rơi vào vị trí. Tuy nhiên, dường như tại một số điểm, nỗ lực này đã bắt đầu thất bại, dẫn đến những lỗi này trong nhật ký. Tôi đoán là Apple coi việc "hâm nóng" này là một nỗ lực để lừa đảo hộp cát và bắt đầu kẹp chặt nó.

Nếu tôi đọc chính xác, thay đổi này đã đạt đến kênh phát hành ổn định với bản cập nhật Google Chrome lên 34.0.1847.131 vào tháng 4 năm 2014.

Điều thú vị là nhóm Chrome đã thảo luận về việc loại bỏ các cuộc gọi này đến phương thức sharedApplication vào tháng 10 năm 2013 và thậm chí đã thảo luận về việc loại bỏ hoàn toàn Cacao khỏi các quy trình kết xuất như một mục tiêu vào năm 2009.

Trên một lưu ý liên quan, Apple đã phát hành một bản sửa lỗi bảo mật vào tháng 4 năm 2014 để khắc phục một lỗi trong đó "phiên WindowServer có thể được tạo bởi các ứng dụng hộp cát."

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.