Chrome friert Ubuntu ein, wenn ein Tab geöffnet oder neu gestartet wird

23

Das ist erst gestern passiert. Ich habe nichts wissentlich geändert, obwohl ich Auto-Update in Ubuntu aktiviert habe.

Ich kann Chrome gut starten, es wird eine Weile funktionieren, aber dann öffne ich einen Tab und es wird alles außer der Maus einfrieren, die ich noch bewegen kann. Ich kann nichts tun (einschließlich der Umstellung auf STRG-ALT-FX), daher ist nur die Option REISUB (oder Hard-Reset) verfügbar. Ein Neustart von Chrome nach einer Weile hat normalerweise den gleichen Effekt wie das Öffnen eines Tabs.

Ich habe versucht, Chrome vollständig zu bereinigen und den Einstellungsordner zu entfernen, bevor ich die neueste Version neu installiert habe, aber es hat nicht geholfen. Das Deaktivieren aller Erweiterungen hat nicht geholfen.

Ich verwende das neueste stabile Ubuntu 14. 15 GB RAM, Intel i7

Eine weitere Kuriosität sind die kleinen Benachrichtigungsfenster, die ich von Chrome erhalte und die normalerweise Informationen über eine neue E-Mail oder eine der Plug-in-Benachrichtigungen anzeigen. Es handelt sich nur um einen schwarzen Block, keinen Inhalt.

Gibt es ein Protokoll, in dem ich nach Informationen zum Absturz suchen kann? Ich habe dmesg überprüft, aber es bedeutet mir nicht viel:

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

Ich habe Chrom nicht getestet, ich habe gelesen, dass in diesem Fall Ähnliches passiert. Andere Themen, die ich gelesen habe, schlagen einen Wechsel zu Firefox oder Chrom vor, aber das löst das Problem nicht. Ich brauche Chrome aus zahlreichen Arbeitsgründen und da es zu Hause auf derselben Ubuntu-Version einwandfrei funktioniert, würde die Logik vorschlagen, dass es reparabel ist.

Ich denke, es hängt mehr mit der Laufzeit von Chrome und nicht mit Ubuntu zusammen. Wenn ich Ubuntu starte und Chrome sofort starte, stürzt es nach ein paar Minuten auf einem neuen Tab ab. Wenn ich Chrome nach dem Booten nicht starte und es erst später starte, startet es einwandfrei und stürzt ab, nachdem es die gleichen Minuten lang ausgeführt wurde.

Danke vielmals

Thomas Smart
quelle
Ihr Grafiktreiber reagiert. Welche Grafikkarte hast du in deinem System? Wenn Nvidia, entfernen Sie den Noveau-Treiber und installieren Sie den Nvidia-Treiber.
Wir sind Borg

Antworten:

18

Das Problem liegt bei Google Chrome v44. Sie können weiterarbeiten, indem Sie Chrome ohne GPU-Beschleunigung starten:

google-chrome --disable-gpu

Oder indem Sie Chrome entfernen und die Version direkt davor installieren:

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

Auf diese Weise können Sie Chrome verwenden, bis eine Fehlerbehebung abgeschlossen ist.

Hinweis: Sie können die GPU-Beschleunigung nicht über die Einstellungs-URL deaktivieren, da dies Ihr System sofort einfriert:

# DON'T go to (this might crash the system):
chrome://gpu
# or (this will definitely crash the system)
chrome://flags
Fabio
quelle
/ gpu hat meinen Browser (Inhalt unten) nicht zum Absturz gebracht, / flags jedoch. Wenn Sie Chrome deinstallieren (sudo apt-get entfernen google-chrome-stable) und die ältere Version ausprobieren, wird dies in Kürze behoben.
Thomas Smart
Danke, ich kann es jetzt nicht selbst ausprobieren, aber besser auf Nummer sicher gehen (die Verwendung von --disable-gpu funktioniert jedoch! Ich verwende es gerade)
Fabio
2
habe dies in den letzten Tagen getestet und es scheint den Trick geschafft zu haben, keine Abstürze mehr. Danke vielmals!
Thomas Smart
Es passiert mir, Version 46.0.2490.86 (64-Bit). Aber ich kann auf / gpu und / flags zugreifen.
Falci
1
geschieht in Version 48.0.2564.116 Ubuntu 14.04 (64-Bit) Chrom und Version 48.0.2564.116 (64-Bit) Chrome
Elzo Valugi
6

Ich habe das gleiche Problem mit Ubuntu 14.04 und Chrome. Ich habe NVIDIA Geforce GTX 650 Grafikkarte. Das Problem scheint in der Tat der neue Grafikkartentreiber von Ubuntu zu sein. Das Problem wurde behoben, indem ich unter Systemeinstellungen -> Software & Updates -> Zusätzliche Treiber einen proprietären NVIDIA-Treiber (oder eine beliebige Karte) anstelle von Nouveau auswählte. Diese Änderung scheint auch ein Problem behoben zu haben, das ich mit dem Mediaplayer von YouTube hatte (gilt möglicherweise nicht für andere Mediaplayer). Insbesondere sich schnell bewegende Videobilder schienen in Abschnitten mit horizontalen "Fehlerlinien" aktualisiert zu werden. Es scheint auch weg zu sein.

hubbabubba
quelle
Es scheint gut zu funktionieren.
Falci
2

Ich deinstalliere Chrome und lösche dann alle meine Konfigurationsdateien, und nichts, bekam das gleiche Problem. Das funktioniert bei mir in Ubuntu 14.04 mit 64 Bit

google-chrome --disable-gpu
Amekare
quelle
1

Stellen Sie sicher, dass Sie einen guten Status mit haben Graphics Feature Status im Browser . Folgen Sie diesem Link, um zu überprüfen:

chrome://gpu/

Sie sollten alle grünen Optionen sehen Hardware accelerated . Wenn nicht, gehe zu

chrome://flags/

Die erste Zeile ist Ihre zu aktivierende Flagge Override software rendering list # ignore-gpu-blacklist .

Starten Sie Ihren Browser neu und überprüfen Sie erneut Ihren Hardware acceleratedStatus.

Stellen Sie außerdem sicher, dass Sie beim Ausführen des Browsers über genügend freien Speicher verfügen

$ free
Vitaliy Kulikov
quelle
/ gpu zeigt Folgendes: Grafikfunktion Statusbereich: Nur Software, Hardwarebeschleunigung nicht verfügbar Flash: Hardwarebeschleunigter Flash Stage3D: Hardwarebeschleunigter Flash Stage3D-Basisprofil: Hardwarebeschleunigtes Compositing: Hardwarebeschleunigter Multiple Raster-Threads: Aktivierte Rasterisierung: Nur Software. Hardwarebeschleunigung deaktiviert Threaded-Rasterung: Aktiviert Videodecodierung: Nur Software, Hardwarebeschleunigung nicht verfügbar Videocodierung: Hardwarebeschleunigt WebGL: Hardwarebeschleunigt / Flags stürzt ab
Thomas Smart
@ThomasSmart folge den Anweisungen auf meiner Antwort. --- danach, Enable flag Override software rendering liste Browser neu starten und erneut prüfen.
Vitaliy Kulikov
1
konnte nicht folgen, da beim Aufrufen von / flags der Browser abstürzte. Die Antwort oben über die Installation eines älteren Chromes löste das Problem.
Thomas Smart
1

Ich habe es gelöst, indem ich den Nouveau-Grafiktreiber durch den hier beschriebenen Nvidia-Treiber ersetzt habe .

Nicht google-chrome --disable-gpuerforderlich

Alexander Zeitler
quelle
1

Ich habe einen Patch in LKML gepostet, um diesen Fehler zu umgehen, und es wurde mir mitgeteilt, dass das Problem als libdrm-Fehler (nicht Chrome) identifiziert wurde.

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

Dieses Problem hängt mit zusammen libdrm 2.40.6 nur und über den obigen Link gibt es keine anderen Anwendungen, nur Chrome, bei denen der gleiche Fehler mit nouveau auftreten kann.

Ein Downgrade auf die Vorgängerversion von ist möglich libdrm.

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

Wenn Sie "sperren" möchten, dh Ihr System daran hindern, automatisch wieder auf 2.6.40 zu aktualisieren, tun Sie dies

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

Ich habe erfolgreich ein Downgrade auf 2.4.56 durchgeführt und kann überprüfen, ob Chrome bei aktivierter GPU-Beschleunigung wie erwartet funktioniert.

Bryan O'Donoghue
quelle
Hoppla. Sprach zu früh. Befolgte den Rat der Leute von freedesktop und wechselte von libdrm 2.40.6 weg, aber ich erhalte immer noch die Fehlermeldung ..... Ich habe meinen Grafiktreiber so modifiziert, dass Chrome dies zulässt und es scheint gut zu sein ... eine Sache Das ist allerdings nicht klar, ob 2.4.56 diesen Fehler nicht haben sollte. Mir wurde gesagt, ich solle von 2.40.6 wechseln - aber das bedeutet nicht unbedingt, dass wir kein Pech haben und 2.4.56 ~ 1 nicht unter demselben Problem leidet.
Bryan O'Donoghue
0

Ich habe das vor einiger Zeit auf meinem nicht-Ubuntu-basierten, autobuiltem LFS-System gesehen (ich bin ein Verrückter ohne Leben, ich gebe es zu). Cue viel schreien in der Dmesg-Protokoll über beschädigte Bos etc.

Für mich bestand eine andere Lösung, mit der ich in den meisten Situationen das hardwarebeschleunigte Rendern beibehalten konnte, darin, LIBGL_DRI3_DISABLE=1vor dem Starten von Chromium in die Umgebung zu exportieren . DRI3 scheint noch nicht so weit zu sein ...

Nix
quelle
0

Das Entfernen und Installieren der Vorgängerversion half mit den folgenden Befehlen. Ich habe i386 anstelle von amd64 ausgetauscht und die Installation verlief einwandfrei. Danke für die Hilfe.

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

Für mich wurde das Problem gelöst, indem alle Passwörter, die doppelt vorhanden, abgelaufen, übertrieben lang, unbenutzt usw. waren, vom Chrome Password Manager entfernt wurden. Es scheint, dass die Auswahl sehr komplexer Passwörter dazu neigt, das gesamte Betriebssystem zum Absturz zu bringen oder einzufrieren, und das passiert auch unter Windows. Eine andere Sache, die ich tat, stellte ich meine swappiness auf 0 herunter.

Mihai Alex Ionescu
quelle
0

Ich habe mit dem gleichen Problem auf meinem Ubuntu 14.10 zu kämpfen. Die Lösung ist einfach, Chrome jedes Mal zu töten, wenn es die CPU auffrisst. Hier ist mein Skript, um das zu tun.

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

Ich benutze im Allgemeinen gerne Chrome, aber es ist die einzige Software auf meinem Ubuntu, die garantiert das gesamte Betriebssystem einfriert, wenn genügend Zeit zur Verfügung steht. Und manchmal kann ich buchstäblich nichts anderes tun als einen Kaltstart. Wenn ich bereits ein anderes TTY geöffnet hatte ( Alt+ Ctrl+ Fn), kann ich möglicherweise auf Issue umschalten oder nicht killall chrome, wodurch das Betriebssystem sofort repariert wird. Dasselbe gilt, wenn bereits eine SSH-Verbindung ansteht. Manchmal bewegt sich der Mauszeiger über den Bildschirm, aber absolut nichts anderes reagiert. Manchmal nicht einmal der Mauszeiger.

Wie auch immer, ich habe experimentell herausgefunden, dass der Arbeitsspeicher knapp wird, wenn Chrom gerade verwendet wird. Einige schreckliche Speicherlecks. Also, was ich getan habe, um zu vermeiden, dass mein Betriebssystem komplett eingefroren ist, bis es keine Rettung mehr gibt, ist ein bisschen ein Heimwerker. Ich habe ein einfaches Bash-Skript erstellt und unter der Crontab meines Benutzers installiert. Ich laufe es jede Minute. Es prüft, ob der freie RAM-Speicher verfügbar ist, und wenn er unter das von mir festgelegte Limit (ich verwende 200 MB) killall chromefällt, wird er dreimal hintereinander ausgegeben (nur für den Fall). Danach ist Chrome vom Bildschirm verschwunden, aber es wird ein Dialogfeld angezeigt, in dem Sie erfahren, was passiert ist, wie viel Speicher Sie übrig haben und wie viel Sie jetzt haben, nachdem Sie es von Chrome wiederhergestellt haben. Das Skript sieht wie folgt aus:

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

Wenn ich auf meinem RAM einen kritischen Tiefpunkt erreiche, wird mein Chrome beendet und ich sehe Folgendes: Bildbeschreibung hier eingeben

Kris Jace
quelle