Come determinare cosa sta facendo sì che Chrome mostri la finestra di dialogo "Aw, Snap"


31

Qualcuno sa se esiste un modo pratico per determinare la causa del "Aw Snap!" messaggio che appare occasionalmente su Google Chrome? Chrome ha un registro degli errori a cui posso fare riferimento? Sospetto che questo problema sia causato da un ciclo ricorsivo nel codice che sta ingoiando tutta la memoria? C'è un modo per confermare questo?



Risposte:


28

Ecco, vedi le spiegazioni qui: per la registrazione ordinaria in Chrome, potresti provare:


1
Penso che la prima opzione contribuirà a isolare questo problema. La console di sviluppo si blocca prima di poter produrre qualsiasi cosa utile.
QFDev,

2
Ho abilitato il registro e in seguito all'arresto anomalo di Chrome non è stato registrato alcun errore al momento dell'arresto anomalo. Esistono riferimenti che potrebbero fornire approfondimenti sugli elementi del registro?
Khadim Ali,


Potresti includere il contenuto abbreviato dei link in questa risposta. Diventerà stantio se i collegamenti muoiono.
mafu

3
La console Javascript di solito non è utile in questo caso, poiché gli strumenti di sviluppo si disconnettono quando la pagina si arresta in modo anomalo.
PawnStar

28

L'account Twitter ufficiale di Chrome Developers collegato a un sito Web che consente di eseguire il debug delle pagine "Aw snap": http://www.chromium.org/for-testers/enable-logging

La raccomandazione è di avviare Chrome con questi flag:

--enable-logging --v=1

Se lo fai, puoi prendere un registro degli arresti anomali dal file chrome_debug.lognella directory dei dati utente di Chrome (nella directory padre di Default/) o nella cartella di compilazione binaria ( out\Debug) se stai usando una build di debug.


5
voto perché questo post menzionato --enable-logging --v=1 molto prima che la modifica alla risposta accettata lo aggiungesse.
Bloke CAD

2

The Aw, Snap! la pagina è generalmente correlata all'arresto anomalo della segmentazione del processo che potrebbe essere correlato al bug del software . Per determinare la causa, è possibile abilitare la registrazione (come suggerito in altre risposte) o analizzare il backtrace del file di dump principale (su macOS , Linux , ad esempio Ubuntu ).

Se non si conosce la causa (ad es. Stack trace consistono solo in indirizzi di memoria), è possibile creare un nuovo ticket di supporto sul sistema di tracciamento dei bug di Chrome (o ricontrollare se ne esiste già uno). Durante la segnalazione, è necessario caricare e includere l'ID incidente andando alla chrome://crashes/pagina, in modo che gli indirizzi di memoria possano essere tradotti in simboli di debug dai manutentori di Chrome.

In alternativa puoi decodificare tu stesso i dump di crash .

Vedi anche: Dove si trova Google Chrome Crash Dump?


Per semplificare sopra, ecco i motivi principali per cui la pagina può bloccarsi:

  • Hai trovato il bug (sul sito web o con il browser stesso).

    • Bug del sito Web

      • Esempio: la VM JavaScript ha raggiunto la memoria massima allocata (crash della memoria insufficiente).

        Per verificarlo, esegui DevTools e controlla la scheda Memoria . In tal caso, il codice dovrebbe essere automaticamente messo in pausa appena prima del potenziale arresto anomalo della memoria (ad es. Numero 810015 ). In tal caso, segnala il problema al proprietario del sito Web o profila il codice JS per trovare il bug.

    • Bug del browser

      • Prendi in considerazione la possibilità di disabilitare le estensioni o eseguilo in modalità di navigazione in incognito .
      • Valuta di rimuovere i file memorizzati nella cache .
      • Segnala un bug .
      • Reinstalla il browser.
      • Utilizza una versione diversa di Chrome come Chromium , Dev o Canary channel.
      • Utilizza browser diversi come Epic, Firefox, Opera, Brave, Waterfox, Torch o altri.
      • Se il problema è ripetibile, puoi provare a ricompilare le origini di Chrome con simboli di debug e analizzare la traccia dello stack o segnalarla.
  • Hai raggiunto il numero massimo di file aperti nel tuo sistema (vedi: # 787381 ).

    Su Linux / Unix / macOS, per verificarlo, eseguire:

    sysctl -a | grep files
    

    e controlla se ha kern.num_filesraggiunto il limite di kern.maxfiles.

    In tal caso, aumentare il limite eseguendo i seguenti comandi:

    sysctl -w kern.maxfiles=20480
    which launchctl && launchctl limit maxfiles 65536 unlimited
    which ulimit && ulimit -c unlimited
    
  • Potresti avere del malware / virus che altera i tuoi file Chrome causando il crash.

  • Potresti avere qualche problema relativo alla memoria hardware . Quindi esegui alcuni test (come memtest).

Mac OS

Per visualizzare i registri da Chrome, eseguire:

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

o eseguendo l' app Console , dove è anche possibile verificare la presenza di eventuali crash dump (o il check-in ~/Library/Logs/DiagnosticReports). Vedi: Errore "Aw, Snap!" Di debug in Chrome


Debug

Se nessuno dei precedenti aiuta, puoi prendere in considerazione la compilazione di Chrome dal sorgente (richiede molto tempo), quindi esegui direttamente dal Terminale. Successivamente, ogni errore "Aw, Snap!" Dovrebbe essere seguito dalla traccia dello stack completo, comprese le funzioni e la riga nel file di codice sorgente in cui si è verificato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.