Open porg opened 2 years ago
Your investigation looks flawed to me.
1) Have you tried kept SIP partially disabled AND ssdpmEnabler uninstalled ? But seems now it's too late to test this scenario (?) since you already passed the initial stuck issue in photoanalysisd
2) Disable SIP partially and re-install ssdpmEnabler again. Will photoanalysisd get stuck again?
I'm already quite sure, because I had so many other attempts to fix Apple Photos please see them to see what effort I made to rule out the reason to be not in the SIP / kext / power-management / SsdPmEnabler department.
But I'm willing to do one more round of intensive testing. From your two points I assume you want to find out whether the absence of full SIP alone causes this, or whether the actively running ssdpmEnabler.kext.
Ad 1) AFAIR after uninstalling ssdPmEnabler I soon later rebooted into Recovery and there re-enabled SIP.
Ad 2) My idea is to add a further intermediate step to be even more sure. What about this test procedure:
reboot ; csrutil enable --without kext ; reboot
-- State: SIP partially disabled, no unsigned kexts installedTo help your investigation, I would like you get your concept right about ssdpmEnabler. It's a tool (alas a kext) that enables a piece of hardware feature. It's not some sort of service or process that will continously running in the background. It finishes its job in less than 1s. Then will not intervene any other running processes.
Hence, your claim against ssdpmEnabler or 3rd party kexts interveneing photoanalysisd is a bit on the long shot.
Your other claim that disabling SIP might intervene in photoanalysisd is more plausible than the above one.
IMHO, if it's indeed related to power state of your P2, then likely some changes in the OS that causes incompatibility of 3rd party NVMe m.2 with photoanalysisd after certain version of Big Sur update as you've experienced. The incompatibility could be P2 specific (Phison E13T controler) or perhaps 3rd party NVMe controllers in general.
Thanks a lot for the conceptual clarification, specifically that ssdPmEnabler per session does it's job as a oneshot operation and then keeps quiet, not running as a constantly active background job.
So what remains as plausible for photoanalysisd being stuck:
One more idea, relevant for both #18 and #19 and ssdPmEnabler as a whole
For me, photoanalysis stops after partial off SIP, without any kext loaded. Macbook Pro 2015, firmware 428.60.3.0.0, BigSur 11.6.5 (20G527), Samsung 970 Pro 1 TB with latest firmware
photoanalysis
scheduling works seemingly unreliable and erratically.
README.md
Foreword
Environment
Reproduction
Install SsdPmEnable as officially instructed.
Including the partially disabling of SIP with
csrutil enable --without kext
.SsdPmEnable runs correctly over weeks and months and achieves your power savings as intended.
Side effect: Apple Photos stopped curation and face-detection. It is stuck forever.
photoanalysisd
only ever runs a few CPU cycles and then halts again.Fix for side effect: Re-enable SIP and/or uninstall 3rd party Kernel extension SsdPmEnabler
Questions arising from this
photoanalysisd
to work normally?photoanalysisd
particularly configured to run only when the system is "almost or mostly idle"?caffeinate
andpmset
in particularpmset -g assertions
. And as a consequence the power state which certain daemons likephotoanalysis
wait for never kicks in, hence they never run (fully).