High Sierra si blocca all’avvio: opendirectoryd: Too many corpses being created
Ultimo aggiornamento: 5 Maggio 2022
Mi era capitato un improvviso blocco all’avvio di un iMac 27″ 5K late-2015, dopo l’ultimo aggiornamento di macOS High Sierra 10.13.3 che ho risolto solo dopo tanti tentativi grazie ad una soluzione trovata da un utente nei forum Apple. La schermata iniziale con la mela bianca su sfondo nero si bloccava con la barra di avanzamento apparentemente al 100%.
Delusione totale per l’assistenza Apple, seppur volenterosa a livello umano, sia tramite il loro canale ufficiale su Twitter (https://twitter.com/AppleSupport), sia via email e telefono. Ho dovuto insistere molto affinché analizzassero i dati diagnostici, grazie ad un programma chiamato “Capture_Data”, ma senza alcun risultato e anzi con un assurdo consiglio di “provare un altro cavo USB” dopo due settimane di ogni prova possibile (nel mio caso l’HD di avvio interessato era uno esterno). È stato inutile far notare che è un bug riscontrato da molte altre persone e che è inaccettabile che facciano finta di nulla. Invito tutti quelli che avessero un problema simile a tartassare Apple in ogni modo, affinché si prenda la responsabilità di risolvere il problema: https://www.apple.com/feedback/macos.html
Nonostante vi siano centinaia di messaggi di utenti Apple molto arrabbiati per lo stesso tipo di blocco, non c’è ancora un riconoscimento ufficiale del bug e quindi una chiara spiegazione, né una soluzione unica per tutti. Ho deciso quindi di elencare alcuni link ai forum Apple che indicano varie soluzioni possibili da provare e più sotto descrivo il metodo che per me è stato risolutivo e ha fatto ripartire il Mac senza dover formattare. Anticipo subito che reinstallare sopra il sistema esistente non serve a niente, in qualunque modo tradizionale lo si faccia: né da chiavetta USB, né da un’altra partizione interna, né da Recovery, né via internet.
I vari metodi risolutivi che si trovano si basano tutti sullo stesso concetto, cioè che qualcosa nel boot è corrotto e va creato un utente con lo stesso nome corto di quello che non parte (affinché “erediti” tutta la home), dopo aver cancellato a mano da Terminale, in modalità Recovery, i file di sistema e reinstallato High Sierra successivamente.
La soluzione da me testata funziona se avviando in modalità Verbose (cmd-v subito dopo l’accensione) il Mac si blocca con una sfilza di “opendirectoryd: Too many corpses being created” (idem se al posto di “opendirectoryd” c’è “qmasterd”) e si trova in origine in questo forum Apple dal titolo “High Sierra: qmasterd/opendirectoryd: Too many corpses being created”: https://discussions.apple.com/message/33019296#message33019296 (utente rew10000)
Come eliminare il blocco del boot con la barra di progressione che si ferma alla fine
- Accendere il Mac e premere i tasti cmd-v (⌘-v), finché appare una schermata nera con molte scritte bianche (modalità Verbose)
- Verificare l’effettivo blocco come da oggetto, cioè una sfilza di righe con “Process[n] crashed: opendirectoryd. Too many corpses being created” in cui “n” sale all’infinito, bloccando quindi l’ultima parte del processo di avvio
- Spegnere manualmente il Mac tenendo premuto il tasto di accensione
- Riaccendere in modalità Ripristino – Recovery (premendo cmd-r)
- Opzionale: sempre da Ripristino far partire Utility Disco per creare un backup su altro disco in formato immagine
- Restando in Ripristino, il procedimento sarà di aprire il Terminale e rinominare tutte le cartelle di sistema presenti nella root del vostro disco di avvio bloccato (può essere sia quello interno che quello esterno), tranne quelle che volete tenere; io ho mantenuto Applications, Users, Volume e ho invece cancellato anche alcuni file, anche se pare non sia strettamente necessario (.Spotlight e .PKInstallSandboxManager-SystemSoftware). Inoltre in precedenza avevo copiato altrove alcune directory essenziali della Libreria utente, ad es. Firefox, Thunderbird, Messaggi e altre che contengono i dati utente (si può fare accedendo da un altro Mac al disco bloccato facendolo partire in modalità Target “cmd-t”, oppure da altra partizione sullo stesso volume)
- Per vedere l’elenco dei file e scegliere il volume su cui operare: “cd /Volumes/Macintosh\ HD” (oppure il nome del vostro disco tipo “cd /Volumes/MioDisco”) e poi “ls -al” (LS -AL); se il disco è esterno seguite queste brevi istruzioni per accedervi: https://discussions.apple.com/thread/3871334
- Per rinominare le cartelle di sistema da sostituire: “mv System vecchio_System” – “mv Library vecchio_Library” eccetera; attenzione alcune sono dei link, non cancellate quelle scritte ad es. così “/etc –> xxxx”
- Una volta terminato di rinominare, uscite dalla sessione scrivendo “exit” e chiudete il Terminale
- Restando in modalità Ripristino scegliete di reinstallare il sistema sul disco bloccato. Alla fine del lungo processo, High Sierra a mio parere ci mette più tempo dei sistemi precedenti, vi verrà chiesto di scegliere un nome utente e dovrete scrivere lo stesso nome breve che già usavate (il nome breve è quello che inserite all’avvio)
- Finito! Ora dovrebbe avviarsi tutto normalmente. Spegnete e riaccendete un po’ di volte per sicurezza. Io ho anche eseguito una ulteriore pulizia di tutti i database e cache con Onyx.
- Quando siete sicuri che il sistema è stabile, ripartite in modalità Recupero, aprite il Terminale, digitate “ls -al” per ottenere l’elenco dei file e cancellate le cartelle precedentemente rinominate, ad es: “rm -rf vecchio_System”
Può darsi che dobbiate reinstallare alcune applicazioni che richiedono permessi di sicurezza, oppure che vi venga chiesto di autorizzarle tramite le Preferenze di Sistema – Sicurezza e Privacy / Generali.
Nel sito Apple ci sono altre discussioni sullo stesso argomento:
Mac is stuck at full progress bar
https://discussions.apple.com/thread/8204994
High Sierra: qmasterd/opendirectoryd: Too many corpses being created
https://discussions.apple.com/thread/8233402
crashed: too many corpses being created
https://discussions.apple.com/thread/7100079