บน macOS 10.12.6 SIP ถูกปิดใช้งาน (เพื่อออกคำสั่ง NVRAM)
ไม่เกี่ยวข้องกับคำสั่งนั้น แต่อาจเกี่ยวข้องกับการปิดใช้งาน SIP: หลังจากรีบูตไอคอน Spotlight หายไปข้อผิดพลาด PreferencePane ด้วย "ไม่สามารถโหลดบานหน้าต่างการกำหนดค่าตามความชอบ Spotlight" และกระบวนการ Spotlight หยุดทำงานอย่างต่อเนื่อง
Launchd รายงาน com.apple.spotlight เป็นสถานะ 6971 (ตัวเลขแตกต่างกัน) ในตอนแรกจากนั้น SIGABRT; และรายการผู้รายงานความผิดพลาด:
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Application Specific Information:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFConstantString count]: unrecognized selector sent to instance 0x7fffa84e4d40'
terminating with uncaught exception of type NSException
abort() called
ฉันลองปิดการใช้งาน Spotlight ด้วย
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist
ที่ดำเนินการโดยไม่มีข้อผิดพลาด
คำสั่ง
sudo mdutil -a -i off
ยังทำงานโดยไม่มีข้อผิดพลาดก่อนที่จะปิดการใช้งานสปอตไลต์ ตอนนี้ข้อความแสดงข้อผิดพลาดสำหรับคำสั่งนั้นคือ:
Spotlight server is disabled.
ตอนนี้ ActivityMonitor แสดงเฉพาะ SpotlightAggregator ที่ยังทำงานอยู่ไม่มีกระบวนการ "สปอตไลท์" ไม่ "md *" ปรากฏขึ้น
EtreCheck เน้นข้อมูลนี้:
System Software: macOS Sierra 10.12.6 (16G1408) System Load: 2.43 (1 min ago) 2.25 (5 min ago) 1.83 (15 min ago) Diagnostics Information (past 7 days): Spotlight.app Crash /System/Library/CoreServices/Spotlight.app *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFConstantString count]: unrecognized selector sent to instance 0x7fffa90ced40' terminating with uncaught exception of type NSException abort() called
การตรวจสอบกิจกรรมที่เสนอ "การวินิจฉัยที่น่าสนใจ" ให้ข้อมูลจำนวนมาก แต่ไม่เปิดเผยสิ่งใดเลย
sudo launchctl list | grep -i md
- 0 com.apple.metadata.mds.scan
- 0 com.apple.mtmd
- 0 com.apple.mdmclient.daemon
228 0 com.apple.mDNSResponderHelper.reloaded
- 0 com.apple.metadata.mds.index
- 0 com.apple.msrpc.mdssvc
222 0 com.apple.mDNSResponder.reloaded
2428 0 com.apple.xpc.smd
80 0 com.apple.metadata.mds
- 0 com.apple.platform.ptmd
- 0 com.apple.metadata.mds.spindump
79 0 com.apple.warmd
ตอนนี้กระบวนการ ReportCrash วนเวียนอยู่บนเครื่องนี้ระหว่างการใช้งาน CPU 40% ถึง 100% เนื่องจาก Spotlight หยุดทำงาน 6 ครั้งต่อนาที ..
มันจะเป็นการดีถ้าได้ไปถึงสาเหตุของเรื่องนี้ แต่ถึงแม้จะไม่เคยใช้สปอตไลท์การแก้ไขปัญหาอย่างรวดเร็วสำหรับการล่มก็ดี
ฉันจะแก้ไขข้อผิดพลาดนี้ได้อย่างไร อย่างน้อยฉันจะหยุด Spotlight ไม่ให้ปิดการใช้งานคอมพิวเตอร์ทั้งหมดด้วยรายงานข้อผิดพลาดคงที่ได้อย่างไร
อัปเดต: สร้างสื่อการติดตั้งและติดตั้งใหม่ด้วยตัวติดตั้ง Sierra ล่าสุดบนระบบเก่า ระบบถูกลดระดับเป็น 10.12.6 (16G29)
ผลลัพธ์: สปอตไลท์ยังคงล้มเหลว
Update3:
หลังจากการติดตั้งใหม่ทั้งหมด
Update2: หลังจากการติดตั้งใหม่ทั้งหมด Spotlight ทำงานได้ตามที่โฆษณาไว้ แต่ความคิดที่โง่ที่สุดที่เคยมีมาคือ MigrationAssistant ก็ทำการโยกย้ายข้อผิดพลาดได้เช่นกัน ฉันสรุปได้ว่าข้อผิดพลาดไม่ได้อยู่ในไบนารีที่ Apple ส่งออกมา แต่ภายในไฟล์การกำหนดค่าที่ MigrationAssistant ไม่ทำให้เกิดปัญหา
หลังจากติดตั้งระบบใหม่อีกครั้งฉันต้องสังเกต Spotlight ทำงานล้มเหลวพร้อมกับ AppleSpell, Recommendd, CalendarAgant และ SafarBookamrksSyncAgent ผู้ใช้ที่เป็นผู้ดูแลระบบของฉัน (คัดลอกด้วยตนเองเพียงโฟลเดอร์ของผู้ใช้นั้น)
อาการเหล่านี้ไม่ปรากฏกับผู้ใช้ผู้ดูแลระบบรายอื่น
mddiagnose
จากการตรวจสอบกิจกรรมและบันทึกเหล่านั้นไม่ได้ช่วยระบุไฟล์ที่ทำให้เกิดความผิดพลาดหรือส่งไปยังวิศวกรรมเพื่อการสนับสนุนเราจะต้องขุดหาวิธีเริ่มกระบวนการสปอตไลท์ในการดีบัก / โหมด verbose เพื่อดูว่าไฟล์ใดบนหน่วยเก็บที่ทำให้เกิดข้อผิดพลาด
launchctled
? มีอะไรเรียกมันอีกหรือ
mdutil
หรือไม่ สิ่งนี้ควรทิ้ง "ร้านค้า" จากนั้นพยายามให้สปอตไลท์สร้างร้านค้าเหล่านั้นใหม่ คุณอาจเห็นการใช้งาน CPU เพิ่มขึ้นmdworker
ชั่วขณะหนึ่ง