ข้อผิดพลาดแปลก ๆ ของ Google Chrome ใน system.log


10

ฉันใช้ Mavericks และ Google Chrome เวอร์ชัน 34.0.1797.2 dev

นี่เป็นข้อผิดพลาดที่ฉันได้รับ:

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
ฉันเห็นข้อความเข้าสู่ระบบที่เป็นหลักในการร่วมกับปัญหานี้discussions.apple.com/message/23755770#23755770 (Mavericks 'หมด' ซ็อกเก็ต TCP.)
เบนจามินริกส์

1
สองคนแรกนั้นอธิบายได้เล็กน้อย - แซนด์บ็อกซ์กำลังบันทึกการปฏิเสธเพื่อให้นักพัฒนาของ Google สามารถแก้ไขโค้ดนั้นได้เนื่องจากระบบปฏิบัติการปฏิเสธการเข้าถึงที่โค้ดถาม ข้อความสุดท้ายอาจต้องการใครสักคนที่จะดูซอร์สโค้ดของโครเมี่ยม สาเหตุใดที่ทำให้เกิดปัญหา คุณสามารถทำให้ข้อความปรากฏตามคำสั่งได้หรือไม่?
bmike

ฉันไม่แน่ใจว่าฉันสามารถเรียกพวกเขา ฉันไม่ชอบข้อความแสดงข้อผิดพลาด / ข้อความเตือนในบันทึกของฉันมากเกินไป
PawełGościcki

1
หากคุณไม่ชอบข้อความเตือนในบันทึกของคุณคุณไม่ควรเรียกใช้ซอฟต์แวร์รุ่น "dev" ในกรณีของ Chrome หมายความว่าซอฟต์แวร์ไม่ได้มีไว้สำหรับการเปิดตัวทั่วไปและเป็นไปได้ว่ามีข้อบกพร่องและอาจมีข้อความเตือนสำหรับนักพัฒนาซอฟต์แวร์เท่านั้น
jksoegaard

ขออภัยฉันไม่คิดว่ามันถูกต้องจริง ฉันค่อนข้างแน่ใจว่าฉันเห็นข้อความเดียวกันเมื่อสองสามเดือนที่ผ่านมาในช่องเสถียร (พร้อมกับปัญหาด้านประสิทธิภาพที่สำคัญซึ่งทำให้ฉันเปลี่ยนเบราว์เซอร์) และฉันค่อนข้างมั่นใจว่าข้อความเฉพาะเหล่านี้สร้างขึ้นโดยระบบปฏิบัติการเพื่อเป็นแนวทางให้นักพัฒนาแก้ไขรหัสแทนที่จะสร้างโดยแอปพลิเคชันเอง
Alistair McMillan

คำตอบ:


3

ในขณะที่คุณอาจจะรู้ว่าการทำงานของ Google Chrome เป็นโปรแกรมประยุกต์แบบหลายขั้นตอน คุณมีกระบวนการ "Google Chrome" เริ่มต้นที่จัดการ UI และเล่น "โฮสต์" กับกระบวนการอื่น ๆ กระบวนการ "renderer" ใหม่ถูกสร้างขึ้นสำหรับแต่ละแท็บที่คุณเปิดใน Chrome กระบวนการ "ปลั๊กอิน" สำหรับแต่ละส่วนขยายที่คุณติดตั้งและมีกระบวนการ "GPU" แยกต่างหากสำหรับรหัสที่พูดถึง GPU ของระบบ กระบวนการอื่น ๆ เหล่านี้จะปรากฏในการตรวจสอบกิจกรรมเป็นกระบวนการ "ตัวช่วย Google Chrome"

ในการทำให้ Chrome ปลอดภัยมากขึ้นกระบวนการแสดงผลทำงานในกระบะทราย พวกเขาสามารถพูดคุยกับเครือข่ายผ่านกระบวนการโฮสต์และสามารถพูดคุยกับไฟล์ที่ระบุเท่านั้น (ตัวอย่างเช่นแบบอักษรและโปรไฟล์ ColorSync) พวกเขายังป้องกันไม่ให้พูดคุยกับกระบวนการอื่น ๆ ในระบบซึ่งเป็นสิ่งที่ทำให้ข้อความบันทึกเหล่านี้ กระบวนการตัวเรนเดอร์กำลังพยายามพูดคุยกับกระบวนการเรียกใช้และบริการ windows แต่ถูกป้องกันไม่ให้ทำเช่นนั้นเนื่องจากกล่องทรายของพวกเขา

ข้อผิดพลาดนี้ได้รับการแก้ไขโดยวิศวกรซอฟต์แวร์ในทีมรักษาความปลอดภัยของ Chrome ของ Google ด้วยความมุ่งมั่นในเดือนกุมภาพันธ์ 2014 การลบรหัสหนึ่งบรรทัดนี้เพื่อแก้ไขปัญหา

[NSApplication sharedApplication];

ในบรรดาสิ่งอื่น ๆ การเรียกวิธีการ sharedApplication จะเปิดการเชื่อมต่อระหว่างแอปพลิเคชันและ WindowServer ของ OS X ซึ่งคุณสามารถเห็นความล้มเหลวในข้อผิดพลาด CGSLookupServerRootPort

จุดประสงค์คือให้ Chrome เรียกวิธีนี้เพื่อ"อุ่นเครื่อง"ทรัพยากรบางอย่างก่อนเปิดใช้งานกล่องทราย การเข้าถึงไฟล์กระบวนการหรือทรัพยากรเครือข่ายบางอย่างก่อนที่จะมีข้อ จำกัด ของ sandbox อย่างไรก็ตามดูเหมือนว่าในบางครั้งความพยายามนี้เริ่มล้มเหลวส่งผลให้เกิดข้อผิดพลาดเหล่านี้ในบันทึก ฉันเดาว่า Apple คิดว่า "อุ่นเครื่อง" นี้เป็นความพยายามที่จะโกงทรายและเริ่มบีบลงบนมัน

หากฉันอ่านอย่างถูกต้องการเปลี่ยนแปลงนี้จะมาถึงช่องทางการเผยแพร่ที่เสถียรด้วยการอัปเดตของ Google Chrome เป็น 34.0.1847.131ในเดือนเมษายน 2014

ที่น่าสนใจคือทีมงาน Chrome ได้พูดคุยเกี่ยวกับการลบการโทรเหล่านี้ไปยังวิธีการสมัครของแอพพลิเคชั่นในเดือนตุลาคม 2556 และแม้กระทั่งการพูดถึงการลบ Cocoa ทั้งหมดออกจากกระบวนการเรนเดอร์

ในบันทึกที่เกี่ยวข้อง Apple ออกตัวแก้ไขความปลอดภัยในเดือนเมษายน 2014 เพื่อแก้ไขข้อผิดพลาดที่ "เซสชัน WindowServer สามารถสร้างโดยแอปพลิเคชันแซนด์บ็อกซ์"

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.