LIBGL_ALWAYS_INDIRECT causes firefox crashes

Bug #1072711 reported by Alkis Georgopoulos
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
LTSP5
Fix Released
High
Alkis Georgopoulos
xserver-xorg-video-nouveau (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

In some cases, the default LIBGL_ALWAYS_INDIRECT=true is causing the following problems on thin clients:
 * When starting firefox, xorg crashes, without any relevant messages in .xsession-errors or in Xorg.log.
 * When *closing* chromium-browser, xorg crashes.

The first of the setups where this was observed had the following graphics card on both the server and the clients, and had no proprietary drivers installed:

# lspci -nn -k | grep -A 2 VGA
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation NV18 [GeForce4 MX 440 AGP 8x] [10de:0181] (rev c1)
         Kernel driver in use: nouveau
         Kernel modules: nouveau, nvidiafb

That's on Ubuntu Precise, fully updated.

Revision history for this message
Alkis Georgopoulos (alkisg) wrote :

In another occurance of the problem, the client had:

# lspci -nn -k |grep -A 2 VGA
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation NV5M64 [RIVA TNT2 Model 64/Model 64 Pro] [10de:002d] (rev 15)
Kernel driver in use: nouveau
Kernel modules: nouveau, nvidiafb, rivafb

...while the server did not have nvidia in that case:
# lspci -nn -k | grep -A 2 VGA
00:02.0 VGA compatible controller [0300]: Intel Corporation 4 Series Chipset Integrated Graphics Controller [8086:2e22] (rev 03)
 Subsystem: Hewlett-Packard Company Device [103c:2a94]
 Kernel driver in use: i915

Revision history for this message
Alkis Georgopoulos (alkisg) wrote :

Third case:

# lspci -nn -k | grep -A 2 VGA
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation NV5M64 [RIVA TNT2 Model 64/Model 64 Pro] [10de:002d] (rev 15)
        Kernel driver in use: nouveau
        Kernel modules: nouveau, nvidiafb, rivafb

We should probably start by disabling LIBGL_ALWAYS_INDIRECT for all nvidia cards, and then try to hunt down the actual bug.

Revision history for this message
Alkis Georgopoulos (alkisg) wrote :

Attaching Xorg.log where the segfault in nouveau_vieux_dri.so can be seen.

An easy way to reproduce the problem without LTSP:
(from a client with an nvidia card):
$ ssh -X server
$ LIBGL_ALWAYS_INDIRECT=true firefox

One workaround mentioned in #nouveau:
(08:34:05 πμ) airlied: got all the accel you are going to get you might just mv the nouveau_vieux_dri.so aside

Tested it and it works fine, maybe we can do that on in /usr/share/ldm/rc.d/X51-opengl (inside the "if" so that it affects thin clients only).

Revision history for this message
Alkis Georgopoulos (alkisg) wrote :

In this case, although with Precise not updated for a couple of months, the problem did NOT happen:

# lspci -nn -k | grep -A 2 VGA
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation NV11 [GeForce2 MX/MX 400] [10de:0110] (rev b2)
        Kernel driver in use: nouveau
        Kernel modules: nouveau, nvidiafb, rivafb

Revision history for this message
Alkis Georgopoulos (alkisg) wrote :

Some people are reporting that this doesn't happen in a fresh 12.04.1 installation, but it happens after they `apt-get update` their server.

Revision history for this message
Alkis Georgopoulos (alkisg) wrote :

Another teacher reports the same problem in these clients:

root@ltsp135:~# lspci -nn -k | grep -A 2 VGA
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation NV18
[GeForce4 MX 4000] [10de:0185] (rev c1)
   Subsystem: Micro-Star International Co., Ltd. Device [1462:9363]
   Kernel driver in use: nouveau

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in xserver-xorg-video-nouveau (Ubuntu):
status: New → Confirmed
Revision history for this message
Christian (c-pradelli) wrote :

I having this same problem in all my ltsp clients that have nvidia video card.
I'm using Ubuntu 12.04.1 64 bits.
Is there any workarround?

Revision history for this message
Vagrant Cascadian (vagrantc) wrote : Re: [Bug 1072711] Re: LIBGL_ALWAYS_INDIRECT causes firefox crashes

On Fri, Nov 30, 2012 at 09:25:38PM -0000, Christian wrote:
> I having this same problem in all my ltsp clients that have nvidia video card.
> I'm using Ubuntu 12.04.1 64 bits.
> Is there any workarround?

You can create an empty file to override it:

  sudo mkdir -p /opt/ltsp/i386/etc/ldm/rc.d/
  sudo touch /opt/ltsp/i386/etc/ldm/rc.d/X51-opengl
  sudo ltsp-update-image

Adjust i386 for amd64 if you're using amd64 clients.

Note that if it is ever fixed properly, you'll want to remove this empty file.

live well,
  vagrant

Revision history for this message
Alkis Georgopoulos (alkisg) wrote :

Fix committed in http://bazaar.launchpad.net/~ltsp-upstream/ltsp/ldm-trunk/revision/1453.
It is just a temporary workaround, it should be removed in the future once the nouveau bug is resolved.

It'd be nice if someone could SRU this, as many LTSP users are affected.

Changed in ltsp:
assignee: nobody → Alkis Georgopoulos (alkisg)
importance: Undecided → High
status: New → Fix Committed
Revision history for this message
Alkis Georgopoulos (alkisg) wrote :

The committed fix is applied too late, after xorg is loaded. So it's not working on the first login, but only on subsequent logins.
The `rm -f /usr/lib/i386-linux-gnu/dri/nouveau_vieux_dri.so` command should be run from some init-ltsp.d script instead.

A workaround that doesn't involve updating the chroot is to put this in lts.conf:
[Default]
RCFILE_01="rm -f /usr/lib/i386-linux-gnu/dri/nouveau_vieux_dri.so"

Changed in ltsp:
status: Fix Committed → In Progress
Revision history for this message
Alkis Georgopoulos (alkisg) wrote :
Changed in ltsp:
status: In Progress → Fix Committed
Revision history for this message
Alkis Georgopoulos (alkisg) wrote :

Fix released in LTSP 5.4.5.

Changed in ltsp:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.