1 votos

Cómo diagnosticar demasiados kernel panics en un iMac Retina 2017 de 21" ejecutando Monterey

Esto en un iMac 2017 Retina 21" que ejecuta MacOS 12.4

El día antes de instalar la 12.4 tuve un kernel panic. El día después de instalarla tuve cuatro kernel panics en rápida sucesión en el espacio de media hora. Desde entonces he tenido más. A veces pasa un día sin uno, a veces hay varios en un día. He leído y, en su mayor parte, he seguido esto:

Si su Mac se reinicia y aparece un mensaje

Los registros de Kernel-YYYY-MM-DD-hhmmss.panic (/Library/Logs/DiagnosticReports/) no ofrecen ninguna pista sobre qué software/hardware podría estar causando los pánicos

Hasta ahora lo he hecho:

- Se ha retirado una pantalla externa y un adaptador - Se ha retirado un concentrador USB - No retirado un teclado que no sea de Apple (Logitech) ya que la máquina sería inútil sin él. - No retirado un disco externo ya que la máquina sería inútil para mí sin ellos

Inicié la máquina en modo de recuperación y:

- He ejecutado Disk First aid en el volumen de arranque: No se han encontrado problemas - Reinstalación de MacOS

Inicié la máquina en el modo de diagnóstico y ejecuté los diagnósticos: No se encontraron problemas

Las únicas extensiones que tengo son las instaladas por:

- Convertidor gráfico - Camarero - Dropbox - Google Drive - Marcaje

Los discos externos que no he quitado llevan todos funcionando bien en la máquina desde hace más de un año. El teclado lo tengo desde hace unos 18 meses.

Adjunto las primeras líneas del informe de pánico más reciente. Este muestra que los menús de iStat fueron la tarea de pánico, pero no creo que eso signifique mucho. Cada informe de pánico muestra un proceso diferente como la tarea de pánico.

¿Alguna idea?

He subido cuatro archivos .panic. Enlaces completos:

https://mgnewman.com/panic/Kernel-2022-05-27-160620.panic https://mgnewman.com/panic/Kernel-2022-05-27-160805.panic https://mgnewman.com/panic/Kernel-2022-05-27-163709.panic https://mgnewman.com/panic/Kernel-2022-05-27-163923.panic

El debe ser descargable con curl, o wget o incluso un navegador web.

Deberían ser simbolizados:

    <key>boot-args</key>
    <string>keepsyms=1</string>

Deberían estar simbolizados, pero, según parece, no lo están. Al menos en esta máquina, el cambio de esa configuración de la NVRAM no tuvo el efecto deseado en los archivos de pánico del kernel.

Resultados de MemTest86

MemTest86 V9.4 Free (Build: 1000) Result summary
PassMark Software
www.passmark.com
Test Start Time: 2022-06-02 00:00:27
Elapsed Time: 3:22:42
CPUs Active: 4
CPU Temperature Min/Max/Ave: 67C/81C/72C
RAM Temperature Min/Max/Ave: 100C/142C/125C
# Tests Passed: 48/48 (100%)
Lowest Error Address: N/A
Highest Error Address: N/A
Bits in Error Mask: 0000000000000000
Bits in Error: Total: 0 Min: 0 Max: 0 Avg: 0
Max Contiguous Errors: 0

Modo seguro

Arranqué en modo seguro; algo que nunca había hecho antes, así que no sabía qué esperar. Lo que realmente no me esperaba era la pesadez de la máquina en modo seguro. Apenas se podía utilizar. En lugar de moverse por la pantalla con fluidez, el puntero se movía a trompicones. En los campos de texto, el punto de inserción simplemente desaparecía de vez en cuando. Traté de usar la máquina de esa manera, pero en realidad me sentí agradecido cuando un pánico del kernel reinició la máquina en modo normal y la máquina volvió a funcionar tan suavemente como de costumbre. Qué raro. ¿El modo seguro es siempre así?

2voto

rybosome Puntos 1829

Has activado la simbología del kernel y hemos comprobado que no proporciona un backtrace legible para los humanos. Las posibilidades para esto son (1) que Apple haya eliminado repentinamente la capacidad de simbolización (poco probable), o (2) que las direcciones pertenezcan a un rango que no se asigne a una región simbolizada del código. Ninguna de las dos cosas sería un comportamiento esperado en esta situación.

Además, no conozco ninguna herramienta disponible públicamente para decodificar el macOSProcessedStackshotData campo del informe, lo que podría haber dado lugar a algo procesable.

No obstante, disponemos de información útil incluso sin símbolos:

  1. Los cuatro informes de pánico incluyen lo siguiente idéntico firma:

    Machine-check capabilities: 0x0000000000000c0a
    family: 6 model: 158 stepping: 9 microcode: 240
    signature: 0x906e9
    Intel(R) Core(TM) i5-7500 CPU @ 3.40GHz
    10 error-reporting banks
    Processor 0: IA32_MCG_STATUS: 0x0000000000000005
    IA32_MC0_STATUS(0x401): 0xb200000000030005

    Esta firma significa que su problema pertenece a una clase de pánico llamada Excepción de comprobación de la máquina (MCE), que se inicia en el silicio x86 en lugar de xnu . Así que, con toda probabilidad, el backtrace mostrado sólo mostraría el manejador de pánico MCE AST y no indicaría nada sobre el origen del MCE. Esto es fuertemente sugerido por el hecho de que restando el deslizamiento KASLR de cada una de las direcciones de retorno del marco se obtiene una pila interna idéntica:

    0xffffffxxxxxxxxxx : 0xffffffxxxxx81c8d
    0xffffffxxxxxxxxxx : 0xffffffxxxxxe1596
    0xffffffxxxxxxxxxx : 0xffffffxxxxxd0963
    0xffffffxxxxxxxxxx : 0xffffffxxxxx21a70
    0xffffffxxxxxxxxxx : 0xffffffxxxxx8205d
    0xffffffxxxxxxxxxx : 0xffffffxxxxx81816
    0xffffffxxxxxxxxxx : 0xffffffxxxxx15163
    0xffffffxxxxxxxxxx : 0xffffffxxxxxd19d7
    0xffffffxxxxxxxxxx : 0xffffffxxxxx1c94c
    0xffffffxxxxxxxxxx : 0xffffffxxxxx222cf

    Ese es el patrón en 3 de los 4 pánicos. El cuarto ( Kernel-2022-05-27-160805.panic ) parecía estar en medio de otra operación cuando se produjo el AST. Podría haber sido marginalmente útil saber lo que estaba haciendo, pero supongo que sólo machine_idle() o algo así.

    En otras palabras: Los backtraces no son útiles en este caso.

  2. Echando un vistazo a Manual del desarrollador de software de Intel, vol. 4, cap. 15-16 su informe muestra sistemáticamente que el primer registro MCA local del núcleo ( MC0 ) en su BSP ( Processor 0 ) tiene un error de paridad interna no corregido ( 0xb...05 ). Es más, la CPU no fue capaz (o no tuvo sentido) de identificar una dirección asociada a ese error, por lo que no hay IA32_MC0_ADDR valor del registro a examinar. El código de error específico del modelo ( 0x...3... ) no es decodificable a través de la documentación pública por lo que no sabemos lo que significa para su CPU específica ( Core i5-7500 ).

  3. El hecho de que las cuatro firmas sean idénticas significa que su problema se debe a una causa específica y reproducible.

Y, sin embargo, a pesar de estos importantes indicios, simplemente no disponemos de suficiente información ni de herramientas de depuración para obtener datos más granulares sobre cuál podría ser la causa. Las causas root de los MCE abarcan todo el hardware, el firmware y el software: un fallo en cualquiera de ellos puede manifestarse como un MCE. Debido a la naturaleza de bajo nivel de los MCE y al hecho de que detienen la ejecución de la CPU, la cantidad de datos de diagnóstico útiles que se pueden recopilar de un sistema cerrado en tiempo de ejecución de esta generación de núcleos Intel es muy limitada (en comparación con un pánico del kernel "ordinario", cuando la CPU continúa obteniendo y ejecutando instrucciones y xnu a menudo es capaz de seguir funcionando en gran medida, lo que permite la depuración interactiva).

Lo que esto significa para ti es que estamos como atrapados en un clavo ardiendo por nuestra cuenta. Indicas que has hecho algunos experimentos de aislamiento de hardware. Sólo hay un par de cosas menores que se me ocurren ahí:

  • Qué interfaz(es) (cable(s)) ¿usas para conectar tu(s) disco(s) externo(s) a tu Mac?
  • ¿Puedes probar a correr en Modo seguro (mantener Shift durante el arranque) durante un tiempo y ver si el pánico desaparece por completo o sigue repitiéndose?
  • ¿Puede intentar ejecutar un prueba de memoria ampliada ? (Descargue la versión gratuita y dd el memtest86-usb.img imagen en una unidad flash, y luego arrancar desde ella). Apple Diagnostics a menudo pasa por alto los errores que MemTest86 detecta, así que ejecute eso y vea si obtiene algún error (¡tomará un tiempo!).

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