|
Bugzilla – Full Text Bug Listing |
| Summary: | nv driver segfaults in libpthread when starting X | ||
|---|---|---|---|
| Product: | [openSUSE] openSUSE 12.2 | Reporter: | Larry Finger <Larry.Finger> |
| Component: | X.Org | Assignee: | E-mail List <xorg-maintainer-bugs> |
| Status: | RESOLVED FIXED | QA Contact: | E-mail List <xorg-maintainer-bugs> |
| Severity: | Major | ||
| Priority: | P2 - High | CC: | Larry.Finger, msrb |
| Version: | Beta 2 | ||
| Target Milestone: | --- | ||
| Hardware: | x86-64 | ||
| OS: | openSUSE 12.2 | ||
| Whiteboard: | |||
| Found By: | --- | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
|
Description
Larry Finger
2012-07-09 22:11:00 UTC
I figured out how to start debugging this problem by booting the box in question to run level 3, and then logging in from another machine using ssh. The gdb output is as follows: larrylap:~ # gdb /usr/bin/X GNU gdb (GDB) SUSE (7.4.50.20120603-2.1.1) Copyright (C) 2012 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 "x86_64-suse-linux". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>... Reading symbols from /usr/bin/X...Reading symbols from /usr/lib/debug/usr/bin/Xorg.debug...done. done. (gdb) run Starting program: /usr/bin/X [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". X.Org X Server 1.12.3 Release Date: 2012-07-09 X Protocol Version 11, Revision 0 Build Operating System: openSUSE SUSE LINUX Current Operating System: Linux larrylap.site 3.5.0-rc6-wl+ #5 SMP Wed Jul 11 14:01:30 CDT 2012 x86_64 Kernel command line: root=/dev/disk/by-id/ata-ST9250315AS_5VC2GXQZ-part5 nomodeset resume=/dev/disk/by-id/ata-ST9250315AS_5VC2GXQZ-part3 splash=silent quiet vga=0x317 3 Build Date: 10 July 2012 12:49:34PM Current version of pixman: 0.24.4 Before reporting problems, check http://wiki.x.org to make sure that you have the latest version. Markers: (--) probed, (**) from config file, (==) default setting, (++) from command line, (!!) notice, (II) informational, (WW) warning, (EE) error, (NI) not implemented, (??) unknown. (==) Log file: "/var/log/Xorg.0.log", Time: Wed Jul 11 18:19:56 2012 (==) Using config directory: "/etc/X11/xorg.conf.d" (==) Using system config directory "/usr/share/X11/xorg.conf.d" [tcsetpgrp failed in terminal_inferior: Operation not permitted] Program received signal SIGSEGV, Segmentation fault. 0x0000000000000000 in ?? () Missing separate debuginfos, use: zypper install glibc-debuginfo-2.15-24.1.x86_64 libudev0-debuginfo-182-4.5.1.x86_64 (gdb) bt #0 0x0000000000000000 in ?? () #1 0x00007fd136156303 in vgaHWSaveColormap (scrninfp=0x80fde0, save=0x811c58) at vgaHW.c:1124 #2 0x00007fd136157b6d in vgaHWSave (scrninfp=scrninfp@entry=0x80fde0, save=0x811c58, flags=7) at vgaHW.c:1155 #3 0x00007fd136587f20 in NVDACSave (pScrn=pScrn@entry=0x80fde0, vgaReg=<optimized out>, nvReg=0x810420, saveFonts=<optimized out>) at nv_dac.c:311 #4 0x00007fd1365891ec in NVSave (pScrn=pScrn@entry=0x80fde0) at nv_driver.c:2661 #5 0x00007fd13658b5f0 in NVScreenInit (scrnIndex=scrnIndex@entry=0, pScreen=pScreen@entry=0x813e30, argc=argc@entry=1, argv=argv@entry=0x7fff69f5e948) at nv_driver.c:2429 #6 0x0000000000438c39 in AddScreen (pfnInit=0x7fd13658b410 <NVScreenInit>, argc=argc@entry=1, argv=argv@entry=0x7fff69f5e948) at dispatch.c:3797 #7 0x0000000000476e2e in InitOutput (pScreenInfo=pScreenInfo@entry=0x7e4da0 <screenInfo>, argc=argc@entry=1, argv=argv@entry=0x7fff69f5e948) at xf86Init.c:834 #8 0x00000000004277c6 in main (argc=1, argv=0x7fff69f5e948, envp=<optimized out>) at main.c:203 (gdb) The problem is still present in 12.2-RC1. I am increasing the priority, etc. Still present in 12.2-RC2. This bug must be fixed soon! The problem is that readST01 member of vgaHWPtr is not initialized. It should be either initialized to standard method in vgaHWSetStdFuncs or set specifically for the driver. The nv driver in 12.2 doesn't do any of it. It is fixed in upstream by this commit: http://cgit.freedesktop.org/xorg/driver/xf86-video-nv/commit/?id=b3d61828837661c9b383378a7d6006752659108b The fix is already present in the Factory version of nv driver (2.1.20). I installed the Factory version, and I now have 1280x800 resolution, the way it was in 12.1. Once this fix makes it to 12.2, the bug can be closed as code fixed. SR #130711 SR has been accepted. |