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

Bug#320828: xserver-xorg: Sometimes crashes in ATI driver when resizing XV window



On Tue, Jan 17, 2006 at 12:36:53AM +0100, David Martínez Moreno wrote:
> This time has arrived. :-)
> 
> Could you please report if your bug was fixed with the latest 6.9 release?

I installed the most recent xorg in Sid, and I could still reproduce the
crash in the same way as before.

ii  xserver-xorg   6.9.0.dfsg.1-4 the X.Org X server
ii  xserver-xorg-d 6.9.0.dfsg.1-4 debugging symbols for the X.Org X server

However, at least this time I was able to extract a full backtrace using
gdb (in previous attempts, my laptop would lock up solid):


[root@nothing marcelm]# gdb /usr/X11R6/bin/Xorg 21312
GNU gdb 6.4-debian
Copyright 2005 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i486-linux-gnu"...Using host libthread_db library "/lib/tls/libthread_db.so.1".

Attaching to program: /usr/X11R6/bin/Xorg, process 21312
Reading symbols from /usr/lib/libz.so.1...done.
Loaded symbols for /usr/lib/libz.so.1
Reading symbols from /lib/tls/libm.so.6...done.
Loaded symbols for /lib/tls/libm.so.6
Reading symbols from /usr/X11R6/lib/libXau.so.6...done.
Loaded symbols for /usr/X11R6/lib/libXau.so.6
Reading symbols from /usr/X11R6/lib/libXdmcp.so.6...done.
Loaded symbols for /usr/X11R6/lib/libXdmcp.so.6
Reading symbols from /lib/tls/libdl.so.2...done.
Loaded symbols for /lib/tls/libdl.so.2
Reading symbols from /lib/libgcc_s.so.1...done.
Loaded symbols for /lib/libgcc_s.so.1
Reading symbols from /lib/tls/libc.so.6...done.
Loaded symbols for /lib/tls/libc.so.6
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
Reading symbols from /usr/X11R6/lib/modules/fonts/libbitmap.so...Reading symbols from /usr/lib/debug/usr/X11R6/lib/modules/fonts/libbitmap.so...done.
done.
Loaded symbols for /usr/X11R6/lib/modules/fonts/libbitmap.so
Reading symbols from /usr/X11R6/lib/modules/libpcidata.so...Reading symbols from /usr/lib/debug/usr/X11R6/lib/modules/libpcidata.so...done.
done.
Loaded symbols for /usr/X11R6/lib/modules/libpcidata.so
Reading symbols from /usr/X11R6/lib/modules/libddc.so...Reading symbols from /usr/lib/debug/usr/X11R6/lib/modules/libddc.so...done.
done.
Loaded symbols for /usr/X11R6/lib/modules/libddc.so
Reading symbols from /usr/X11R6/lib/modules/extensions/libdbe.so...Reading symbols from /usr/lib/debug/usr/X11R6/lib/modules/extensions/libdbe.so...done.
done.
Loaded symbols for /usr/X11R6/lib/modules/extensions/libdbe.so
Reading symbols from /usr/X11R6/lib/modules/extensions/libdri.so...Reading symbols from /usr/lib/debug/usr/X11R6/lib/modules/extensions/libdri.so...done.
done.
Loaded symbols for /usr/X11R6/lib/modules/extensions/libdri.so
Reading symbols from /usr/X11R6/lib/modules/linux/libdrm.so...Reading symbols from /usr/lib/debug/usr/X11R6/lib/modules/linux/libdrm.so...done.
done.
Loaded symbols for /usr/X11R6/lib/modules/linux/libdrm.so
Reading symbols from /usr/X11R6/lib/modules/extensions/libextmod.so...Reading symbols from /usr/lib/debug/usr/X11R6/lib/modules/extensions/libextmod.so...done.
done.
Loaded symbols for /usr/X11R6/lib/modules/extensions/libextmod.so
Reading symbols from /usr/X11R6/lib/modules/extensions/libglx.so...Reading symbols from /usr/lib/debug/usr/X11R6/lib/modules/extensions/libglx.so...done.
done.
Loaded symbols for /usr/X11R6/lib/modules/extensions/libglx.so
Reading symbols from /usr/X11R6/lib/modules/extensions/libGLcore.so...Reading symbols from /usr/lib/debug/usr/X11R6/lib/modules/extensions/libGLcore.so...done.
done.
Loaded symbols for /usr/X11R6/lib/modules/extensions/libGLcore.so
Reading symbols from /usr/X11R6/lib/modules/extensions/librecord.so...Reading symbols from /usr/lib/debug/usr/X11R6/lib/modules/extensions/librecord.so...done.
done.
Loaded symbols for /usr/X11R6/lib/modules/extensions/librecord.so
Reading symbols from /usr/X11R6/lib/modules/fonts/libfreetype.so...Reading symbols from /usr/lib/debug/usr/X11R6/lib/modules/fonts/libfreetype.so...done.
done.
Loaded symbols for /usr/X11R6/lib/modules/fonts/libfreetype.so
Reading symbols from /usr/X11R6/lib/modules/fonts/libtype1.so...Reading symbols from /usr/lib/debug/usr/X11R6/lib/modules/fonts/libtype1.so...done.
done.
Loaded symbols for /usr/X11R6/lib/modules/fonts/libtype1.so
Reading symbols from /usr/X11R6/lib/modules/libvbe.so...Reading symbols from /usr/lib/debug/usr/X11R6/lib/modules/libvbe.so...done.
done.
Loaded symbols for /usr/X11R6/lib/modules/libvbe.so
Reading symbols from /usr/X11R6/lib/modules/linux/libint10.so...Reading symbols from /usr/lib/debug/usr/X11R6/lib/modules/linux/libint10.so...done.
done.
Loaded symbols for /usr/X11R6/lib/modules/linux/libint10.so
Reading symbols from /usr/X11R6/lib/modules/drivers/ati_drv.so...Reading symbols from /usr/lib/debug/usr/X11R6/lib/modules/drivers/ati_drv.so...done.
done.
Loaded symbols for /usr/X11R6/lib/modules/drivers/ati_drv.so
Reading symbols from /usr/X11R6/lib/modules/input/keyboard_drv.so...Reading symbols from /usr/lib/debug/usr/X11R6/lib/modules/input/keyboard_drv.so...done.
done.
Loaded symbols for /usr/X11R6/lib/modules/input/keyboard_drv.so
Reading symbols from /usr/X11R6/lib/modules/input/mouse_drv.so...Reading symbols from /usr/lib/debug/usr/X11R6/lib/modules/input/mouse_drv.so...done.
done.
Loaded symbols for /usr/X11R6/lib/modules/input/mouse_drv.so
Reading symbols from /usr/X11R6/lib/modules/drivers/atimisc_drv.so...Reading symbols from /usr/lib/debug/usr/X11R6/lib/modules/drivers/atimisc_drv.so...done.
done.
Loaded symbols for /usr/X11R6/lib/modules/drivers/atimisc_drv.so
Reading symbols from /usr/X11R6/lib/modules/libxaa.so...Reading symbols from /usr/lib/debug/usr/X11R6/lib/modules/libxaa.so...done.
done.
Loaded symbols for /usr/X11R6/lib/modules/libxaa.so
Reading symbols from /usr/X11R6/lib/modules/libramdac.so...Reading symbols from /usr/lib/debug/usr/X11R6/lib/modules/libramdac.so...done.
done.
Loaded symbols for /usr/X11R6/lib/modules/libramdac.so
Reading symbols from /usr/X11R6/lib/modules/libfb.so...Reading symbols from /usr/lib/debug/usr/X11R6/lib/modules/libfb.so...done.
done.
Loaded symbols for /usr/X11R6/lib/modules/libfb.so
Reading symbols from /usr/X11R6/lib/modules/libi2c.so...Reading symbols from /usr/lib/debug/usr/X11R6/lib/modules/libi2c.so...done.
done.
Loaded symbols for /usr/X11R6/lib/modules/libi2c.so
0x4013e6b8 in select () from /lib/tls/libc.so.6
(gdb) c
Continuing.

Program received signal SIGFPE, Arithmetic exception.
0x405d11c4 in ATIReduceRatio (Numerator=0xbffff190, Denominator=0xbffff194) at atiutil.c:48
48      atiutil.c: No such file or directory.
        in atiutil.c
(gdb) bt
#0  0x405d11c4 in ATIReduceRatio (Numerator=0xbffff190, Denominator=0xbffff194) at atiutil.c:48
#1  0x405d1219 in ATIDivide (Numerator=240, Denominator=0, Shift=12, RoundingKind=0) at atiutil.c:83
#2  0x405c4ba6 in ATIMach64ScaleVideo (pATI=0x8244f78, pMode=0x824a8e8, SrcW=<value optimized out>, SrcH=240, DstW=240, DstH=0, pHScale=0x0, pVScale=0x0)
    at atimach64xv.c:714
#3  0x405c4f56 in ATIMach64DisplayVideo (pScreenInfo=<value optimized out>, pATI=0x8244f78, pDstBox=0xbffff2ec, ImageID=842094169, Offset=1572864, Pitch=320, 
    SrcW=320, SrcH=240, DstW=450, DstH=0, Width=320, Height=240) at atimach64xv.c:892
#4  0x405c5922 in ATIMach64PutImage (pScreenInfo=0x8246668, SrcX=0, SrcY=0, DstX=107, DstY=107, SrcW=320, SrcH=240, DstW=450, DstH=0, ImageID=842094169, 
    Buffer=0x40c09000 "DDDDDDDDHHHHHHHH", 'I' <repeats 16 times>, 'L' <repeats 24 times>, "IIIIIIIIOOOOOOOO", 'Q' <repeats 24 times>, "SSSSSSSS", 'T' <repeats 16 times>, "OOOOOOOO", 'W' <repeats 72 times>..., Width=320, Height=120, Synchronise=0, pClip=0xbffff3c4, Data=0x8244f78) at atimach64xv.c:1089
#5  0x080b71e5 in xf86XVPutImage (client=0x8470430, pDraw=0x82481f0, pPort=0x8277e68, pGC=0xf0, src_x=0, src_y=0, src_w=320, src_h=240, drw_x=0, drw_y=0, 
    drw_w=450, drw_h=14, format=0xf0, data=0xf0 "\235\005", sync=240, width=320, height=240) at xf86xv.c:1773
#6  0x4023bca9 in XvdiPutImage (client=0x8470430, pDraw=0x82481f0, pPort=0x8277e68, pGC=0xf0, src_x=0, src_y=0, src_w=320, src_h=240, drw_x=0, drw_y=0, 
    drw_w=450, drw_h=14, image=0xf0, data=0xf0 "\235\005", sync=240, width=320, height=240) at xvmain.c:734
#7  0x4023ebd5 in ProcXvShmPutImage (client=0x8470430) at xvdisp.c:1191
#8  0x080c9a5e in Dispatch () at dispatch.c:459
#9  0x080d6765 in main (argc=5, argv=0xbffffa34, envp=0xf0) at main.c:484
(gdb) bt full
#0  0x405d11c4 in ATIReduceRatio (Numerator=0xbffff190, Denominator=0xbffff194) at atiutil.c:48
        Multiplier = <value optimized out>
        Divider = 0
#1  0x405d1219 in ATIDivide (Numerator=240, Denominator=0, Shift=12, RoundingKind=0) at atiutil.c:83
        Rounding = <value optimized out>
#2  0x405c4ba6 in ATIMach64ScaleVideo (pATI=0x8244f78, pMode=0x824a8e8, SrcW=<value optimized out>, SrcH=240, DstW=240, DstH=0, pHScale=0x0, pVScale=0x0)
    at atimach64xv.c:714
        Shift = 12
#3  0x405c4f56 in ATIMach64DisplayVideo (pScreenInfo=<value optimized out>, pATI=0x8244f78, pDstBox=0xbffff2ec, ImageID=842094169, Offset=1572864, Pitch=320, 
    SrcW=320, SrcH=240, DstW=450, DstH=0, Width=320, Height=240) at atimach64xv.c:892
        pMode = (DisplayModePtr) 0x0
        HScale = <value optimized out>
        VScale = 240
#4  0x405c5922 in ATIMach64PutImage (pScreenInfo=0x8246668, SrcX=0, SrcY=0, DstX=107, DstY=107, SrcW=320, SrcH=240, DstW=450, DstH=0, ImageID=842094169, 
    Buffer=0x40c09000 "DDDDDDDDHHHHHHHH", 'I' <repeats 16 times>, 'L' <repeats 24 times>, "IIIIIIIIOOOOOOOO", 'Q' <repeats 24 times>, "SSSSSSSS", 'T' <repeats 16 times>, "OOOOOOOO", 'W' <repeats 72 times>..., Width=320, Height=120, Synchronise=0, pClip=0xbffff3c4, Data=0x8244f78) at atimach64xv.c:1089
        pATI = (ATIPtr) 0x0
        pScreen = (ScreenPtr) 0x8242a90
        SrcX1 = 0
        SrcX2 = 20971520
        SrcY1 = 0
        SrcY2 = 15728640
        DstBox = {x1 = 107, y1 = 107, x2 = 557, y2 = 107}
        SrcPitch = 320
        SrcPitchUV = <value optimized out>
        DstPitch = 320
        SrcTop = 0
        SrcLeft = 0
        DstWidth = 320
        DstHeight = 240
        Top = 0
        Bottom = <value optimized out>
        Left = 0
        Right = <value optimized out>
        nLine = 240
        nPixel = 320
        Offset = 1572864
        OffsetV = 76800
        OffsetU = <value optimized out>
        tmp = <value optimized out>
        pDst = <value optimized out>
#5  0x080b71e5 in xf86XVPutImage (client=0x8470430, pDraw=0x82481f0, pPort=0x8277e68, pGC=0xf0, src_x=0, src_y=0, src_w=320, src_h=240, drw_x=0, drw_y=0, 
    drw_w=450, drw_h=14, format=0xf0, data=0xf0 "\235\005", sync=240, width=320, height=240) at xf86xv.c:1773
        portPriv = (XvPortRecPrivatePtr) 0x8277e98
        WinRegion = {extents = {x1 = 107, y1 = 107, x2 = 557, y2 = 121}, data = 0x0}
        ClipRegion = {extents = {x1 = 107, y1 = 107, x2 = 107, y2 = 107}, data = 0x821ebf0}
        ret = <value optimized out>
#6  0x4023bca9 in XvdiPutImage (client=0x8470430, pDraw=0x82481f0, pPort=0x8277e68, pGC=0xf0, src_x=0, src_y=0, src_w=320, src_h=240, drw_x=0, drw_y=0, 
    drw_w=450, drw_h=14, image=0xf0, data=0xf0 "\235\005", sync=240, width=320, height=240) at xvmain.c:734
No locals.
#7  0x4023ebd5 in ProcXvShmPutImage (client=0x8470430) at xvdisp.c:1191
        ev = {type = 136 '\210', bpad0 = 70 'F', sequenceNumber = 2122, drawable = 4096, minorEvent = 0, majorEvent = 0 '\0', bpad1 = 0 '\0', 
  shmseg = 138871808, offset = 13, pad0 = 1, pad1 = 0, pad2 = 52}
        shmdesc = (ShmDescPtr) 0x84a5ae8
        pDraw = (DrawablePtr) 0x82481f0
        pPort = (XvPortPtr) 0x8277e68
---Type <return> to continue, or q <return> to quit---
        pGC = (GCPtr) 0x84a58b0
        status = <value optimized out>
        size_needed = <value optimized out>
        i = <value optimized out>
        width = 320
        height = 240
        stuff = (xvShmPutImageReq *) 0x84a4688
#8  0x080c9a5e in Dispatch () at dispatch.c:459
        result = <value optimized out>
        client = <value optimized out>
        nready = 0
        start_tick = 9840
#9  0x080d6765 in main (argc=5, argv=0xbffffa34, envp=0xf0) at main.c:484
        pScreen = <value optimized out>
        i = 1
        j = <value optimized out>
        k = <value optimized out>
        error = 0
        xauthfile = <value optimized out>
        alwaysCheckForInput = {0, 1}
(gdb) quit
The program is running.  Quit anyway (and detach it)? (y or n) y
Detaching from program: /usr/X11R6/bin/Xorg, process 21312


Hope this helps.


Best regards,

Marcel Moreaux <marcelm@luon.net>



Reply to: