web-dev-qa-db-fra.com

Chrome gèle Ubuntu lors de l'ouverture d'un onglet ou du redémarrage

Cela vient de commencer hier. Je n'ai délibérément rien changé, même si la mise à jour automatique est activée dans Ubuntu.

Je peux commencer chrome tout va bien, cela fonctionnera pendant un certain temps, mais j'ouvre un onglet et tout se gèle sauf la souris que je peux toujours déplacer. Je ne peux rien faire (y compris basculer vers ctrl-alt-fX), seule l'option consiste à REISUB (ou réinitialisation matérielle). Redémarrer chrome après un certain temps a généralement le même effet que d'ouvrir un onglet.

J'ai essayé de purger complètement chrome et de supprimer le dossier de paramètres avant de réinstaller la dernière version, mais cela n'a pas aidé. Désactiver toutes les extensions n'a pas aidé.

Je suis sous Ubuntu 14. stable 15 RAM, Intel i7

Une autre bizarrerie est la petite fenêtre de notification que je reçois de chrome, qui affiche généralement des informations sur un nouvel e-mail ou l'une des notifications du plug-in. Il s'agit désormais d'un bloc noir, sans contenu.

Y a-t-il un journal dans lequel je peux regarder pour trouver quelque chose à propos de l'accident? J'ai vérifié dmesg mais cela ne veut pas dire grand chose pour moi:

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]]

Je n'ai pas testé le chrome, j'ai lu que la même chose se produit dans celui-là. D'autres sujets que j'ai lus suggèrent de passer à Firefox ou au chrome, mais cela ne résout pas le problème. J'ai besoin de chrome pour de nombreuses raisons de travail et, comme cela fonctionne parfaitement à la maison sur la même version d'Ubuntu, la logique suggère de le corriger.

Je pense que c'est plus lié à la durée chrome a été en cours d'exécution et non pas Ubuntu. Si je lance Ubuntu et lance immédiatement chrome, il se plantera sur un nouvel onglet après quelques minutes. Si je ne démarre pas chrome après le démarrage et que je ne le lance que plus tard, il se lancera correctement, puis se bloquera après avoir été exécuté pendant les mêmes minutes.

Merci beaucoup

23
Thomas Smart

Le problème concerne Google Chrome v44. Vous pouvez continuer à travailler en démarrant chrome sans accélération gpu:

google-chrome --disable-gpu

Ou en supprimant chrome et en installant la version juste avant celle-ci:

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

Cela vous permettra d'utiliser Chrome jusqu'à ce qu'un correctif soit disponible.

Remarque: vous ne pouvez pas désactiver l'accélération gpu à partir de l'URL de paramètres, car cela gèlerait immédiatement votre système:

# DON'T go to (this might crash the system):
chrome://gpu
# or (this will definitely crash the system)
chrome://flags
18
Fabio

J'ai eu le même problème avec Ubuntu 14.04 et Chrome. J'ai la carte graphique nvidia geforce gtx 650. Le problème semble en effet être le nouveau pilote de carte graphique d'Ubuntu. Le correctif pour moi était d'aller dans Paramètres système -> Logiciels et mises à jour -> Pilotes supplémentaires et choisir un pilote propriétaire nvidia (ou quelle que soit votre carte) au lieu de nouveau. Ce changement semble également avoir résolu un problème que j'ai rencontré avec le lecteur multimédia de YouTube (peut ou non s'appliquer à d'autres lecteurs multimédias). Les images vidéo en mouvement rapide, en particulier, semblaient être mises à jour par sections, avec des "lignes de faille" horizontales. Il semble être parti aussi.

6
hubbabubba

Je désinstalle Chrome puis je supprime tous mes fichiers de configuration. Rien ne pose le même problème. Cela fonctionne pour moi dans Ubuntu 14.04 64 bits

google-chrome --disable-gpu
2
Amekare

J'ai posté un correctif sur LKML pour contourner ce bogue et on m'a dit que le problème avait été identifié comme un bogue libdrm (pas de Chrome).

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

Ce problème est lié à libdrm 2.40.6 uniquement et à partir du lien ci-dessus, il n'y a pas d'autres applications, juste Chrome qui peuvent rencontrer la même erreur avec nouveau.

Il est possible de revenir à la version précédente de libdrm.

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

Si vous voulez "verrouiller", c’est-à-dire arrêter votre système de passer automatiquement à la version 2.6.40,

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

Je suis parvenu à passer à la version 2.4.56 et je peux vérifier que Chrome fonctionne correctement avec l'accélération gpu activée.

1
Bryan O'Donoghue

Je l'ai résolu en remplaçant le pilote vidéo nouveau par les pilotes nvidia comme décrit ici .

Non google-chrome --disable-gpu requis.

1
Alexander Zeitler

Assurez-vous que vous avez un bon statut avec Graphics Feature Status dans le navigateur. Suivez ce lien pour vérifier:

chrome://gpu/

Vous devriez voir toutes les options vertes Hardware accelerated. Si non, allez à

chrome://flags/

La 1ère ligne est votre drapeau pour activer Override software rendering list# ignore-gpu-blacklist.

Redémarrez votre navigateur et vérifiez à nouveau votre statut Hardware accelerated.

Assurez-vous également que vous disposez de suffisamment de mémoire libre lors de l’exécution du navigateur.

$ free
1
Vitaliy Kulikov

J'ai vu cela il y a quelque temps sur mon système LFS autobuilt entièrement non-Ubuntu qui saignait-Edge (je suis un cinglé sans vie, je l'avoue). Signalez beaucoup de cris dans le journal dmesg à propos de bos corrompus, etc.

Pour moi, une autre solution permettant de conserver le rendu avec accélération matérielle dans la plupart des situations consistait à exporter LIBGL_DRI3_DISABLE=1 dans l'environnement avant de démarrer Chromium. On dirait que DRI3 n'est pas encore prêt pour le prime time ...

0
Nix

Supprimer et installer la version précédente aidé en utilisant les commandes suivantes. J'ai remplacé i386 au lieu de AMD64 et l'installation s'est bien déroulée. Merci pour l'aide.

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
0
user472300

Pour moi, le problème a été résolu en nettoyant du gestionnaire de mots de passe chrome tous les mots de passe en double, expirés, longs, exagérés, inutilisés, etc. Il semble que le choix de mots de passe très complexes a tendance à bloquer ou à geler tout le système d'exploitation, ce qui se produit également sous Windows. Une autre chose que j’ai faite est de ramener mon swappiness à 0.

0
Mihai Alex Ionescu

J'aime généralement utiliser Chrome, mais c’est le seul logiciel de mon Ubuntu à geler l’ensemble du système d’exploitation s’il est laissé suffisamment de temps. Et à certaines occasions, je ne peux littéralement rien faire à part un redémarrage à froid. Si j’avais déjà un autre téléscripteur ouvert (Alt+Ctrl+Fn) puis je peux ou non être en mesure de passer à l’émission de killall chrome, ce qui corrigera le système d’exploitation instantanément. Idem si j'avais déjà une connexion SSH en attente. Parfois, le curseur de la souris se déplace sur l'écran mais rien d'autre ne réagit. Parfois même pas le curseur de la souris.

Quoi qu'il en soit, j'ai découvert expérimentalement que RAM s'épuise avec chrome en cours d'utilisation; De terribles fuites de mémoire. Donc, ce que j’ai fait pour éviter que mon système d’exploitation ne soit complètement gelé au point de ne pas être secouru, c’est un peu du bricolage. J'ai créé un script bash simple et l'installé sous la crontab de mon utilisateur. Je le lance toutes les minutes. Il vérifie gratuitement RAM montant, et s'il passe au-dessous de ma limite définie (j'utilise 200 Mo), il émet alors killall chrome, 3 fois de suite (au cas où). Après cela, vous vous retrouvez avec chrome disparu de votre écran, mais une boîte de dialogue vous indique ce qui est arrivé, combien de mémoire il vous reste et combien vous avez maintenant après l’avoir récupérée. Le script est le suivant:

#!/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

Donc, quand j'atteins le niveau critique de ma RAM, mon chrome est tué et je vois ceci: enter image description here

0
Kris Jace

Je suis confronté au même problème sur mon Ubuntu 14.10, la solution est simplement de tuer Chrome à chaque fois qu’il mange le processeur, voici mon script pour le faire, cela a fonctionné pour mon cas.

#!/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
0
user247893