0 votos

Los diálogos modales bloquean todos los clics del ratón

Desde hace unos días, los clics del ratón son ignorados en muchos diálogos modales o el diálogo no se abre. Por ejemplo, cuando abro un diálogo de Impresoras y Escáneres ->Impresora, no puedo hacer clic para elegir el escáner.

Muchos diálogos de carga de archivos en Chrome o Firefox no se abren, o si lo hacen, el clic del ratón es ignorado, y debo usar el teclado para tabular al archivo en el selector de archivos.

Al hacer clic para "imprimir" en un PDF desde el diálogo de impresión en Firefox, la interfaz gráfica de usuario se congela.

¿Qué puede causar esto? ¿Cómo puedo diagnosticarlo?

BigSur 11.1.6 en Macbook Pro 2017

0 votos

¿Has reiniciado desde que empezó esto?

0 votos

Gracias, eso ayuda. ¿Sabe usted una causa root o una manera de evitar que esto suceda de nuevo?

1voto

rybosome Puntos 1829

Muchos paneles modales se presentan en nombre de una aplicación anfitriona mediante demonios del sistema y marcos de trabajo . Hay un comunicación entre procesos (IPC) que tiene lugar cada vez que una aplicación presenta un panel de este tipo. Un fallo en cualquiera de los dos lados puede hacer que una app aparezca colgada en un panel.

Reiniciar el Mac suele resolver este tipo de problemas. Aunque es imposible saber la causa exacta en su caso, es probable que sea el resultado de un error que afecta a uno de los marcos o demonios de la interfaz de usuario, como SystemUIServer . Es notoriamente difícil evitar los bloqueos y bloqueos de vida cuando se escribe código que requiere IPC, por lo que errores como este no son tan sorprendentes. (Especialmente cuando se utilizan programas mal escritos como Cromo y Firefox que son bien conocidos por emplear un montón de patrones de diseño no estándar en lugar de APIs estándar y, por lo tanto, causar todo tipo de problemas más allá de la inestabilidad del sistema).

En general, para depurar problemas como este en el futuro con la esperanza de que sea root la que los provoque, primero debe recopilar un spindump durante un periodo de tiempo en el que se cuelga la aplicación. Para ello:

  1. Ejecute lo siguiente Terminal para habilitar la simbología del kernel:

     sudo nvram boot-args="keepsyms=1"

    Asegúrate de copiar y pegar esto para 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).

  2. Reinicie su máquina y no abra ninguna aplicación excepto Terminal .

  3. En Terminal introduzca el siguiente comando y pulse Return Escriba su contraseña, pero no pulse Return de nuevo :

     sudo spindump -reveal -noProcessingWhileSampling
  4. Realiza una operación que sabes que será anormalmente lenta.

  5. En cuanto empiece a sentir la lentitud, vaya al Terminal en la que ha introducido su contraseña y pulse Return para que el comando comience a ejecutarse. No hagas nada más en el ordenador mientras se ejecuta, de lo contrario distorsionarás la recogida de datos.

  6. Después de esperar >10 segundos para recoger una muestra y otro minuto o dos para simbolizar y formatear, obtendrá un archivo en /tmp/spindump.txt que contiene un stackshot de cada proceso.

  7. Sube el archivo a PasteBin o algún lugar equivalente y añada el enlace a su pregunta original. Podremos echarle un vistazo y proponer los siguientes pasos para la investigación.

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