[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#671800: xserver-xorg-video-savage: segfaults under X.Org X Server 1.12.1



Hi

On Tuesday 08 May 2012, Tormod Volden wrote:
> On Mon, May 7, 2012 at 9:08 AM, Tormod Volden wrote:
> > On Mon, May 7, 2012 at 2:02 AM, Cyril Brulebois wrote:
> >> Hi Stefan,
> >>
> >> Stefan Lippers-Hollmann (07/05/2012):
> >>> Backtrace:
> >>> 0: /usr/bin/X (xorg_backtrace+0x49) [0xb76bb919]
> >>> 1: /usr/bin/X (0xb7533000+0x18c38a) [0xb76bf38a]
> >>> 2: (vdso) (__kernel_rt_sigreturn+0x0) [0xb7515410]
> >>>
> >>> Segmentation fault at address (nil)
> 
> From the previous entries in the Xorg.0.log before the crash it looks
> like it crashes in the vgaHW* functions.
> 
> >>
> >> hmm, doesn't look too helpful. Does gdb help? Starters' doc available at:
> >>  http://x.debian.net/howto/use-gdb.html

[excerpt from the previous mail]
| Wow, a savage user! I am hoping to get a newer savage version done
| soon, unless someone beats me to it. Anyway, this issue might be
| outside the driver. Do you have libpciaccess 13.1? This is in my
| experience necessary in order to run xserver 1.12.

libpciaccess 0.13.1 was installed in both (successful with 
xserver-xorg-core 2:1.11.4-1 and now with 2:1.12.1-2) cases.

> Please install xserver-xorg-core-dbg package at least, and see if we
> can get a more meaningful backtrace. A "bt full" full backtrace from
> gdb would be great.

ii  libpciaccess0:i386                    0.13.1-2                        Generic PCI access library for X
ii  xserver-xorg-core                     2:1.12.1-2                      Xorg X server - core server
ii  xserver-xorg-core-dbg                 2:1.12.1-2                      Xorg - the X.Org X server (debugging symbols)

with plain xserver-xorg-video-savage 1:2.3.3-1+b1:

# LANG= gdb -c /etc/X11/core /usr/bin/Xorg
GNU gdb (GDB) 7.4.1-debian                                                                                                                                                                                                                                                                                                                                                                
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 "i486-linux-gnu".                                                                                                                                                                                                                                                                                                                                              
For bug reporting instructions, please see:                                                                                                                                                                                                                                                                                                                                               
<http://www.gnu.org/software/gdb/bugs/>...                                                                                                                                                                                                                                                                                                                                                
Reading symbols from /usr/bin/Xorg...Reading symbols from /usr/lib/debug/usr/bin/Xorg...done.                                                                                                                                                                                                                                                                                             
done.                                                                                                                                                                                                                                                                                                                                                                                     
[New LWP 2219]                                                                                                                                                                                                                                                                                                                                                                            
                                                                                                                                                                                                                                                                                                                                                                                          
warning: Can't read pathname for load map: Input/output error.                                                                                                                                                                                                                                                                                                                            
[Thread debugging using libthread_db enabled]                                                                                                                                                                                                                                                                                                                                             
Using host libthread_db library "/lib/i386-linux-gnu/i686/cmov/libthread_db.so.1".                                                                                                                                                                                                                                                                                                        
Core was generated by `/usr/bin/X :0 vt7 -br -nolisten tcp -core -auth /var/run/xauth/A:0-xqEaSb'.                                                                                                                                                                                                                                                                                        
Program terminated with signal 6, Aborted.                                                                                                                                                                                                                                                                                                                                                
#0  0xb7524424 in __kernel_vsyscall ()                                                                                                                                                                                                                                                                                                                                                    
(gdb) bt full                                                                                                                                                                                                                                                                                                                                                                             
#0  0xb7524424 in __kernel_vsyscall ()                                                                                                                                                                                                                                                                                                                                                    
No symbol table info available.                                                                                                                                                                                                                                                                                                                                                           
#1  0xb71fb941 in *__GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64                                                                                                                                                                                                                                                                                                       
        resultvar = <optimized out>                                                                                                                                                                                                                                                                                                                                                       
        pid = -1221419020                                                                                                                                                                                                                                                                                                                                                                 
        selftid = 2219                                                                                                                                                                                                                                                                                                                                                                    
#2  0xb71fed72 in *__GI_abort () at abort.c:92                                                                                                                                                                                                                                                                                                                                            
        act = {__sigaction_handler = {sa_handler = 0xbfd9d204, sa_sigaction = 0xbfd9d204}, sa_mask = {__val = {3075662802, 3218723316, 3075775968, 3218723304, 3075742308, 0, 3072023160, 1, 0, 1, 3075741960, 3218723224, 3072527358, 3093543240, 3077842944, 52, 3071284992, 3077795828, 0, 3218723376, 3218723304, 3218723316, 3077842944, 3075741960, 0, 3077795828, 3218723280,      
              3075817337, 3077828252, 3077378300, 0, 3218723280}}, sa_flags = -1217124576, sa_restorer = 0xb863b948}                                                                                                                                                                                                                                                                      
        sigs = {__val = {32, 0 <repeats 31 times>}}                                                                                                                                                                                                                                                                                                                                       
#3  0xb76d1189 in OsAbort () at ../../os/utils.c:1198                                                                                                                                                                                                                                                                                                                                     
No locals.                                                                                                                                                                                                                                                                                                                                                                                
#4  0xb75c11fc in ddxGiveUp (error=EXIT_ERR_ABORT) at ../../../../hw/xfree86/common/xf86Init.c:1008                                                                                                                                                                                                                                                                                       
        i = <optimized out>                                                                                                                                                                                                                                                                                                                                                               
#5  0xb75c12a3 in AbortDDX (error=EXIT_ERR_ABORT) at ../../../../hw/xfree86/common/xf86Init.c:1052                                                                                                                                                                                                                                                                                        
        i = <optimized out>                                                                                                                                                                                                                                                                                                                                                               
#6  0xb76d6721 in AbortServer () at ../../os/log.c:481                                                                                                                                                                                                                                                                                                                                    
No locals.                                                                                                                                                                                                                                                                                                                                                                                
#7  0xb76d6845 in FatalError (f=0xb76fb7c8 "Caught signal %d (%s). Server aborting\n") at ../../os/log.c:616                                                                                                                                                                                                                                                                              
        args = 0xbfd9d304 "\v"                                                                                                                                                                                                                                                                                                                                                            
        beenhere = 1                                                                                                                                                                                                                                                                                                                                                                      
#8  0xb76cec94 in OsSigHandler (sip=0xbfd9d32c, signo=11, unused=<optimized out>) at ../../os/osinit.c:146                                                                                                                                                                                                                                                                                
No locals.                                                                                                                                                                                                                                                                                                                                                                                
#9  OsSigHandler (signo=11, sip=0xbfd9d32c, unused=0xbfd9d3ac) at ../../os/osinit.c:107                                                                                                                                                                                                                                                                                                   
No locals.                                                                                                                                                                                                                                                                                                                                                                                
#10 <signal handler called>                                                                                                                                                                                                                                                                                                                                                               
No symbol table info available.                                                                                                                                                                                                                                                                                                                                                           
#11 0x00000000 in ?? ()                                                                                                                                                                                                                                                                                                                                                                   
No symbol table info available.                                                                                                                                                                                                                                                                                                                                                           
#12 0xb6f91fb3 in vgaHWGetIOBase (hwp=0xb8650420) at ../../../../hw/xfree86/vgahw/vgaHW.c:1790                                                                                                                                                                                                                                                                                            
No locals.                                                                                                                                                                                                                                                                                                                                                                                
#13 0xb6fa1179 in ?? () from /usr/lib/xorg/modules/drivers/savage_drv.so                                                                                                                                                                                                                                                                                                                  
No symbol table info available.                                                                                                                                                                                                                                                                                                                                                           
#14 0xb75c2dbb in InitOutput (pScreenInfo=0xb7748ce0, argc=9, argv=0xbfd9d914) at ../../../../hw/xfree86/common/xf86Init.c:586                                                                                                                                                                                                                                                            
        i = <optimized out>                                                                                                                                                                                                                                                                                                                                                               
        j = <optimized out>                                                                                                                                                                                                                                                                                                                                                               
        k = <optimized out>                                                                                                                                                                                                                                                                                                                                                               
        scr_index = <optimized out>                                                                                                                                                                                                                                                                                                                                                       
        was_blocked = 0                                                                                                                                                                                                                                                                                                                                                                   
        modulelist = <optimized out>                                                                                                                                                                                                                                                                                                                                                      
        optionlist = 0xb86479b8                                                                                                                                                                                                                                                                                                                                                           
        screenpix24 = <optimized out>                                                                                                                                                                                                                                                                                                                                                     
        pix24 = <optimized out>                                                                                                                                                                                                                                                                                                                                                           
        pix24From = X_DEFAULT                                                                                                                                                                                                                                                                                                                                                             
        pix24Fail = 0                                                                                                                                                                                                                                                                                                                                                                     
        autoconfig = <optimized out>                                                                                                                                                                                                                                                                                                                                                      
        configured_device = <optimized out>                                                                                                                                                                                                                                                                                                                                               
#15 0xb756b500 in main (argc=9, argv=0xbfd9d914, envp=0xbfd9d93c) at ../../dix/main.c:203                                                                                                                                                                                                                                                                                                 
        i = <optimized out>                                                                                                                                                                                                                                                                                                                                                               
        alwaysCheckForInput = {0, 1}                                                                                                                                                                                                                                                                                                                                                      
(gdb) quit


and xserver-xorg-video-savage 1:2.3.3-1+b1, rebuilt with an added -dbg 
package (debdiff attached, modelled after xserver-xorg-video-intel).

# LANG= gdb -c /etc/X11/core /usr/bin/Xorg
GNU gdb (GDB) 7.4.1-debian
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 "i486-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/bin/Xorg...Reading symbols from /usr/lib/debug/usr/bin/Xorg...done.
done.
[New LWP 1599]

warning: Can't read pathname for load map: Input/output error.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/i686/cmov/libthread_db.so.1".
Core was generated by `/usr/bin/X :0 vt7 -br -nolisten tcp -core -auth /var/run/xauth/A:0-BrPiGb'.
Program terminated with signal 6, Aborted.
#0  0xb75bb424 in __kernel_vsyscall ()
(gdb) bt full
#0  0xb75bb424 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb7292941 in *__GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
        resultvar = <optimized out>
        pid = -1220800524
        selftid = 1599
#2  0xb7295d72 in *__GI_abort () at abort.c:92
        act = {__sigaction_handler = {sa_handler = 0xbffc72f4, sa_sigaction = 0xbffc72f4}, sa_mask = {__val = {3076281298, 3220992740, 3076394464, 3220992728, 3076360804, 0, 3072641656, 1, 0, 1, 3076360456, 3220992648, 3073145854, 3100715336, 3078461440, 52, 3071903488, 3078414324, 0, 3220992800, 3220992728, 3220992740, 3078461440, 3076360456, 0, 3078414324, 3220992704, 
              3076435833, 3078446748, 3077996796, 0, 3220992704}}, sa_flags = -1216506080, sa_restorer = 0xb8d12948}
        sigs = {__val = {32, 0 <repeats 31 times>}}
#3  0xb7768189 in OsAbort () at ../../os/utils.c:1198
No locals.
#4  0xb76581fc in ddxGiveUp (error=EXIT_ERR_ABORT) at ../../../../hw/xfree86/common/xf86Init.c:1008
        i = <optimized out>
#5  0xb76582a3 in AbortDDX (error=EXIT_ERR_ABORT) at ../../../../hw/xfree86/common/xf86Init.c:1052
        i = <optimized out>
#6  0xb776d721 in AbortServer () at ../../os/log.c:481
No locals.
#7  0xb776d845 in FatalError (f=0xb77927c8 "Caught signal %d (%s). Server aborting\n") at ../../os/log.c:616
        args = 0xbffc73f4 "\v"
        beenhere = 1
#8  0xb7765c94 in OsSigHandler (sip=0xbffc741c, signo=11, unused=<optimized out>) at ../../os/osinit.c:146
No locals.
#9  OsSigHandler (signo=11, sip=0xbffc741c, unused=0xbffc749c) at ../../os/osinit.c:107
No locals.
#10 <signal handler called>
No symbol table info available.
#11 0x00000000 in ?? ()
No symbol table info available.
#12 0xb7028fb3 in vgaHWGetIOBase (hwp=hwp@entry=0xb8d27420) at ../../../../hw/xfree86/vgahw/vgaHW.c:1790
No locals.
#13 0xb70383f7 in SavagePreInit (pScrn=0xb8d262d8, flags=<optimized out>) at ../../src/savage_driver.c:1191
        vgaCRIndex = <optimized out>
        n1 = <optimized out>
        cr66 = <optimized out>
        hwp = 0xb8d27420
        dvi = <optimized out>
        pEnt = <optimized out>
        s = <optimized out>
        m = <optimized out>
        n2 = <optimized out>
        mclk = <optimized out>
        i = <optimized out>
        clockRanges = <optimized out>
        n = <optimized out>
        sr8 = <optimized out>
        tmp = <optimized out>
        vgaCRReg = <optimized out>
        psav = <optimized out>
        from = <optimized out>
        config1 = <optimized out>
#14 SavagePreInit (pScrn=0xb8d262d8, flags=0) at ../../src/savage_driver.c:1079
No locals.
#15 0xb7659dbb in InitOutput (pScreenInfo=0xb77dfce0, argc=9, argv=0xbffc7a04) at ../../../../hw/xfree86/common/xf86Init.c:586
        i = <optimized out>
        j = <optimized out>
        k = <optimized out>
        scr_index = <optimized out>
        was_blocked = 0
        modulelist = <optimized out>
        optionlist = 0xb8d1e9b8
        screenpix24 = <optimized out>
        pix24 = <optimized out>
        pix24From = X_DEFAULT
        pix24Fail = 0
        autoconfig = <optimized out>
        configured_device = <optimized out>
#16 0xb7602500 in main (argc=9, argv=0xbffc7a04, envp=0xbffc7a2c) at ../../dix/main.c:203
        i = <optimized out>
        alwaysCheckForInput = {0, 1}
(gdb) quit

Thanks a lot!

Regards
	Stefan Lippers-Hollmann
diff -u xserver-xorg-video-savage-2.3.3/debian/rules xserver-xorg-video-savage-2.3.3/debian/rules
--- xserver-xorg-video-savage-2.3.3/debian/rules
+++ xserver-xorg-video-savage-2.3.3/debian/rules
@@ -9,6 +9,10 @@
 	find debian/tmp -name '*.la' -delete
 	dh_install --fail-missing
 
+# Debug package:
+override_dh_strip:
+	dh_strip --dbg-package=xserver-xorg-video-savage-dbg
+
 # That's a plugin, use appropriate warning level:
 override_dh_shlibdeps:
 	dh_shlibdeps -- --warnings=6
diff -u xserver-xorg-video-savage-2.3.3/debian/control xserver-xorg-video-savage-2.3.3/debian/control
--- xserver-xorg-video-savage-2.3.3/debian/control
+++ xserver-xorg-video-savage-2.3.3/debian/control
@@ -44,0 +45,14 @@
+
+Package: xserver-xorg-video-savage-dbg
+Architecture: any
+Depends:
+ xserver-xorg-video-savage (= ${binary:Version}),
+ ${shlibs:Depends},
+ ${misc:Depends}
+Section: debug
+Priority: extra
+Description: X.Org X server -- Savage display driver (debug symbols)
+ This package provides the driver for the S3/VIA Savage/ProSavage/Twister family
+ of chipsets.
+ .
+ This package provides debugging symbols for this Xorg X driver.

Reply to: