O Chrome está congelando o Ubuntu ao abrir uma guia ou reiniciar

23

Isso começou a acontecer ontem. Não mudei intencionalmente nada, embora tenha a atualização automática ativada no Ubuntu.

Eu posso começar o Chrome muito bem, ele funcionará por um tempo, mas depois eu abro uma guia e congela tudo, exceto o mouse, que eu ainda posso mover. Não posso fazer nada (incluindo mudar para ctrl-alt-fX), portanto, a única opção é REISUB (ou reinicialização definitiva). Reiniciar o chrome depois de um tempo geralmente tem o mesmo efeito que abrir uma guia.

Tentei limpar completamente o chrome e remover a pasta de configurações antes de reinstalar a versão mais recente, mas não ajudou. Desativar todas as extensões não ajudou.

Estou executando o último estável Ubuntu 14. 15gb ram, intel i7

Outra esquisitice são as pequenas janelas de notificação que recebo do chrome, que normalmente mostram informações sobre um novo email ou qualquer notificação de plug-in, agora é apenas um bloco preto, sem conteúdo.

Existe um registro que eu possa procurar para encontrar algo sobre a falha? Eu verifiquei o dmesg, mas isso não significa muito para mim:

dmesg | grep chrome

[  132.889813] nouveau E[chrome[2606]] multiple instances of buffer 125 on validation list
[  132.889818] nouveau E[chrome[2606]] validate_init
[  132.889819] nouveau E[chrome[2606]] validate: -22
[  422.162086] nouveau E[chrome[2606]] multiple instances of buffer 121 on validation list
[  422.162092] nouveau E[chrome[2606]] validate_init
[  422.162094] nouveau E[chrome[2606]] validate: -22
[  422.178322] nouveau E[  PGRAPH][0000:01:00.0] TRAP ch 5 [0x007f6f9000 chrome[2606]]
[  422.201707] nouveau E[  PGRAPH][0000:01:00.0] TRAP ch 5 [0x007f6f9000 chrome[2606]]
[  422.202702] nouveau E[  PGRAPH][0000:01:00.0] TRAP ch 5 [0x007f6f9000 chrome[2606]]
[  422.220245] nouveau E[  PGRAPH][0000:01:00.0] TRAP ch 5 [0x007f6f9000 chrome[2606]]
[  422.236486] nouveau E[  PGRAPH][0000:01:00.0] TRAP ch 5 [0x007f6f9000 chrome[2606]]
[  422.269815] nouveau E[  PGRAPH][0000:01:00.0] TRAP ch 5 [0x007f6f9000 chrome[2606]]
[  422.302031] nouveau E[  PGRAPH][0000:01:00.0] TRAP ch 5 [0x007f6f9000 chrome[2606]]
[  422.334962] nouveau E[  PGRAPH][0000:01:00.0] TRAP ch 5 [0x007f6f9000 chrome[2606]]
[  422.336436] nouveau E[  PGRAPH][0000:01:00.0] TRAP ch 5 [0x007f6f9000 chrome[2606]]
[  422.351666] nouveau E[  PGRAPH][0000:01:00.0] TRAP ch 5 [0x007f6f9000 chrome[2606]]
[  422.368438] nouveau E[  PGRAPH][0000:01:00.0] TRAP ch 5 [0x007f6f9000 chrome[2606]]

Eu não testei o cromo, li que o mesmo acontece nesse. Outros tópicos que li sugerem mudar para o Firefox ou cromo, mas isso não está resolvendo o problema. Eu preciso do chrome por várias razões de trabalho e, como funciona muito bem em casa na mesma versão do Ubuntu, a lógica sugere que é corrigível.

Eu acho que está mais ligado à duração que o chrome está rodando e não ao ubuntu. Se eu iniciar o Ubuntu e iniciar o chrome imediatamente, ele travará em uma nova guia após alguns minutos. Se eu não iniciar o chrome após a inicialização e apenas iniciá-lo mais tarde, ele iniciará bem e depois travará após ter sido executado pelos mesmos minutos.

Muito Obrigado

Thomas Smart
fonte
Seu driver gráfico está funcionando. Qual placa gráfica você possui no seu sistema? Se for Nvidia, remova o driver noveau e instale o driver nvidia.
Estamos Borg

Respostas:

18

O problema está no Google Chrome v44. Você pode continuar trabalhando iniciando o chrome sem a aceleração da gpu:

google-chrome --disable-gpu

Ou removendo o chrome e instalando a versão imediatamente anterior àquela:

sudo apt-get remove google-chrome-stable
wget http://mirror.pcbeta.com/google/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_43.0.2357.81-1_amd64.deb
sudo dpkg -i google-chrome-stable_43.0.2357.81-1_amd64.deb

Isso permitirá que você use o Chrome até que uma correção seja lançada.

Nota: você não pode desativar a aceleração da GPU a partir do URL de configurações, pois congelará seu sistema imediatamente:

# DON'T go to (this might crash the system):
chrome://gpu
# or (this will definitely crash the system)
chrome://flags
Fabio
fonte
/ gpu não travou meu navegador (conteúdo abaixo), mas / flags causou. O Chrome não desinstalado (sudo apt-get remove google-chrome-stable) e a versão mais antiga serão relatados em um tempo.
Thomas Smart
Obrigado, eu não posso tentar isso sozinho agora, mas melhor prevenir do que remediar (usando as obras --disable-gpu que eu estou usando agora!)
Fabio
2
testou isso nos últimos dias e parece ter feito o truque, não há mais falhas. Muito Obrigado!
Thomas Smart
Está acontecendo comigo, versão 46.0.2490.86 (64 bits). Mas eu sou capaz de acessar / gpu e / flags.
Falci
1
acontece na versão 48.0.2564.116 Ubuntu 14.04 (64-bit) Crómio e versão 48.0.2564.116 (64-bit) Chrome
Elzo Valugi
6

Estou tendo o mesmo problema com o ubuntu 14.04 e o Chrome. Tenho placa de vídeo nvidia geforce gtx 650. O problema parece realmente ser o driver da nova placa gráfica do Ubuntu. A solução para mim foi ir para Configurações do sistema -> Software e atualizações -> Drivers adicionais e escolher um driver proprietário da nvidia (ou qual placa você tiver) em vez do novo. Essa alteração também parece ter corrigido um problema que tive com o media player do youtube (pode ou não se aplicar a outros media players). A imagem de vídeo em movimento rápido, em particular, costumava parecer atualizada em seções com "linhas de falha" horizontais aparecendo. Parece ter sumido também.

hubbabubba
fonte
Parece funcionar bem.
Falci
2

Desinstalei o Chrome e excluí todos os meus arquivos de configuração e nada teve o mesmo problema. Isso funciona para mim no Ubuntu 14.04 64 bits

google-chrome --disable-gpu
Amekare
fonte
1

Verifique se você possui um bom status Graphics Feature Statusno navegador. Siga este link para verificar:

chrome://gpu/

Você deve ver todas as opções verdes Hardware accelerated. Caso contrário, vá para

chrome://flags/

A primeira linha é sua bandeira para ativar Override software rendering list # ignore-gpu-blacklist .

Reinicie seu navegador e verifique novamente seu Hardware acceleratedstatus.

Além disso, verifique se você possui memória livre suficiente durante a execução do navegador

$ free
Vitaliy Kulikov
fonte
/ gpu mostra isso: Tela de status do recurso gráfico: Somente software, aceleração de hardware indisponível Flash: Flash acelerado por hardware Stage3D: Flash acelerado por hardware Stage3D Perfil da linha de base: Hardware acelerado Composição: acelerado por hardware Threads de varredura múltipla: Ativada Rasterização: somente software. A aceleração de hardware desativada Threaded Rasterization: Ativado decodificação de vídeo: Software somente, a aceleração de hardware indisponíveis Vídeo Encode: Hardware acelerado WebGL: Hardware acelerado / bandeiras trava o sistema
Thomas Inteligente
@ThomasSmart siga as instruções na minha resposta. --- depois, Ativar sinalizador Substituir lista de renderização de software reinicie o navegador e verifique novamente.
Vitaliy Kulikov
1
não pôde seguir porque ir para / flags travou o navegador. a resposta acima sobre a instalação de um cromo mais antigo resolveu o problema.
Thomas Smart
1

Eu o resolvi substituindo o driver de vídeo nouveau pelos drivers da nvidia, conforme descrito aqui .

Não é google-chrome --disable-gpunecessário.

Alexander Zeitler
fonte
1

Publiquei um patch no LKML para solucionar esse bug e me disseram que o problema havia sido identificado como um bug da libdrm (não do Chrome).

https://bugs.freedesktop.org/show_bug.cgi?id=89842#c19

Esse problema está relacionado libdrm 2.40.6apenas e, no link acima, existem outros aplicativos, apenas o Chrome que pode encontrar esse mesmo erro com o nouveau.

É possível fazer o downgrade para a versão anterior do libdrm.

sudo apt-get install libdrm2=2.4.56-1~ubuntu2

Se você deseja 'travar', ou seja, parar o sistema de atualizar automaticamente para 2.6.40, faça novamente

sudo echo "package libdrm2" | sudo dpkg –set-selections

Fiz o downgrade com sucesso para 2.4.56 e posso verificar se o Chrome funciona conforme o esperado, com a aceleração da gpu ativada.

Bryan O'Donoghue
fonte
Opa Falou muito cedo. Segui o conselho do pessoal do freedesktop e me afastei da libdrm 2.40.6, mas ainda recebo a mensagem de erro ..... Modifiquei meu driver de vídeo para permitir que o chrome fizesse isso e parece bom ... uma coisa isso não está claro, é se o 2.4.56 não deve ter esse erro. Disseram-me para mudar da versão 2.40.6 - mas isso não significa necessariamente que não somos azarados e 2.4.56 ~ 1 não está sofrendo do mesmo problema.
Bryan O'Donoghue
0

Eu vi isso há algum tempo no meu sistema LFS totalmente automatizado, totalmente fora do Ubuntu (eu sou um esquisito sem vida, admito). Faça muitos gritos no log do dmesg sobre bos corrompidos etc.

Para mim, outra solução que me permitiu reter a renderização acelerada por hardware na maioria das situações foi exportar LIBGL_DRI3_DISABLE=1para o ambiente antes de iniciar o Chromium. Parece que o DRI3 ainda não está pronto para o horário nobre ...

Nix
fonte
0

Remova e instale a versão anterior ajudada usando os seguintes comandos. Substituí o i386 em vez do amd64 e a instalação correu bem. Obrigado pela ajuda.

sudo apt-get remove google-chrome-stable
wget http://mirror.pcbeta.com/google/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_43.0.2357.81-1_amd64.deb
sudo dpkg -i google-chrome-stable_43.0.2357.81-1_amd64.deb
user472300
fonte
0

Para mim, o problema foi resolvido através da limpeza do gerenciador de senhas do chrome, todas as senhas duplicadas, expiradas, exageradas por muito tempo, sem uso e assim por diante. Parece que a escolha de senhas muito complexas tende a travar ou congelar todo o sistema operacional, o que também ocorre no sistema operacional Windows. Outra coisa que fiz foi definir meu swappiness para 0.

Mihai Alex Ionescu
fonte
0

Eu enfrentei o mesmo problema no meu Ubuntu 14.10, a solução é simplesmente matar o Chrome toda vez que ele come a CPU, aqui está o meu script para fazer isso, funcionou no meu caso.

#!/bin/sh

#ps aux  | awk 'BEGIN { sum = 0 }  { sum += $3 }; END { print sum }'

# DON VI PHAN TRAM
MAX_ALLOWED_CPULOAD=50
MAX_ALLOWED_MEMLOAD=50
core_num=$(nproc)
MAX_ALLOWED_CPULOAD=$(expr $MAX_ALLOWED_CPULOAD \* $core_num)

counter=0
continue_high_cpuload_count=0
max_continue_alowed=10

print_cpu_load_with_pid(){
    cpuload=$(ps aux  | awk 'BEGIN { sum = 0 }  { sum += $3 }; END { print sum }')
    cpuloadpercent=$(echo "100 * $cpuload / $MAX_ALLOWED_CPULOAD" | bc)
    echo "checked at $counter times, cpuload = $cpuloadpercent %"
    counter=$((counter+1))
    #$(echo 12.45 10.35 | awk '{if ($1 < $2) print $1; else print $2}')
    decide=$(echo $cpuload $MAX_ALLOWED_CPULOAD | awk '{if ($1 > $2) print "true"; else print "false"}')
    if [ "true" = "$decide" ] ; then
        continue_high_cpuload_count=$((continue_high_cpuload_count+1))  
        echo "High cpuload detected, continue_counter = $continue_high_cpuload_count"
    elif [$continue_high_cpuload_count -gt 0 ]; then
        continue_high_cpuload_count=0
        echo "No longer detect hight cpu, reseting continue_counter..."
    fi

    if [ "$continue_high_cpuload_count" = "$max_continue_alowed"  ] ; then
        echo "Killing chrome..."
        kill -9 `ps -aux|grep chrome|awk '{print$2}'`
    fi
}

while [ : ];do
    print_cpu_load_with_pid
    sleep 2
done
derHugo
fonte
0

Eu geralmente gosto de usar o chrome, mas é o único software no meu Ubuntu que garante o congelamento de todo o sistema operacional se houver tempo suficiente em execução. E, em algumas ocasiões, eu literalmente não posso fazer nada a não ser uma reinicialização a frio. Se eu já tinha outro TTY aberto ( Alt+ Ctrl+ Fn), posso ou não ser capaz de mudar para ele killall chrome, o que corrigirá o sistema operacional instantaneamente. Mesmo, se eu já tivesse uma conexão SSH pendente. Às vezes, o cursor do mouse se move pela tela, mas nada mais responde. Às vezes, nem mesmo o cursor do mouse.

De qualquer forma, descobri experimentalmente que a RAM acaba com o Chrome apenas em uso; Alguma perda de memória terrível. Então, o que fiz para evitar que meu sistema operacional fique completamente congelado a ponto de não ser resgatado é um pouco complicado. Eu criei um script bash simples e instalei no crontab do meu usuário. Eu corro a cada minuto. Ele verifica a quantidade de RAM livre e, se estiver abaixo do meu limite definido (eu uso 200 MB), emite killall chrome3 vezes consecutivas (apenas no caso). Depois disso, você acaba com o chrome saindo da tela, mas aparece uma caixa de diálogo informando o que aconteceu, quanta memória resta e quanto você tem agora após recuperá-la do chrome. O script é o seguinte:

#!/bin/sh
#SETTINGS:
MIN_RAM_BEFORE_KILLING_CHROME_MB=200
#DATA COLLECTION:
FREE_RAM=$(free -mo | tr -s ' ' | cut -d ' ' -f 4 | awk '$0 == "free" {i=1;next};i && i++ <= 1')
echo "Free RAM: $FREE_RAM"
#ACTION:
if [ $FREE_RAM -lt $MIN_RAM_BEFORE_KILLING_CHROME_MB ]; then
    echo "time to kill chrome...";
    killall chrome &
    sleep 1
    killall chrome &
    sleep 1
    killall chrome &
    FREE_RAM2=$(free -mo | tr -s ' ' | cut -d ' ' -f 4 | awk '$0 == "free" {i=1;next};i && i++ <= 1')
    DISPLAY=:0 nohup zenity --info --text="Chrome was killed, because your RAM had only $FREE_RAM MB free.\nNow you have $FREE_RAM2 MB free."  2>/dev/null &
else
    echo "Not yet. Will kill chrome when RAM goes under $MIN_RAM_BEFORE_KILLING_CHROME_MB.";    
fi;
#INSTALLATION:
# crontab -u <username> -e
# then add this script

Então, quando eu chego ao nível crítico da minha RAM, meu cromo é interrompido e vejo o seguinte: insira a descrição da imagem aqui

Kris Jace
fonte