Bug 71172 - Segfault when running glxinfo. NV25GL [Quadro4 900 XGL]
Segfault when running glxinfo. NV25GL [Quadro4 900 XGL]
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/nouveau
Other All
: medium normal
Assigned To: Nouveau Project
Depends on:
  Show dependency treegraph
Reported: 2013-11-02 20:46 UTC by Simon
Modified: 2013-11-04 20:17 UTC (History)
0 users

See Also:
i915 platform:
i915 features:

dmesg of machine (46.55 KB, text/plain)
2013-11-02 20:46 UTC, Simon
packages installed (208.92 KB, text/plain)
2013-11-02 20:47 UTC, Simon
nouveau_dri_screen_init_breakage.patch (1.55 KB, patch)
2013-11-02 21:01 UTC, Francisco Jerez
Details | Splinter Review
output from working glxinfo (23.53 KB, text/plain)
2013-11-04 03:33 UTC, Simon

Note You need to log in before you can comment on or make changes to this bug.
Description Simon 2013-11-02 20:46:48 UTC
Created attachment 88535 [details]
dmesg of machine

Using this PPA on top of 13.10 Xubuntu:

When I run glxinfo, I get the following segfault.
simon@crankshaft:~$ gdb glxinfo 
GNU gdb (GDB) 7.6.1-ubuntu
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-linux-gnu".
For bug reporting instructions, please see:
Reading symbols from /usr/bin/glxinfo...(no debugging symbols found)...done.
(gdb) r
Starting program: /usr/bin/glxinfo 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
name of display: :0.0

Program received signal SIGSEGV, Segmentation fault.
0xb79ff07d in nouveau_init_screen2 (dri_screen=0x806d1f8)
    at ../../../../../../../src/mesa/drivers/dri/nouveau/nouveau_screen.c:105
105	../../../../../../../src/mesa/drivers/dri/nouveau/nouveau_screen.c: No such file or directory.
(gdb) bt
#0  0xb79ff07d in nouveau_init_screen2 (dri_screen=0x806d1f8)
    at ../../../../../../../src/mesa/drivers/dri/nouveau/nouveau_screen.c:105
#1  0xb78fa1f8 in dri2CreateNewScreen2 (scrn=0, fd=8, extensions=0x805bcd0, 
    driver_extensions=0xb7b81bbc <nouveau_driver_extensions>, 
    driver_configs=0xbfffeef0, data=0x805bda0)
    at ../../../../../../../src/mesa/drivers/dri/common/dri_util.c:156
#2  0xb7facde8 in ?? () from /usr/lib/i386-linux-gnu/mesa/libGL.so.1
#3  0xb7f85c1a in ?? () from /usr/lib/i386-linux-gnu/mesa/libGL.so.1
#4  0xb7f821ed in ?? () from /usr/lib/i386-linux-gnu/mesa/libGL.so.1
#5  0xb7f82a4e in glXChooseVisual ()
   from /usr/lib/i386-linux-gnu/mesa/libGL.so.1
#6  0x08049068 in ?? ()
#7  0xb7c9d905 in __libc_start_main (main=0x8048ef0, argc=1, 
    ubp_av=0xbffff294, init=0x804bff0, fini=0x804c060, 
    rtld_fini=0xb7fed5f0 <_dl_fini>, stack_end=0xbffff28c) at libc-start.c:260
#8  0x080499f5 in ?? ()

Dmesg attached, which show machine details. Any other info needed?
Comment 1 Simon 2013-11-02 20:47:16 UTC
Created attachment 88536 [details]
packages installed
Comment 2 Simon 2013-11-02 20:58:37 UTC
I realised that I was running a custom kernel, however the same Segfault occurs when runing the the 'stock' ubuntu one.

Comment 3 Francisco Jerez 2013-11-02 21:01:31 UTC
Created attachment 88537 [details] [review]

Can you try the attached patch on Mesa master?

Thank you.
Comment 4 Simon 2013-11-04 03:33:16 UTC
Created attachment 88585 [details]
output from working glxinfo

I'm not set up with the git sources, but managed to muddle-through with building via the package system....
$ apt-get source libgl1-mesa-dri
$ sudo apt-get build-dep libgl1-mesa-dri
$ cd mesa-10.0~git1310311233.b16b3c~gd~s/
$ dpkg-buildpackage -b

After patching the file and installing the newly built package I was able to run glxinfo without segfault. So that looks to be the problem solved.
$ sudo dpkg --install libgl1-mesa-dri_10.0~git1310311233.b16b3c~gd~s_i386.deb libgl1-mesa-dri-dbg_10.0~git1310311233.b16b3c~gd~s_i386.deb

Comment 5 Francisco Jerez 2013-11-04 20:17:16 UTC
This should be fixed in master now [1].


[1] http://cgit.freedesktop.org/mesa/mesa/commit/?id=67b8f4c569030a2b6392560f8e73283a6a73dc7e