Comment déterminer ce qui fait que Chrome affiche le dialogue "Aw, Snap"

30

Est-ce que quelqu'un sait s'il existe un moyen pratique de déterminer la cause du "Aw Snap!" message qui apparaît parfois sur Google Chrome? Chrome a-t-il un journal d'erreur auquel je peux me référer? Je soupçonne que ce problème est dû à une boucle récursive dans le code qui engloutit alors toute la mémoire? Y at-il un moyen que je peux confirmer cela?

QFDev
la source

Réponses:

27

Il y en a, voir les explications ici: pour la journalisation ordinaire dans Chrome, vous pouvez essayer:

vigne
la source
1
Je pense que la première option aidera à isoler ce problème. La console de développement se bloque avant de pouvoir produire quoi que ce soit d’utilisation.
QFDev
2
J'ai activé le journal et, lors d'une panne de chrome, aucune erreur n'a été enregistrée au moment de la panne. Existe-t-il une référence qui pourrait fournir des informations sur les éléments du journal?
Khadim Ali
Est-ce que cette page de chrome sur la journalisation.h est ce que vous voulez?
Vinnief
Pourriez-vous s'il vous plaît inclure le contenu abrégé des liens dans cette réponse. Cela ira mal si les liens meurent.
Mafu
3
La console Javascript n'est généralement pas utile dans ce cas, car les outils de développement se déconnectent lorsque la page se bloque.
PawnStar
26

Le compte Twitter officiel de Chrome Developers est lié à un site Web vous permettant de déboguer les pages "Aw snap": http://www.chromium.org/for-testers/enable-logging

La recommandation est de lancer Chrome avec ces drapeaux:

--enable-logging --v=1

Dans ce cas, vous pouvez récupérer un journal des incidents à partir du fichier situé chrome_debug.logdans le répertoire de données de l'utilisateur de Chrome (dans le répertoire parent de Default/) ou dans le dossier de construction binaire ( out\Debug) si vous utilisez une version de débogage.

Benny Neugebauer
la source
5
upvote parce que cet article a mentionné --enable-logging --v=1 bien avant l'édition à la réponse acceptée l'a ajouté.
CAD bloke
2

Le Aw, Snap! Cette page est généralement liée à un crash de segmentation de processus qui pourrait être lié au bogue du logiciel . Pour déterminer la cause, vous pouvez activer la journalisation (comme suggéré dans d'autres réponses) ou analyser la trace de trace du fichier de vidage principal (sous MacOS , Linux , par exemple Ubuntu ).

Si vous ne connaissez pas la cause (par exemple, la trace de pile ne contient que des adresses de mémoire), vous pouvez créer un nouveau ticket de support dans le système de suivi des bogues de Chrome (ou vérifier s'il en existe déjà un). Lors de la création de rapports, vous devez télécharger et inclure l'ID d'incident en accédant à la chrome://crashes/page, afin que les adresses de mémoire puissent être traduites en symboles de débogage par les responsables de Chrome.

Sinon, vous pouvez décoder vous-même les vidages sur incident.

Voir aussi: Où se trouve Google Chrome Crash Dump?


Pour simplifier ci-dessus, voici les principales raisons pour lesquelles la page peut se bloquer:

  • Vous avez trouvé le bogue (sur le site Web ou avec le navigateur Web lui-même).

    • Bug du site

      • Exemple: la machine virtuelle JavaScript a atteint la mémoire maximale allouée (panne de mémoire insuffisante).

        Pour vérifier cela, lancez DevTools et vérifiez l’ onglet Mémoire . Si tel est le cas, le code devrait automatiquement s'interrompre juste avant le blocage imminent de mémoire insuffisante (par exemple, le problème 810015 ). Si tel est le cas, signalez le problème au propriétaire du site Web ou profilez le code JS pour rechercher le bogue.

    • Bug du navigateur

      • Pensez à désactiver les extensions ou à exécuter en mode navigation privée.
      • Envisagez de supprimer les fichiers en cache .
      • Signaler un bug .
      • Réinstallez le navigateur.
      • Utilisez une version différente de Chrome telle que Chromium , Dev ou Canary channel.
      • Utilisez différents navigateurs tels que Epic, Firefox, Opera, Brave, Waterfox, Torch ou autre.
      • Si le problème peut être répété, vous pouvez essayer de recompiler les sources de Chrome avec des symboles de débogage et analyser le suivi de la pile ou le signaler.
  • Vous avez atteint le nombre maximal de fichiers ouverts dans votre système (voir: # 787381 ).

    Sur Linux / Unix / macOS, pour vérifier cela, exécutez:

    sysctl -a | grep files
    

    et vérifier si kern.num_filesatteint la limite de kern.maxfiles.

    Si c'est le cas, augmentez la limite en exécutant les commandes suivantes:

    sysctl -w kern.maxfiles=20480
    which launchctl && launchctl limit maxfiles 65536 unlimited
    which ulimit && ulimit -c unlimited
    
  • Vous pourriez avoir un malware / virus qui altère vos fichiers Chrome provoquant le crash.

  • Vous pourriez avoir un problème lié à la mémoire matérielle . Alors lancez quelques tests (comme memtest).

macOS

Pour afficher les journaux de Chrome, exécutez:

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

ou en exécutant l' application Console , où vous pouvez également rechercher d'éventuels vidages sur incident (ou archivage ~/Library/Logs/DiagnosticReports). Voir: Erreur de débogage «Aw, Snap!» Dans Chrome


Débogage

Si rien de ce qui précède ne vous aide, vous pouvez envisager de compiler Chrome à partir de la source (prend beaucoup de temps), puis de l'exécuter directement à partir du terminal. Après cela, chaque erreur «Aw, Snap!» Devrait être suivie par la trace complète de la pile, y compris les fonctions et la ligne dans le fichier de code source où elle s’est produite.

Kenorb
la source