0 votos

Atasco en el inicio de sesión de un usuario tras el asistente de migración

Hace poco me arreglaron mi Macbook Air 2018 después de tener algún error criptográfico.

Hice una copia de seguridad de todos mis datos con time machine y pude transferir mis datos utilizando el asistente de migración. Ahora tengo 3 usuarios y sólo puedo acceder a dos de los 3. El tercer usuario es en realidad el único que uso y tiene todo en él. Cuando me conecto, (sé que es la contraseña correcta), me quedo atascado en la página de carga. Llevo casi dos horas esperando.

Sé que hay hilos con un problema similar, pero las soluciones ofrecidas no se ajustaban realmente a los criterios de mi situación (es decir, pude iniciar sesión con otros usuarios excepto uno). Por favor, ayuda, estoy muy agradecido de que sean las vacaciones de primavera de mi universidad, creo que me daría un ataque de pánico si no fuera así. Id realmente realmente agradezco instrucciones sencillas y detalladas porque no tengo conocimientos de sistemas operativos, etc. Muchas gracias.

**No sé si esta información está relacionada con mi problema pero antes de que me arreglaran mi Macbook Air, no podía actualizar el SO debido a ese error criptográfico que mencioné antes. Así que cuando hice una copia de seguridad de mis datos estaba en mojave. No me di cuenta de que mi SO no se actualizaba hasta que necesité descargar XCode para clase y requería el último SO. Terminé borrando todo el disco después de hacer la copia de seguridad de mis datos y luego fui a un centro de distribución. Ahora tengo el último sistema operativo (Big Sur) y esa es la historia de mi problema actual después de transferir mis datos de nuevo.

Aquí está el enlace al archivo spindump.txt : https://drive.google.com/file/d/1Hscr19_0gnp_4TxW3XxtFgeirxVTIOy5/view?usp=sharing

1voto

rybosome Puntos 1829

Podemos tratar de enfocar esto de varias maneras. Empecemos por la más fácil y veamos si podemos recoger un sysdiagnose durante el proceso de inicio de sesión:

  1. Inicie sesión en una de sus cuentas de trabajo.
  2. Ejecute lo siguiente Terminal para habilitar la simbología del kernel: sudo nvram boot-args="keepsyms=1" . Asegúrate de copiar y pegar esto de manera que introduzcas las comillas rectas en lugar de las rizadas/"inteligentes". (Si obtiene un error de permiso, primero tendrá que desactivar la protección de la integridad del sistema . Puedes volver a activarlo cuando termines esta investigación).
  3. Reinicie su máquina normalmente.
  4. Intente acceder a su cuenta de usuario problemática.
  5. En cuanto intente iniciar la sesión, mantenga pulsada la tecla ShiftControlOptionCommand y mientras mantiene estas teclas pulse y suelte el punto . clave.
  6. Esto pretende iniciar silenciosamente un sysdiagnose. Espere al menos 10 minutos para que se complete, y luego haga un apagado forzado (mantenga pulsada la tecla [POWER] durante 10 segundos).
  7. Espere 10 segundos más con la máquina apagada.
  8. Pulse el botón [POWER] botón. Inmediatamente después, mantenga pulsado CommandS para arrancar su máquina en modo de usuario único. Hacemos esto porque, de lo contrario, el informe de sysdiagnose se borrará cuando /tmp se limpia durante el arranque multiusuario.
  9. Puede liberar el CommandS cuando estás en un prompt de comandos y no hay más texto que se desplaza.
  10. A partir de aquí, hay que mover el informe de sysdiagnose a una ubicación donde no se borre: mv /private/var/tmp/sysdiagnose* /Users/YOUR_USERNAME/Desktop . Aquí hay que sustituir YOUR_USERNAME con el nombre de usuario corto de uno de sus usuarios en funcionamiento.
  11. exit
  12. Inicie sesión con el usuario en funcionamiento cuyo nombre utilizó en el paso 10.
  13. Localice el archivo sysdiagnose en su escritorio. Haga doble clic para descomprimirlo.
  14. Sube el spindump.txt en el directorio del informe descomprimido utilizando PasteBin o un servicio equivalente y añada el enlace a su pregunta.

ACTUALIZACIÓN 1:

Mirando tu spindump, hay varios procesos que están usando una cantidad significativa de CPU:

% grep "CPU Time:         " spindump.txt  | sort -d | tail -n 5
CPU Time:         0.330s (661.7M cycles, 244.5M instructions, 2.71c/i)
CPU Time:         0.792s (1615.4M cycles, 642.4M instructions, 2.51c/i)
CPU Time:         2.675s (5.9G cycles, 7.4G instructions, 0.80c/i)
CPU Time:         4.263s (9.6G cycles, 9.0G instructions, 1.07c/i)
CPU Time:         6.450s (12.6G cycles, 15.3G instructions, 0.82c/i)

El de 6,45s pertenece a spindump, lo que es de esperar. Los procesos más interesantes son

% grep -B 12 4.263s spindump.txt | grep Process:
Process:          ReportCrash [369]
% grep -B 12 2.675s spindump.txt | grep Process:
Process:          MRT [83]
% grep -B 12 0.792s spindump.txt | grep Process:
Process:          WindowServer [144]
% grep -B 12 0.330s spindump.txt | grep Process:
Process:          kernel_task [0]

En primer lugar, es sorprendente ver ReportCrash corriendo. Esto sugiere que ha habido un proceso reciente que se ha estrellado y que ahora se está analizando y preparando para informar a Apple. Aunque hay varias explicaciones posibles de por qué está ocurriendo esto en este momento, una teoría es que un elemento de inicio de sesión o un agente de lanzamiento está fallando (repetidamente) al intentar iniciar sesión. Puede consultar esto examinando (desde una cuenta de trabajo o desde el modo de usuario único) el /Library/Logs/DiagnosticReports y la ordenación por fecha de caducidad ( ls -lt en el Terminal / línea de comandos). Compruebe si hay registros de fallos en torno a la hora de su intento de inicio de sesión.

Siguiente, MRT está usando mucho tiempo. MRT es la herramienta de eliminación de malware. Examinando su stackshot, su hilo principal no parece estar bloqueado y parece estar haciendo un montón de E/S y análisis normales. Supongo que está haciendo su trabajo ordinario de escanear tu sistema de archivos en busca de malware. Nada indica que esté involucrado en la cadena de fallos.

Por último, al llegar a WindowServer y kernel_task Cualquiera de los dos puede bloquear fácilmente un inicio de sesión si se comportan mal, de nuevo no veo nada en ninguno de los stackshot que indique un comportamiento anormal.

Por lo tanto, hemos descartado que el hambre de la CPU sea un modo de fallo en este caso. Ahora veamos si hay un proceso bloqueado dentro de la ruta de acceso crítica. Noto prominentemente la ausencia de Finder de la lista de procesos en ejecución, por lo que está claro que hay algo que impide su lanzamiento.

% grep -c "Process:          Finder" spindump.txt
0

Veamos si hay algún proceso que esté intentando fork() y podría estar estancado:

% grep "Parent:           " spindump.txt | grep -v "launchd \[1\]" | sort -d 
Parent:           UserAccountUpdater [363]
Parent:           UserAccountUpdater [363]
Parent:           UserAccountUpdater [363]
Parent:           kernel_task [0]
Parent:           loginwindow [147]
Parent:           sysdiagnose [404]
Parent:           systemstats [84]

Eso es interesante. UserAccountUpdater se está ejecutando, lo que sugiere que su cuenta de usuario se está actualizando. Dado que usted mencionó el uso del Asistente de Migración para llevar su cuenta de Mojave a Big Sur, tiene sentido que la actualización haya comenzado y no haya tenido la oportunidad de completarse. Entonces, ¿hay algo bloqueado en esto?

% grep UserAccountUpdater spindump.txt | grep block
             *1000  ??? (kernel + 6600128) [0xffffff800085b5c0] (blocked by wait4 on UserAccountUpdater [363])

La respuesta es sí. Este marco proviene de un hilo en loginwindow que también colgará absolutamente el proceso de inicio de sesión si algo no está bien. Hay tres hijos de UserAccountHelper :

% grep -C 6 "Parent:           UserAccountUpdater" spindump.txt | grep "Process:          "
Process:          mbcachecleanup [396]
Process:          migrationhelper [389]
Process:          ReminderMigrationTool [390]

mbcachecleanup y migrationhelper ambos tienen rastros saludables. ReminderMigrationTool Sin embargo, se bloquea en una transacción XPC:

Thread 0xcf2    DispatchQueue "com.apple.main-thread"(1)    1000 samples (1-1000)    priority 31 (base 31)
1000  start + 1 (libdyld.dylib + 87585) [0x7fff20555621]
1000  ??? (ReminderMigrationTool + 15952) [0x101fa0e50]
  1000  -[CalInProcessReminderMigrator attemptMigrationWithHomeDirectory:] + 278 (ReminderMigration + 20449) [0x7fff732c0fe1]
    1000  -[CalTruthFilesReminderMigrator attemptMigrationWithHomeDirectory:] + 196 (ReminderMigration + 28484) [0x7fff732c2f44]
      1000  -[CalTruthFilesReminderMigrator _attemptMigrateRemindersDataWithCalendarDirectory:] + 175 (ReminderMigration + 28783) [0x7fff732c306f]
        1000  -[CalTruthFilesReminderMigrator _performMigrationInCalendarDirectory:withContext:] + 941 (ReminderMigration + 30684) [0x7fff732c37dc]
          1000  -[CalReminderMigrationContext ensureAccountsExist:] + 48 (ReminderMigration + 21943) [0x7fff732c15b7]
            1000  -[CalDefaultReminderKitDatabaseMigrationContext ensureAccountsExist:error:] + 142 (ReminderMigration + 9833) [0x7fff732be669]
              1000  -[REMDatabaseMigrationContext ensureAccountsExist:error:] + 64 (ReminderKit + 442631) [0x7fff3d851107]
                1000  -[REMDatabaseMigrationContext ensureAccountsExistWithMigrationAccountInfos:error:] + 219 (ReminderKit + 440075) [0x7fff3d85070b]
                  1000  -[REMDatabaseMigrationContext _cleanLocalDatabases:] + 100 (ReminderKit + 444147) [0x7fff3d8516f3]
                    1000  -[REMStore fetchAccountsIncludingInactive:error:] + 75 (ReminderKit + 107141) [0x7fff3d7ff285]
                      1000  -[REMAccountsDataView fetchAllAccountsForAccountManagementWithError:] + 114 (ReminderKit + 633685) [0x7fff3d87fb55]
                        1000  -[REMStore resultFromPerformingInvocation:error:] + 839 (ReminderKit + 119019) [0x7fff3d8020eb]
                          1000  -[REMStore _xpcSyncStorePerformerWithReason:errorHandler:] + 164 (ReminderKit + 124938) [0x7fff3d80380a]
                            1000  -[REMXPCDaemonController syncStorePerformerWithReason:errorHandler:] + 145 (ReminderKit + 466128) [0x7fff3d856cd0]
                              1000  -[REMXPCDaemonController _syncPerformerWithResolver:reason:errorHandler:] + 109 (ReminderKit + 467124) [0x7fff3d8570b4]
                                1000  -[REMXPCDaemonController _resolveAndCachePerformerWithResolver:reason:errorHandler:] + 482 (ReminderKit + 469269) [0x7fff3d857915]
                                  1000  -[REMXPCDaemonController _resolvePerformerWithResolver:reason:errorHandler:] + 544 (ReminderKit + 473070) [0x7fff3d8587ee]
                                    1000  -[REMXPCDaemonControllerPerformerResolver_store resolveWithDaemon:reason:completion:] + 209 (ReminderKit + 475082) [0x7fff3d858fca]
                                      1000  _NSXPCDistantObjectSimpleMessageSend4 + 42 (Foundation + 821239) [0x7fff214267f7]
                                        1000  -[NSXPCConnection _sendSelector:withProxy:arg1:arg2:arg3:arg4:] + 155 (Foundation + 821458) [0x7fff214268d2]
                                          1000  -[NSXPCConnection _sendInvocation:orArguments:count:methodSignature:selector:withProxy:] + 3090 (Foundation + 118889) [0x7fff2137b069]
                                            1000  __NSXPCCONNECTION_IS_WAITING_FOR_A_SYNCHRONOUS_REPLY__ + 9 (Foundation + 126953) [0x7fff2137cfe9]
                                              1000  xpc_connection_send_message_with_reply_sync + 238 (libxpc.dylib + 45484) [0x7fff2027c1ac]
                                                1000  dispatch_mach_send_with_result_and_wait_for_reply + 50 (libdispatch.dylib + 105326) [0x7fff203a5b6e]
                                                  1000  _dispatch_mach_send_and_wait_for_reply + 518 (libdispatch.dylib + 104310) [0x7fff203a5776]
                                                    1000  mach_msg_trap + 10 (libsystem_kernel.dylib + 3710) [0x7fff20505e7e]
                                                     *1000  ipc_mqueue_receive_continue + 0 (kernel + 573344) [0xffffff800029bfa0] (blocked by turnstile waiting for launchd [1] after 3 hops)

¿Hay otros?

% grep -c "1000  __NSXPCCONNECTION_IS_WAITING_FOR_A_SYNCHRONOUS_REPLY__" spindump.txt
6

Sí: hay seis cuadros que están bloqueados de forma similar. Uno ya se ha explicado anteriormente. Otro está en UserAccountHelper bloqueando el acceso al registro de fuentes. Muy interesante, fontworker y fontd también se bloquean de esta manera. fontd está en el com.apple.xtype.ScannerQueue cola de envío. Esto me lleva inmediatamente a sospechar que el gestor de fuentes se cuelga mientras escanea su biblioteca de fuentes local. Tal vez hay una fuente corrupta y/o una colección de fuentes instalada en su usuario ~/Library/Fonts y/o ~/Library/FontCollections . Deberías renombrar estos directorios e intentar entrar de nuevo.

Hay dos cuadros más en WiFiAgent y otherbsd . También he visto marcos bloqueados en securityd y secinitd que puede ser relevante, pero vamos a investigar lo que hemos discutido hasta ahora.

Para resumir:

  1. Cambia el nombre de tu usuario Fonts y FontCollections directorios (probablemente lo más fácil sea arrancar en modo de usuario único y hacer esto desde la línea de comandos, por ejemplo cd /Users/YOUR_USERNAME/Library && mv Fonts FontsDISABLED && mv FontCollections FontCollectionsDISABLED ).
  2. Comprueba si hay algo en el archivo de ese usuario ~/Library/LaunchAgents .
  3. Registro de entrada /Library/Logs/DiagnosticReports para los informes de accidentes en torno al momento de la avería.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X