แก้ไข“ ออกจากปอตไลท์โดยไม่คาดคิด”


5

บน 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 ผู้ใช้ที่เป็นผู้ดูแลระบบของฉัน (คัดลอกด้วยตนเองเพียงโฟลเดอร์ของผู้ใช้นั้น)
อาการเหล่านี้ไม่ปรากฏกับผู้ใช้ผู้ดูแลระบบรายอื่น


1
คุณพยายามปิดการใช้งานสปอตไลท์ด้วยmdutilหรือไม่ สิ่งนี้ควรทิ้ง "ร้านค้า" จากนั้นพยายามให้สปอตไลท์สร้างร้านค้าเหล่านั้นใหม่ คุณอาจเห็นการใช้งาน CPU เพิ่มขึ้นmdworkerชั่วขณะหนึ่ง
fd0

1
@ fd0 dis และเปิดใช้งานทั้งสองใหม่ผ่าน launchctl และ mdutil ไม่มีการเปลี่ยนแปลง
LangLangC

2
โอ้ว้าว - ถ้าคุณค้นพบแล้วmddiagnoseจากการตรวจสอบกิจกรรมและบันทึกเหล่านั้นไม่ได้ช่วยระบุไฟล์ที่ทำให้เกิดความผิดพลาดหรือส่งไปยังวิศวกรรมเพื่อการสนับสนุนเราจะต้องขุดหาวิธีเริ่มกระบวนการสปอตไลท์ในการดีบัก / โหมด verbose เพื่อดูว่าไฟล์ใดบนหน่วยเก็บที่ทำให้เกิดข้อผิดพลาด
bmike

1
@bmike บางที วิศวกรรม: ไม่มีคนจริงที่ปลายเมลอีกต่อไปเมื่อเร็ว ๆ นี้ ... ตอนนี้ฉันคัดลอกแต่ละโฟลเดอร์ตามที่ต้องการจากโคลนที่มีข้อบกพร่อง จนถึงตอนนี้ก็โอเค ไม่มีประสิทธิภาพเท่ากัน - แต่ลึกลับคือทำไมไม่ผิดพลาดที่น่าสนใจในสถานการณ์ดังกล่าวข้างต้นเมื่อการจัดทำดัชนีปิดและภูตยกเลิกlaunchctled? มีอะไรเรียกมันอีกหรือ
LangLangC

1
ฉันค่อนข้างแน่ใจว่าจะจัดทำดัชนีส่วนต่าง ๆ ของระบบไม่ว่าคุณจะพยายามแยกพื้นที่ทั้งหมดที่คุณคาดว่าจะสามารถยกเว้นได้ นอกจากนี้หากไฟล์การกำหนดค่าหรือฐานข้อมูลที่อ่านเมื่อเริ่มถูก hosed มันจะผิดพลาด
bmike
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.