Como determinar o que está fazendo com que o Chrome mostre o diálogo "Aw, Snap"


31

Alguém sabe se existe uma maneira prática de determinar a causa do "Aw Snap!" mensagem que aparece ocasionalmente no Google Chrome? O Chrome tem um log de erros ao qual posso me referir? Suspeito que esse problema seja causado por um loop recursivo no código que está consumindo toda a memória? Existe alguma maneira de confirmar isso?



Respostas:


28

Veja as explicações aqui: para log comum no Chrome, você pode tentar:


1
Eu acho que a primeira opção ajudará a isolar esse problema. O console de desenvolvimento trava antes de produzir qualquer coisa útil.
QFDev

2
Ativei o log e, após a falha do chrome, ele não registrou nenhum erro no momento da falha. Existe alguma referência que possa fornecer informações sobre os itens de log?
Khadim Ali


Você poderia incluir o conteúdo abreviado dos links nesta resposta. Ele ficará obsoleto se os links morrerem.
Mafu

3
O console Javascript geralmente não é útil nesse caso, pois as ferramentas de desenvolvimento são desconectadas quando a página trava.
PawnStar

28

A conta oficial do Twitter para desenvolvedores do Chrome vinculada a um site que ajuda você a depurar as páginas "Aw snap": http://www.chromium.org/for-testers/enable-logging

A recomendação é iniciar o Chrome com estes sinalizadores:

--enable-logging --v=1

Se você fizer isso, poderá pegar um log de falha do arquivo chrome_debug.logno diretório de dados do usuário do Chrome (no diretório pai de Default/) ou na pasta de compilação binária ( out\Debug) se estiver usando uma compilação de depuração.


5
upvote porque este post mencionado --enable-logging --v=1 muito antes da edição da resposta aceita foi adicionada.
CAD bloke

2

O Aw, pressão! A página geralmente está relacionada à falha de falha na segmentação do processo , que pode estar relacionada ao bug do software . Para determinar a causa, você pode ativar o log (como sugerido em outras respostas) ou analisar o backtrace do arquivo de despejo principal (no macOS , Linux , por exemplo, Ubuntu ).

Se você não souber a causa (por exemplo, o rastreamento de pilha consiste apenas em endereços de memória), é possível criar um novo tíquete de suporte no sistema de rastreamento de bugs do Chrome (ou verificar novamente se já existe um). Durante os relatórios, você deve carregar e incluir o ID de falha acessando a chrome://crashes/página, para que os endereços de memória possam ser traduzidos em símbolos de depuração pelos mantenedores do Chrome.

Como alternativa, você pode decodificar os despejos de memória.

Veja também: Onde está localizado o Crash Dump do Google Chrome?


Para simplificar acima, aqui estão os principais motivos pelos quais a página pode falhar:

  • Você encontrou o erro (no site ou no próprio navegador da web).

    • Bug do site

      • Exemplo: a VM JavaScript atingiu a memória máxima alocada (falha de falta de memória).

        Para verificar isso, execute o DevTools e verifique a guia Memória . Se for esse o caso, o código deve pausar automaticamente imediatamente antes da possível falha de falta de memória (por exemplo, edição 810015 ). Nesse caso, relate o problema ao proprietário do site ou crie um perfil do código JS para encontrar o bug.

    • Bug do navegador

      • Considere desativar extensões ou executar no modo de navegação anônima .
      • Considere remover arquivos em cache .
      • Relatar um bug .
      • Reinstale o navegador.
      • Use uma versão diferente do Chrome, como canal Chromium , Dev ou Canary .
      • Use um navegador diferente, como Epic, Firefox, Opera, Brave, Waterfox, Torch ou outro.
      • Se o problema for repetitivo, você pode tentar recompilar as fontes do Chrome com símbolos de depuração e analisar o rastreamento da pilha ou relatá-lo.
  • Você atingiu o máximo de arquivos abertos no seu sistema (consulte: # 787381 ).

    No Linux / Unix / macOS, para verificar isso, execute:

    sysctl -a | grep files
    

    e verifique se kern.num_filesatingiu o limite de kern.maxfiles.

    Se for esse o caso, aumente o limite executando os seguintes comandos:

    sysctl -w kern.maxfiles=20480
    which launchctl && launchctl limit maxfiles 65536 unlimited
    which ulimit && ulimit -c unlimited
    
  • Você pode ter algum malware / vírus que altera os arquivos do Chrome causando a falha.

  • Você pode ter algum problema relacionado à memória de hardware . Portanto, execute alguns testes (como memtest).

Mac OS

Para exibir logs do Chrome, execute:

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

ou executando o aplicativo Console , onde você também pode verificar se há despejos de memória (ou fazer check-in ~/Library/Logs/DiagnosticReports). Consulte: Depure o erro "Aw, Snap!" No Chrome


Depuração

Se nenhuma das opções acima ajudar, considere compilar o Chrome a partir da fonte (leva muito tempo) e execute diretamente a partir do Terminal. Depois disso, cada erro "Aw, Snap!" Deve ser seguido pelo rastreamento completo da pilha, incluindo funções e linhas no arquivo de código-fonte onde ocorreu.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.