Ejecutando Ventura 13.0.1 en un Macbook Pro 2019 (Intel)
Ocasionalmente -varias veces al día, en momentos que parecen aleatorios- MacOS entra en un estado temporal en el que parece atascarse lanzando nuevos procesos. Es decir, los síntomas son:
- Las aplicaciones en ejecución y el escritorio parecen seguir funcionando; puedo interactuar, mover Windows, abrir menús, etc.
- Introducir un comando en un intérprete de comandos congela el intérprete de comandos
- Al abrir una nueva pestaña en un navegador, éste se congela
- Al intentar abrir una nueva aplicación desde LaunchBar se congela LaunchBar
- Después de cierto tiempo (normalmente 1-2 minutos), se descongela y se inician todas las cosas que estaban en cola: se carga la pestaña del navegador, se ejecuta el comando shell, etc. Y entonces todo funciona normalmente... hasta la próxima vez.
Es decir, me parece que cuando un proceso intenta lanzar un proceso hijo, el fork()
syscall se cuelga durante un tiempo, y mientras tanto el proceso padre se bloquea y por lo tanto no responde. Si es así, parece que podría haber algún tipo de bloqueo de recursos en el kernel que necesita tiempo de espera. Por supuesto que podría estar muy equivocado en todo esto, tal vez algo más está pasando.
No he notado ningún patrón de lo que desencadena esto. Sólo empezó a suceder después de actualizar a Ventura -- post hoc ergo procter hoc ? He probado los martillos gruesos obvios: reiniciar, resetear PRAM & SMC. No veo nada en los registros de la consola.
¿Alguna idea de lo que puede estar pasando? ¿Cómo depurarlo? ¿Y, por supuesto, cómo solucionarlo? :)
Actualización: Acaba de volver a pasar, podía bajar los menús de iStat mientras los nuevos procesos estaban atascados. Más cosas que encontré:
- Durante el tiempo atascado,
kernel_task
bopped arriba y abajo entre el 20% y el 92% de la CPU; después de que el tiempo atascado,kernel_task
vuelve a bajar en torno al 3%.RTProtectionDaemon
también estaba rebotando hasta el 100% y de nuevo hacia abajo, pero lo hace también cuando no está en el tiempo atascado. No hay otra actividad de la CPU de la nota. - Respondiendo al comentario de @mmmmmm: Presión de memoria 10%, Memoria 55%. Ni rastro de ningún proceso swapping hog.
Actualización 2. ¿Quizá iniciar un proceso no sea realmente el (único) problema? Simplemente se atascó, me pasó a tener TextEdit corriendo con ahora ventana. Creé una nueva ventana, escribí algo de texto, y cuando intenté guardar, TextEdit se congeló también. ¿Así que tal vez el problema tiene que ver con el acceso a archivos según el comentario de @Bruce Van Allen? ¿O tal vez es sólo que una vez que el kernel se ha atascado iniciando un proceso, también se bloquea para escribir un archivo?
Actualización 3. He probado a reinstalar Ventura en modo recuperación. No hubo diferencia. Una prueba más de que ocurre espontáneamente y no en respuesta a algo que hago: esta mañana me senté ante el ordenador después de no haberlo tocado en toda la noche, intenté abrir un navegador e inmediatamente se bloqueó durante 2 minutos.
Actualización 4. Según la respuesta de @pion https://apple.stackexchange.com/a/452740/119397 Configuré spindump
pausado en lldb
(desactivando primero la Protección de Integridad del Sistema). Cuando volví a encontrarme con nuevos procesos atascados, continué spindump
vía c
en lldb
. Desgraciadamente, también parecía estar atascado: Nada parecía ocurrir durante los ~2 minutos habituales, y sólo después de eso (cuando otras cosas en cola se abrieron) lldb comenzó a mostrar la salida
Process 1658 resuming
Sampling all processes for 30 seconds with 10 milliseconds of run time between samples
[etc.]
¿Así que parece que lo que bloquea la creación de procesos también bloquea la reanudación de procesos?