ในขณะที่ตรวจสอบดิสก์ที่มีพื้นที่ว่างลดน้อยลงและ CPU ตรึงที่> 100% ในที่สุดฉันก็พบว่าปัญหานี้เกิดจากการแยกย่อยmdworker
ซ้ำ ๆ ทำให้ syslogd และ CrashReporter ยุ่งมาก
ฉันพยายามสร้างดัชนีของ Spotlight ใหม่ด้วยวิธีปกติ: อันดับแรกผ่านแท็บความเป็นส่วนตัวในการตั้งค่าระบบ -> สปอตไลต์จากนั้นผ่านmdworker -i off / ; mdworker -E -i on /
และเหมือนกันอีกครั้ง แต่มีการแทรกแซงrm -rf /.Spotlight-V100
และรีบูตเพื่อวัดที่ดี ดูเหมือนจะไม่มีอะไรแก้ปัญหาได้
การใช้แท็บความเป็นส่วนตัวเพื่อยกเว้นทุกอย่างยกเว้น/Applications/
และจากนั้นเพิ่ม / ลบโฟลเดอร์นี้เพื่อบังคับให้สแกนซ้ำอีกครั้งและฉันสามารถระบุได้ว่าไฟล์บางไฟล์กำลังจัดทำดัชนีอย่างถูกต้อง (และแสดงในผลลัพธ์ Spotlight) แต่บางไฟล์ไม่ ; อีกเล็กน้อย poking รอบด้วยopensnoop -n mdworker
แสดงให้เห็นว่าเมื่อmdworker
มีการเริ่มต้นด้วยการโพสต์ 501 ในการสแกนแอพลิเคชันไฟล์ที่เป็นของฉันมันทำงานได้ดี (และเดียวกันสำหรับ UIDs อื่น ๆ ไม่กี่คนที่เป็นเจ้าของไฟล์ใน/Applications/
) แต่เมื่อมีการเริ่มต้นด้วยการโพสต์ 89 ( _spotlight
ตาม to dscl . -list /Users UniqueID
) - สันนิษฐานว่าน่าจะสแกนไฟล์ที่ root เป็นเจ้าของ - มันคือ segfaults
นี่คือรายการตัวอย่างจาก Console:
2015-07-16 13:53:25 com.apple.launchd[1] (0x100101670.mach_init.mdworker[13276]) Job appears to have crashed: Segmentation fault
2015-07-16 13:53:25 com.apple.ReportCrash.Root[13274] 2015-07-16 13:53:25.326 ReportCrash[13274:341b] Saved crash report for mdworker[13276] version ??? (???) to /Library/Logs/DiagnosticReports/mdworker_2015-07-16-135325-1_localhost.crash
และนี่คือข้อความที่ตัดตอนมาจากรายงานความผิดพลาด (มันเหมือนกันหมด):
Process: mdworker [13276]
Path: /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Support/mdworker
Identifier: mdworker
Version: ??? (???)
Code Type: X86-64 (Native)
Parent Process: launchd [1]
Date/Time: 2015-07-16 13:53:25.085 +0100
OS Version: Mac OS X 10.6.8 (10K549)
Report Version: 6
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x000000010f5d1062
Crashed Thread: 3
[...]
Thread 3 Crashed:
0 ...ple.CoreServices.CarbonCore 0x00007fff867e7f0b CSStoreGetUnit + 84
1 com.apple.LaunchServices 0x00007fff821721ab _LSContainerCheckState + 65
2 com.apple.LaunchServices 0x00007fff82188fea _LSCopyLibraryItemURLs + 419
3 mdworker 0x0000000100004305 0x100000000 + 17157
4 mdworker 0x0000000100004c22 0x100000000 + 19490
5 mdworker 0x00000001000050f3 0x100000000 + 20723
6 mdworker 0x0000000100009aa2 0x100000000 + 39586
7 libSystem.B.dylib 0x00007fff80b94fd6 _pthread_start + 331
8 libSystem.B.dylib 0x00007fff80b94e89 thread_start + 13
[...]
ฉันแน่ใจว่าเหตุผลนี้ไม่ได้เกิดจากเนื้อหาของไฟล์ที่พยายามสแกนเพราะควรสแกน/Applications/
และopensnoop
ไม่รายงานว่าแตะไฟล์ใด ๆ ที่นั่น (อันที่จริงรายการของไฟล์ที่เปิดสำหรับการหยุดทำงาน UID 89 แต่ละอัน อินสแตนซ์นั้นเหมือนกัน AFAICT)
เป็นไปได้ว่าปัญหานี้เกี่ยวข้องกับปัญหาที่ฉันมีกับ Time Machine ซึ่งเริ่มต้นในเวลาประมาณเดียวกัน: backupd
ยังมี segfaults โดยไม่คาดคิด - ไม่ทันทีเมื่อเริ่มต้น แต่อยู่ระหว่างการติดตั้งไดรฟ์ข้อมูลสำรอง NAS ของฉัน นี่คือข้อความที่ตัดตอนมาจากรายงานความผิดพลาด backupd:
Thread 5 Crashed:
0 ...ple.CoreServices.CarbonCore 0x00007fff867e7f0b CSStoreGetUnit + 84
1 com.apple.LaunchServices 0x00007fff8217f3fb _LSBundleFindWithNode + 544
2 com.apple.LaunchServices 0x00007fff82177bd1 _LSFindOrRegisterBundleNode + 219
3 com.apple.LaunchServices 0x00007fff82177a85 _LSCopyItemAttributeForRefInfoWithOptions + 201
4 com.apple.LaunchServices 0x00007fff821799cf prepareAttributeValueForKey(__CFURL const*, __FileCache*, __CFString const*, void const**, __CFError**) + 79
5 com.apple.LaunchServices 0x00007fff82179934 prepareDistinctLocalizedNameValue(__CFURL const*, __FileCache*, __CFError**) + 36
6 com.apple.LaunchServices 0x00007fff8217990b prepareLocalizedNameValue(__CFURL const*, __FileCache*, __CFError**) + 9
7 com.apple.LaunchServices 0x00007fff82179712 LSPropertyProviderPrepareValues(__CFURL const*, __FileCache*, __CFString const* const*, void const**, long, void const*, __CFError**) + 51
8 ...ple.CoreServices.CarbonCore 0x00007fff867f8dd4 prepareValuesForBitmap(__CFURL const*, __FileCache*, _FilePropertyBitmap*, __CFError**) + 264
9 ...ple.CoreServices.CarbonCore 0x00007fff867f78bd _FSURLCopyResourcePropertiesForKeys + 980
10 com.apple.CoreFoundation 0x00007fff897dc562 CFURLCopyResourcePropertiesForKeys + 98
11 com.apple.DesktopServices 0x00007fff833737af TCFURLInfo::FetchProperties(bool) + 91
12 com.apple.DesktopServices 0x00007fff8337358f TCFURLInfo::Initialize(__CFURL const*, bool, bool) + 183
13 com.apple.DesktopServices 0x00007fff833d1acd TCFURLInfo::Initialize(char const*, unsigned int) + 89
14 com.apple.DesktopServices 0x00007fff833d369c TCFURLInfo::CreateDirectory(TUString const&, TUniqueNamer*, __FSFileSecurity*, bool, TCountedPtr<TCFURLInfo>&) const + 464
15 com.apple.DesktopServices 0x00007fff833dc95a TCopyWriter::CreateNewDestinationItem() + 178
16 com.apple.DesktopServices 0x00007fff833dd136 TCopyWriter::CreateItem() + 1126
17 com.apple.DesktopServices 0x00007fff833dd41e TCopyWriter::Write() + 146
18 com.apple.DesktopServices 0x00007fff833dd6a6 TCopyWriter::WriteTaskProc(void*) + 72
19 ...ple.CoreServices.CarbonCore 0x00007fff867e40d1 PrivateMPEntryPoint + 63
20 libSystem.B.dylib 0x00007fff80b94fd6 _pthread_start + 331
21 libSystem.B.dylib 0x00007fff80b94e89 thread_start + 13
ฉันใช้ Disk Utility เพื่อ (สด) ตรวจสอบระดับเสียงและสิทธิ์การซ่อมแซม ฉันได้ลองติดตั้ง 10.6.8 Combo Update 1.1 และการปรับปรุงเพิ่มเติมแล้ว
สิ่งที่อาจทำให้เกิดปัญหาเหล่านี้และฉันจะแก้ไขได้อย่างไร
/Applications/
เป็นของroot
แต่มันไม่ได้ไปไกลขนาดนั้น