4 votos

TCC hace que mi mac se congele durante 5-20 segundos de forma esporádica a lo largo del día. ¿Cómo puedo solucionarlo?

Esporádicamente a lo largo del día mientras estoy trabajando en mi iMac de 27" de 2017 con macOS 10.14.6, todo el sistema se congela durante 5-20 segundos. No parece haber ninguna razón para ello, pero ocurre sobre todo cuando se utilizan aplicaciones que hacen uso de los permisos de accesibilidad, como xGestures o BetterTouchTool. Más tarde confirmé (como se documenta en esta pregunta ) que el problema es TCC; el proceso WindowServer del sistema está haciendo algún tipo de comprobación para asegurarse de que un proceso tiene los permisos que necesita, y se está bloqueando mientras lo hace, haciendo que todo el sistema se congele hasta que termine. Durante estos momentos el cursor se sigue moviendo, pero no puedo hacer clic en nada en la pantalla.

¿Alguien tiene alguna idea de qué está fallando aquí, o cómo puedo solucionarlo?

Hasta ahora he tratado de restablecer la base de datos TCC utilizando el comando tccutil reset All Y aunque al principio parecía que mi ordenador era un poco más ágil, en cuanto concedí a todas las aplicaciones que utilizo los permisos que requieren, volvieron los bloqueos. También he reinstalado macOS desde el entorno de recuperación y eso tampoco lo arregló.

Tengo un MacBook Pro de 2019 con la misma versión de Mojave y con gran parte del mismo software instalado, y no tiene este problema, por si sirve de algo.

También he leído esta pregunta pero se trata de un problema diferente relacionado con TCC, y el uso de un perfil MDM no ayudará, ya que su propósito es añadir aplicaciones a la base de datos de TCC sin requerir la intervención del usuario. Esta pregunta no se refiere a los retrasos de sub-segundos introducidos por TCC cuando se lanzan aplicaciones, sino a un fallo de TCC que hace que literalmente todo el Mac deje de responder durante varios segundos.

Actualización 17/06/2021: uno de los desencadenantes de este fallo parece ser las aplicaciones que tienen una firma no válida o que falta. Acabo de conseguir desencadenar este fallo de forma consistente en una app con una firma no válida en la que uno de sus procesos hijo estaba intentando enviar eventos de Apple. Luego lo arreglé renunciando a la app con mi certificado "Developer ID Application". No sé en este momento si ese tipo específico de certificado es necesario.

0 votos

@EzekielElin Lo he visto. No creo que haga lo que quiero, si lo he entendido bien. Por lo que veo, describe el uso de MDM + un perfil de configuración para establecer automáticamente que ciertas apps ya tienen concedidos algunos permisos TCC. Pero por lo que puedo ver, eso es equivalente a simplemente conceder el permiso de aplicaciones manualmente, y añadirá las entradas apropiadas a la base de datos TCC. No veo ninguna manera de desactivar TCC por completo.

0 votos

Es la misma pregunta, sólo que la respuesta utiliza MDM.

2voto

GuyGizmo Puntos 243

He descubierto que el problema son las aplicaciones a las que les falta la firma, o tienen una firma no válida.

En estos casos, cada vez que intentan acceder a algo que requiere pasar por TCC, sobre todo usando AppleScript o eventos de Apple, todo el sistema se congela mientras TCC se revuelve... algo . Mi mejor hipótesis es que está recalculando una firma para la aplicación en cuestión, y si el paquete de la aplicación es bastante grande, como es el caso de algunas de las aplicaciones firmadas de forma inválida con las que estaba trabajando, puede tardar bastante tiempo. He descubierto que es reproducible en todos mis sistemas MacOS 10.14.

No entiendo por qué el sistema tiene que congelarse durante este tiempo. Eso me parece un diseño muy, muy malo. Esencialmente, todo el servidor de ventanas se bloquea mientras espera que TCC termine su trabajo. (Ver esta pregunta anterior mía para saber cómo descubrí que esto es así).

La solución, más bien una solución provisional, es renunciar a la aplicación ofensiva. He encontrado que el uso de una firma ad-hoc (es decir. codesign -f -s - /path/to/app.app ) parece funcionar.

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