Cómo determinar qué está causando que Chrome muestre el diálogo "Aw, Snap"

31

¿Alguien sabe si hay una manera práctica de determinar la causa del "Aw Snap!" mensaje que aparece ocasionalmente en Google Chrome? ¿Chrome tiene un registro de errores al que puedo referirme? Sospecho que este problema es causado por un bucle recursivo en el código que luego se traga toda la memoria. ¿Hay alguna forma de confirmar esto?

QFDev
fuente

Respuestas:

28

Hay, vea las explicaciones aquí: para el inicio de sesión normal en Chrome, puede intentar:

vinnief
fuente
1
Creo que la primera opción ayudará a aislar este problema. La consola de desarrollo se cuelga antes de que pueda generar algo de uso.
QFDev
2
Habilité el registro y cuando Chrome se bloqueó, no registró ningún error en el momento del bloqueo. ¿Hay alguna referencia que pueda proporcionar información sobre los elementos de registro?
Khadim Ali
¿Es esta página de cromo sobre logging.h lo que quieres?
vinnief
¿Podría incluir el contenido abreviado de los enlaces en esta respuesta? Se volverá obsoleto si los enlaces mueren.
mafu
3
La consola Javascript generalmente no es útil en este caso, ya que las herramientas de desarrollo se desconectan cuando la página falla.
PawnStar
28

La cuenta oficial de Twitter de Chrome Developers vinculada a un sitio web que le ayuda a depurar las páginas "Aw snap": http://www.chromium.org/for-testers/enable-logging

La recomendación es iniciar Chrome con estos indicadores:

--enable-logging --v=1

Si lo hace, puede obtener un registro de bloqueo del archivo chrome_debug.logen el directorio de datos de usuario de Chrome (en el directorio principal de Default/) o en la carpeta de compilación binaria ( out\Debug) si está utilizando una compilación de depuración.

Benny Neugebauer
fuente
55
voto positivo porque esta publicación mencionó --enable-logging --v=1 mucho antes de que la edición de la respuesta aceptada lo agregara.
CAD bloke
2

El Aw, Snap! la página generalmente está relacionada con la falla de la segmentación del proceso que podría estar relacionada con el error del software . Para determinar la causa, puede habilitar el registro (como se sugiere en otras respuestas) o analizar la traza inversa del archivo de volcado del núcleo (en macOS , Linux , por ejemplo Ubuntu ).

Si no conoce la causa (por ejemplo, el seguimiento de la pila consiste solo en direcciones de memoria), puede crear un nuevo ticket de soporte en el sistema de seguimiento de errores de Chrome (o verificar dos veces si ya hay uno). Mientras informa, debe cargar e incluir Crash ID yendo a la chrome://crashes/página, para que los encargados de Chrome puedan traducir las direcciones de memoria en símbolos de depuración.

Alternativamente, puede decodificar los volcados de memoria.

Consulte también: ¿Dónde se encuentra el volcado de bloqueo de Google Chrome?


Para simplificar más arriba, estas son las razones principales por las que la página puede fallar:

  • Ha encontrado el error (ya sea en el sitio web o con el navegador web).

    • Error del sitio web

      • Ejemplo: JavaScript VM alcanzó la memoria máxima asignada (bloqueo de falta de memoria).

        Para verificar eso, ejecute DevTools y verifique la pestaña Memoria . Si ese es el caso, el código debería pausarse automáticamente justo antes del posible bloqueo de falta de memoria (por ejemplo, el problema 810015 ). Si es así, informe el problema al propietario del sitio web o perfile el código JS para encontrar el error.

    • Error del navegador

      • Considere deshabilitar extensiones o ejecutar en modo incógnito .
      • Considere eliminar los archivos en caché .
      • Informar de un error .
      • Vuelva a instalar el navegador.
      • Use una versión diferente de Chrome como Chromium , Dev o Canary Channel.
      • Utilice diferentes navegadores como Epic, Firefox, Opera, Brave, Waterfox, Torch u otros.
      • Si el problema es repetible, puede intentar volver a compilar las fuentes de Chrome con símbolos de depuración y analizar el seguimiento de la pila o informarlo.
  • Has alcanzado el máximo de archivos abiertos en tu sistema (ver: # 787381 ).

    En Linux / Unix / macOS, para verificar eso, ejecute:

    sysctl -a | grep files
    

    y verifique si kern.num_filesalcanzó el límite de kern.maxfiles.

    Si ese es el caso, aumente el límite ejecutando los siguientes comandos:

    sysctl -w kern.maxfiles=20480
    which launchctl && launchctl limit maxfiles 65536 unlimited
    which ulimit && ulimit -c unlimited
    
  • Podría tener algún malware / virus que altere sus archivos de Chrome que causan el bloqueo.

  • Podría tener algún problema relacionado con la memoria del hardware . Entonces ejecute alguna prueba (como memtest).

Mac OS

Para mostrar registros de Chrome, ejecute:

log stream --level debug --predicate 'processImagePath contains "Google"'

o ejecutando la aplicación Consola , donde también puede verificar cualquier volcado por caída (o registrarse ~/Library/Logs/DiagnosticReports). Consulte: Error de depuración "Aw, Snap!" En Chrome


Depuración

Si nada de lo anterior ayuda, puede considerar compilar Chrome desde la fuente (lleva mucho tiempo), luego ejecutarlo directamente desde la Terminal. Después de eso, cada error "Aw, Snap!" Debe ser seguido por el seguimiento completo de la pila, incluidas las funciones y la línea en el archivo de código fuente donde sucedió.

kenorb
fuente