Wednesday, February 7, 2024


Howard Oakley:

CGPDFService turns out to be quite a small background XPC process inside the CoreGraphics framework, located on the System volume (SSV) in the path /System/Library/Frameworks/CoreGraphics.framework/Versions/A/XPCServices/CGPDFService.xpc. The executable is around 313 KB, and is currently in version and build number 1, as it shipped with the first release of Sonoma.


CGPDFService processes reset their user defaults, then await XPC connections from mdworker and mdworker_shared processes. Once those have extracted data to be added to that volume’s Spotlight indexes, mds_stores compresses data passed to it by those mdworker processes.


One solution for dealing with one or a few PDF documents that always choke CGPDFService processes is to isolate them in a folder that is excluded using the Spotlight Privacy list.

2 Comments RSS · Twitter · Mastodon

Corentin Cras-Méneur

The major difficulty with this (and the same applies to all other Spotlight-related issues with corrupted or unscalable file) is to figure out what PDF makes the process choke!
We end up having to perform exclusion by batches à la Conflict Catcher which is tedious to say the least!

Yeah. EagleFiler will log which file or URL it was processing at the time its helper process was killed. If Spotlight does that, I haven’t seen it in the Console spew.

Leave a Comment