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


23

Cela a juste commencé à se produire hier. Je n'ai rien changé en toute connaissance de cause, bien que la mise à jour automatique soit activée dans Ubuntu.

Je peux démarrer Chrome correctement, cela fonctionnera pendant un certain temps, mais ensuite j'ouvrirai un onglet et il gèlera tout sauf la souris que je peux toujours déplacer. Je ne peux rien faire (y compris passer à ctrl-alt-fX), donc la seule option est de REISUB (ou de réinitialisation matérielle). Le redémarrage de Chrome après un certain temps a généralement le même effet que l'ouverture d'un onglet.

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

J'utilise la dernière version stable d'Ubuntu 14. 15 Go de RAM, Intel i7

Une autre bizarrerie est les petites fenêtres de notification que je reçois de Chrome, qui affichent généralement des informations sur un nouvel e-mail ou l'une des notifications de plug-in, c'est maintenant juste un bloc noir, pas de contenu.

Y a-t-il un journal dans lequel je peux chercher pour trouver quelque chose sur l'accident? J'ai vérifié dmesg mais cela ne signifie pas 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 cela se produit dans celui-ci. 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 il fonctionne très bien à la maison sur la même version d'Ubuntu, la logique suggère qu'il est réparable.

Je pense que c'est plus lié à la durée de fonctionnement de Chrome et non à Ubuntu. Si je démarre Ubuntu et lance immédiatement Chrome, il se bloque 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 démarre que plus tard, il se lancera correctement puis se bloquera après son exécution pendant les mêmes minutes.

Merci beaucoup


Votre pilote graphique agit. Quelle carte graphique avez-vous dans votre système? Si Nvidia, supprimez le pilote noveau et installez le pilote nvidia.
Nous sommes Borg le

Réponses:


18

Le problème vient de Google Chrome v44. Vous pouvez continuer à travailler en démarrant Chrome sans accélération GPU:

google-chrome --disable-gpu

Ou en supprimant le 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 des paramètres, car cela gèlera 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

/ gpu n'a pas planté mon navigateur (contenu ci-dessous), contrairement à / flags. Chrome désinstallé (sudo apt-get remove google-chrome-stable) et en essayant l'ancienne version, fera rapport dans un certain temps.
Thomas Smart

Merci, je ne peux pas l'essayer moi-même maintenant mais il vaut mieux être prudent que désolé (en utilisant le --disable-gpu fonctionne bien! Je l'utilise en ce moment)
Fabio

2
testé cela au cours des derniers jours et il semble avoir fait l'affaire, plus de plantage. Merci beaucoup!
Thomas Smart

Ça m'arrive, Version 46.0.2490.86 (64 bits). Mais je peux accéder à / gpu et / flags.
Falci

1
se produit dans la version 48.0.2564.116 Ubuntu 14.04 (64 bits) Chrome et la version 48.0.2564.116 (64 bits) Chrome
Elzo Valugi

6

J'ai eu le même problème avec Ubuntu 14.04 et Chrome. J'ai une carte graphique nvidia geforce gtx 650. Le problème semble en effet être le nouveau pilote de carte graphique d'Ubuntu. La solution pour moi était d'aller dans Paramètres système -> Logiciels et mises à jour -> Pilotes supplémentaires et de choisir un pilote nvidia propriétaire (ou quelle carte que vous ayez) au lieu de nouveau. Cette modification 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). L'image vidéo en mouvement rapide, en particulier, semblait se mettre à jour dans des sections avec des "lignes de faille" horizontales apparaissant. Il semble aussi avoir disparu.


Cela semble marcher correctement.
Falci

2

Je désinstalle Chrome, puis j'ai supprimé tous mes fichiers de configuration, et rien n'a eu le même problème. Cela fonctionne pour moi dans Ubuntu 14.04 64 bits

google-chrome --disable-gpu

1

Assurez-vous que vous avez un bon état Graphics Feature Statusdans le navigateur. Suivez ce lien pour vérifier:

chrome://gpu/

Vous devriez voir toutes les options vertes Hardware accelerated. Sinon, 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 Hardware acceleratedstatut.

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

$ free

/ gpu affiche ceci: Graphique de l'état de la fonctionnalité graphique: Logiciel uniquement, accélération matérielle non disponible Flash: Accélération matérielle Flash Stage3D: Accélération matérielle Flash Stage3D Profil de base: Accélération matérielle Compositing: Accélération matérielle Plusieurs threads raster: Activation de la rastérisation: Logiciel uniquement. Accélération matérielle désactivée Rastérisation filetée: activé Décodage vidéo: logiciel uniquement, accélération matérielle non disponible Encodage vidéo: accélération matérielle WebGL: accélération matérielle / drapeaux bloque le système
Thomas Smart

@ThomasSmart suivez les instructions sur ma réponse. --- après, Activer l'indicateur Remplacer la liste de rendu du logiciel, redémarrer le navigateur et vérifier à nouveau.
Vitaliy Kulikov

1
n'a pas pu suivre car aller à / flags a planté le navigateur. la réponse ci-dessus à propos de l'installation d'un ancien chrome a résolu le problème.
Thomas Smart

1

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

Non google-chrome --disable-gpurequis.


1

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 (et non Chrome).

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

Ce problème est lié à libdrm 2.40.6seulement et à partir du lien ci-dessus, il n'y a pas d'autres applications, juste Chrome qui peut rencontrer cette 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 souhaitez «verrouiller», c'est-à-dire arrêter à nouveau votre système de mise à niveau automatique vers 2.6.40,

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

J'ai rétrogradé avec succès à la version 2.4.56 et je peux vérifier que Chrome fonctionne comme prévu, avec l'accélération gpu activée.


Oops. Parlé trop tôt. J'ai suivi les conseils des gens de freedesktop et je suis passé de libdrm 2.40.6 mais, je reçois toujours le message d'erreur ..... J'ai modifié mon pilote vidéo pour permettre à chrome de le faire et cela semble bon ... une chose ce n'est pas clair cependant si 2.4.56 ne devrait pas avoir cette erreur. On m'a dit de quitter la 2.40.6 - mais cela ne signifie pas nécessairement que nous ne sommes pas malchanceux et que la 2.4.56 ~ 1 ne souffre pas du même problème.
Bryan O'Donoghue

0

J'ai vu cela il y a quelque temps sur mon système LFS entièrement non-Ubuntu à saignement de pointe entièrement automatisé (je suis un cinglé sans vie, je l'admets). Cue beaucoup de cris dans le journal dmesg sur les bos corrompus, etc.

Pour moi, une autre solution qui m'a permis de conserver le rendu accéléré par le matériel dans la plupart des situations était d'exporter LIBGL_DRI3_DISABLE=1dans l'environnement avant de démarrer Chromium. On dirait que DRI3 n'est pas encore tout à fait prêt pour les heures de grande écoute ...


0

Supprimer et installer la version précédente a aidé à utiliser les commandes suivantes. J'ai remplacé i386 au lieu d'amd64 et l'installation s'est bien passé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

Pour moi, le problème a été résolu en nettoyant du gestionnaire de mots de passe Chrome tous les mots de passe qui étaient en double, expirés, exagérés depuis longtemps, inutilisés, etc. Il semble que le choix de mots de passe très complexes ait tendance à planter ou à figer l'ensemble du système d'exploitation et cela se produit également sous Windows. Une autre chose que j'ai faite, j'ai mis mon swappiness à 0.


0

J'ai rencontré le même problème sur mon Ubuntu 14.10, la solution est simplement de tuer Chrome à chaque fois qu'il mange le CPU, voici mon script pour le faire, cela a fonctionné sur 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

J'aime généralement utiliser Chrome, mais c'est le seul logiciel sur mon Ubuntu qui garantit le gel de l'ensemble du système d'exploitation s'il dispose de suffisamment de temps pour fonctionner. Et à certaines occasions, je ne peux littéralement rien faire d'autre qu'un redémarrage à froid. Si j'avais déjà ouvert un autre TTY ( Alt+ Ctrl+ Fn), je pourrais ou non être en mesure de le basculer vers le problème 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 absolument rien d'autre ne répond. Parfois même pas le curseur de la souris.

Quoi qu'il en soit, j'ai découvert expérimentalement que la RAM s'épuise avec du 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 soit complètement gelé au point de ne pas être sauvé, c'est un peu un bricolage. J'ai créé un simple script bash et installé sous la crontab de mon utilisateur. Je l'exécute toutes les minutes. Il vérifie la quantité de RAM libre, et s'il dépasse ma limite définie (j'utilise 200 Mo), il émet ensuite killall chrome, 3 fois consécutives (juste au cas où). Après cela, vous vous retrouvez avec le chrome disparu de votre écran, mais une boîte de dialogue apparaît vous indiquant ce qui s'est passé, combien de mémoire il vous restait et combien vous avez maintenant après l'avoir récupéré de Chrome. 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 un niveau critique sur ma RAM, mon chrome est tué et je vois ceci: entrez la description de l'image ici

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.