Bug 71172

Summary: Segfault when running glxinfo. NV25GL [Quadro4 900 XGL]
Product: Mesa Reporter: Simon <simon>
Component: Drivers/DRI/nouveauAssignee: Nouveau Project <nouveau>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: dmesg of machine
packages installed
nouveau_dri_screen_init_breakage.patch
output from working glxinfo

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:
https://launchpad.net/~oibaf/+archive/graphics-drivers


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:
<http://www.gnu.org/software/gdb/bugs/>...
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 ?? ()
(gdb)
--

Dmesg attached, which show machine details. Any other info needed?
Simon
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.

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

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

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

Thanks.

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

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.