Hi,
We're starting to see a number of cases being raised internally about some of our Macs (all on macOS 15.1.1) having intermittent login issues. Our devices are bound to AD and our users have been logging on fine for some time but now we're starting to get issues. Sometimes the logins are fine. Sometimes they take ~10 mins and sometimes they appear to stall completely (waited over 2.5 hours in testing) even on the same device. The login screen appears to freeze (the time doesn't change) and you eventually get the spinning beachball. SSH is still working and you can run a "jamf policy" successfully. "Screen Sharing" reports that the user who has attempted to log into the device is the active user when you connect.
Can anyone share some tips as to how we would start to investigate this sort of issue let alone resolve it???
Thanks
Stuart
Thanks
sudo killall HUP loginwindow
sudo launchctl start com.apple.loginwindow
sudo reboot
This didn't always allow the user to log on but it often got the local admin account back in.
I will try that, first I have to work out how to re enable ssh on 700 Macs after a rebuild with a script.
I’ve been given a Mac mini that is experiencing this issue after upgrading to macOS 26 and there definitely feels like there is something odd gong on with the com.apple.backgroundtaskmanagementd daemon.
If I try to stop it via SSH at the login screen, as suggested, I receive…
# launchctl bootstrap system /System/Library/LaunchDaemons/com.apple.backgroundtaskmanagementd.plist
Bootstrap failed: 5: Input/output error
#######
The status of the daemon is “-9” whilst EVERYTHING else is 0 or 1…
# launchctl list | grep background
- -9 com.apple.backgroundtaskmanagementd
#######
As this is a system Daemon there is little control over it. Has anyone else got anywhere with this???
Stuart
################
EDIT
Having looked at the launchd.log (and filtering it for “background”) I seem to have lots of entries like the below so it feels like it is trying to launch something and it is very quickly using far too much RAM and exiting. How do we then track down what sub-process the backgroundtaskmanagement daemon spawns that use too much memory?
2025-09-26 10:20:17.857197 (system/com.apple.backgroundtaskmanagementd) <Notice>: service state: spawning
2025-09-26 10:20:17.857273 (system/com.apple.backgroundtaskmanagementd) <Notice>: launching: ipc (mach)
2025-09-26 10:20:17.859345 (system/com.apple.backgroundtaskmanagementd [867]) <Notice>: xpcproxy spawned with pid 867
2025-09-26 10:20:17.859375 (system/com.apple.backgroundtaskmanagementd [867]) <Notice>: internal event: SPAWNED, code = 0
2025-09-26 10:20:17.859383 (system/com.apple.backgroundtaskmanagementd [867]) <Notice>: service state: xpcproxy
2025-09-26 10:20:17.859396 (system/com.apple.backgroundtaskmanagementd [867]) <Notice>: deferred event: domain spawn response: 0
2025-09-26 10:20:17.859410 (system/com.apple.backgroundtaskmanagementd [867]) <Notice>: internal event: SOURCE_ATTACH, code = 0
2025-09-26 10:20:17.872589 (system/com.apple.backgroundtaskmanagementd [867]) <Notice>: service state: running
2025-09-26 10:20:17.872611 (system/com.apple.backgroundtaskmanagementd [867]) <Notice>: internal event: INIT, code = 0
2025-09-26 10:20:17.872647 (system/com.apple.backgroundtaskmanagementd [867]) <Notice>: Successfully spawned backgroundtaskmanagementd[867] because ipc (mach)
2025-09-26 10:20:17.880333 (pid/867 [backgroundtaskm]) <Notice>: uncorking exec source upfront
2025-09-26 10:20:17.880369 (pid/867 [backgroundtaskm]) <Notice>: created
2025-09-26 10:20:18.084717 (system/com.apple.backgroundtaskmanagementd [867]) <Notice>: exited with exit reason (namespace: 1 code: 0x7) - JETSAM_REASON_MEMORY_PERPROCESSLIMIT, ran for 226ms
2025-09-26 10:20:18.084738 (system/com.apple.backgroundtaskmanagementd [867]) <Notice>: service state: exited
2025-09-26 10:20:18.084750 (system/com.apple.backgroundtaskmanagementd [867]) <Notice>: internal event: EXITED, code = 0
2025-09-26 10:20:18.084756 (system) <Notice>: service inactive: com.apple.backgroundtaskmanagementd
2025-09-26 10:20:18.084804 (system/com.apple.backgroundtaskmanagementd [867]) <Notice>: service state: not running
2025-09-26 10:20:18.084819 (system/com.apple.backgroundtaskmanagementd) <Notice>: Service only ran for 0 seconds. Pushing respawn out by 10 seconds.
2025-09-26 10:20:18.084921 (system/com.apple.backgroundtaskmanagementd) <Notice>: internal event: WILL_SPAWN, code = 0
2025-09-26 10:20:18.084925 (system/com.apple.backgroundtaskmanagementd) <Notice>: service state: spawn scheduled
2025-09-26 10:20:18.084927 (system/com.apple.backgroundtaskmanagementd) <Notice>: service spawn deferred by 10 seconds due to throttle
2025-09-26 10:20:18.125998 (pid/867 [backgroundtaskm]) <Notice>: shutting down
2025-09-26 10:20:18.126020 (pid/867 [backgroundtaskm]) <Notice>: cleaning up
OK - so having spent a lot of time on this today I can confirm the following.
On a Mac that is having issues you can run the following command at the login screen via SSH and if the return contains “-9” then it’s in a bad state and running the following commands resolves it…
launchctl bootout system/com.apple.backgroundtaskmanagementd
launchctl bootstrap system /System/Library/LaunchDaemons/com.apple.backgroundtaskmanagementd.plist
When you start to login the daemon returns to error “-9” and re-running the two commands above seems to allow the login to go straight through.
This is scriptable but it effectively needs to be run as a Launch Daemon to work and this is the thing that is broken.
I have cleared out all of the non-system Daemons and Agents and it still doesn’t work so it doesn’t feel like it’s something that we’ve done but the backgroundtaskmanagement daemon seems to exit after consuming too much memory when sat at the login screen. I need to do some checks on some “good” Macs to see if there is anything different. Stopping and starting the background task Daemon does appear to have negative effects though so I’m not sure if this is viable to become art of any solution but it’s definitely further than I’ve been before. It just feels as though there something that it’s trying to load that is broken.
Hi Stuart, I get an error on the first line
Boot-out failed: 150: Operation not permitted while System Integrity Protection is engaged
do you have sip disabled?
Ah - I did disable it yes, as part of testing. It’s not something I’d want to leave disabled so that stops that being particularly useful...
You can delete that background .btm file that gets created and it will resurrect a device for a time so for the time being we are just deleting the file on every boot until Apple support get back to us to say there’s a fix in the pipeline.
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.
