27

This just started happening yesterday. I didn’t knowingly change anything although I have auto-update enabled in Ubuntu.

I can start chrome fine, it will work for a while, but then I open a tab and it will freeze everything except the mouse which I can still move around. I can't do anything (including switching to ctrl-alt-fX) so only option is to REISUB (or hard-reset). Restarting chrome after a while usually has the same effect as opening a tab.

I tried completely purging chrome and removing the settings folder before reinstalling latest version but it didn’t help. Disabling all extensions didn't help.

I'm running latest stable Ubuntu 14. 15gb ram, intel i7

Another oddity is the little notification windows I get from chrome, which would usually show info about a new email or any of the plugin notifications, it's now just a black block, no content.

Is there a log I can look in to find something about the crash? I checked dmesg but it doesn’t mean much to me:

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

I have not tested chromium, I have read that similar happens in that one. Other topics I have read suggest switching to Firefox or chromium but that Isn't solving the problem. I need chrome for numerous work reasons and as it works just fine at home on same Ubuntu version so logic would suggest that it is fixable.

I think it's more linked to the duration chrome has been running and not ubuntu. If I start Ubuntu and launch chrome right away it will crash on a new tab after a few minutes. If i don't start chrome after booting and only start it later it will launch fine then crash after its been running for the same few minutes.

Many thanks

1
  • Your graphics driver is acting up. Which graphics card you have in your system? If Nvidia, remove the noveau driver and install nvidia driver. Jul 23, 2015 at 9:52

11 Answers 11

20

The problem is with Google Chrome v44. You can keep working by starting chrome without gpu acceleration:

google-chrome --disable-gpu

Or by removing chrome and installing the version just before that one:

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

This will let you use Chrome until a fix is out.

Note: you cannot disable gpu acceleration from the settings URL, as it will freeze your system immediately:

# DON'T go to (this might crash the system):
chrome://gpu
# or (this will definitely crash the system)
chrome://flags
8
  • /gpu did not crash my browser (contents below) but /flags did. Uninstalled chrome (sudo apt-get remove google-chrome-stable) and trying the older version, will report back in a while. Jul 24, 2015 at 1:17
  • Thanks, I can't try it myself now but better be safe than sorry (using the --disable-gpu works though! I'm using it right now)
    – Fabio
    Jul 24, 2015 at 7:43
  • 2
    tested this for the last few days and it seems to have done the trick, no crashes any more. Many thanks! Jul 27, 2015 at 0:31
  • It's happening to me, Version 46.0.2490.86 (64-bit). But I'm able to access /gpu and /flags.
    – Falci
    Nov 28, 2015 at 18:13
  • 1
    happens in Version 48.0.2564.116 Ubuntu 14.04 (64-bit) Chromium and Version 48.0.2564.116 (64-bit) Chrome Mar 7, 2016 at 8:05
6

I have been having the same problem with ubuntu 14.04 and Chrome. I have nvidia geforce gtx 650 graphics card. The problem seems indeed to be Ubuntu's nouveau graphics card driver. The fix for me was to go to System settings -> Software & Updates -> Additional Drivers and choose a proprietary nvidia driver (or which ever card you have) instead of nouveau. This change also seems to have fixed a problem I have had with youtube's media player (may or may not apply to other media players). Fast moving video image in particular used to seem to update in sections with horizontal "fault lines" appearing. It seems to be gone too.

1
  • It seems to work fine.
    – Falci
    Nov 28, 2015 at 18:19
3

I uninstall Chrome and then deleted all my configuration files, and nothing, got the same problem. This works for me in Ubuntu 14.04 64 bits

google-chrome --disable-gpu
1

Make sure that you have good status with Graphics Feature Status in browser. Follow this link to verify:

chrome://gpu/

You should see all green options Hardware accelerated. If not, go to

chrome://flags/

1st line is your flag to enable Override software rendering list #ignore-gpu-blacklist.

Restart your browser and check again your Hardware accelerated status.

Also, make sure that you have enough free memory during running browser

$ free
3
  • /gpu shows this: Graphics Feature Status Canvas: Software only, hardware acceleration unavailable Flash: Hardware accelerated Flash Stage3D: Hardware accelerated Flash Stage3D Baseline profile: Hardware accelerated Compositing: Hardware accelerated Multiple Raster Threads: Enabled Rasterization: Software only. Hardware acceleration disabled Threaded Rasterization: Enabled Video Decode: Software only, hardware acceleration unavailable Video Encode: Hardware accelerated WebGL: Hardware accelerated / flags crashes the system Jul 24, 2015 at 1:17
  • @ThomasSmart follow instructions on my answer. --- after, Enable flag Override software rendering list restart browser and check again. Jul 24, 2015 at 10:42
  • 1
    could not follow because going to /flags crashed the browser. the answer above about installing an older chrome solved the issue. Jul 27, 2015 at 0:33
1

I solved it by replacing the nouveau video driver with the nvidia drivers as described here.

No google-chrome --disable-gpu required.

1

I posted a patch to LKML to work around this bug and was told that the issue had been identified as a libdrm (not Chrome) bug.

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

This issue is related to libdrm 2.40.6 only and from the link above there are other applications not, just Chrome that can encounter this same error with nouveau.

It is possible to downgrade to the previous version of libdrm.

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

If you want to 'lock' i.e. stop your system from automatically upgrade to 2.6.40 again do

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

I've successfully downgraded to 2.4.56 and I can verify that Chrome functions as expected, with gpu acceleration switched on.

1
  • Oops. Spoke too soon. Followed the advice of the freedesktop people and switched away from libdrm 2.40.6 but, I still get the error message..... I've modified my video driver to allow chrome to do that and it appears good... one thing that's not clear though is if 2.4.56 should not have this error. I was told to switch away from 2.40.6 - but that doesn't necessarily mean we aren't unlucky and 2.4.56~1 isn't suffering from the same problem. Jul 31, 2015 at 9:54
0

I saw this a while back on my entirely-non-Ubuntu bleeding-edge-everything autobuilt LFS system (I am a weirdo with no life, I admit it). Cue lots of screaming in the dmesg log about corrupted bos etc.

For me, another solution that let me retain hardware-accelerated rendering in most situations was to export LIBGL_DRI3_DISABLE=1 in the environment before starting Chromium. Looks like DRI3 is not quite ready for prime time yet...

0

Remove and install previous version helped using the following commands. I replaced i386 instead of amd64 and the installation went fine. thanks for the help.

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

For me the problem was solved by cleaning from chrome password manager all passwords that were duplicates, expired, exaggerated long, unused and so on. It seems that choosing very complex passwords tend to crash or freeze the whole operating system and that happens in windows os too. Another thing that i did i set my swappiness down to 0.

0

I faced with the same issue on my Ubuntu 14.10, the solution is simply kill Chrome every time it eat the CPU, here is my script to do that, it worked on my case.

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

I generally like using chrome, but it is the only software on my Ubuntu that is guaranteed to freeze the entire OS if given enough time running. And on some occasions, I literally cannot do anything about it other than a cold reboot. If I already had another TTY opened (Alt+Ctrl+Fn)then I may or may not be able to switch into it to issue killall chrome, which will fix the OS instantly. Same, if I already had an SSH connection pending. Sometimes the mouse cursor will move around the screen but absolutely nothing else will be responsive. Sometimes not even the mouse cursor.

Anyways, I found out experimentally that RAM runs out with chrome just being in use; Some awful memory leaks. So what I have done to avoid having my OS completely frozen to the point of no rescue, is somewhat a DIY. I have created a simple bash script and installed in under my user's crontab. I run it every minute. It checks for free RAM amount, and if it goes under my defined limit (I use 200 MB) it then issues killall chrome, 3 consecutive times (just in case). After that you end up with chrome gone from your screen but a dialog appears telling you what happened, how much memory you had left, and how much you have now after recovering it from chrome. The script is as follows:

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

So when I reach critical low on my RAM, my chrome is killed and I see this: enter image description here

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .