We hit userspace watchdog panics (logd unresponsive on firehose I/O) during sustained writes into a large APFS file that was created with clonefile and then overwritten at many offsets. The workload was high-rate, relatively small pwrites with F_NOCACHE (and F_NODIRECT) on the clone. That behaved like sparse/COW allocation pressure even though the logical file size looked fully populated. Only reproducible on 2TB AP2048Z SSD. Couldn't get it to panic on any other type of hardware we have :(
We understand clone + overwrite implies COW extent work similar to sparse writes. We’re mainly sharing this as a data point: under prolonged high-IOPS uncached pwrite into a clone, APFS metadata / system services (esp. logd/firehose) can fall far enough behind to trip the userspace watchdog, and the failure mode is easy to misread as a 'preallocated file should be fine' thing.
Unfortunately we had to use customer hardware don't have any 2TB drives, but two customers did) and they won't allow us to share anything else. If it changes, I'll submit a feedback report. Otherwise we can just close this. I found a way to work around it.
Thanks!
Topic:
App & System Services
SubTopic:
Core OS
Tags: