Bug#576816: Acknowledgement (xserver-xorg-video-radeon: xserver crashes and restarts when drawing ellipses in GNU paint (gpaint))

Michel Dänzer daenzer at debian.org
Wed Apr 7 08:18:01 PDT 2010


On Wed, 2010-04-07 at 23:34 +0930, Arthur Marsh wrote: 
> 
> Debian Bug Tracking System wrote, on 07/04/10 22:27:
> > Thank you for filing a new Bug report with Debian.
> >
> > This is an automatically generated reply to let you know your message
> > has been received.
> >
> > Your message is being forwarded to the package maintainers and other
> > interested parties for their attention; they will reply in due course.
> >
> > Your message has been sent to the package maintainer(s):
> >   Debian X Strike Force<debian-x at lists.debian.org>
> >
> > If you wish to submit further information on this problem, please
> > send it to 576816 at bugs.debian.org.
> >
> > Please do not send mail to owner at bugs.debian.org unless you wish
> > to report a problem with the Bug-tracking system.
> >
> 
> I was able to attach gdb to the running xserver and repeated the problem 
> when drawing an ellipse with gpaint:
> 
> Program received signal SIGSEGV, Segmentation fault.
> 0x00007f96f5c535b8 in fbBltOne (src=0x0, srcStride=<value optimized out>,
>      srcX=<value optimized out>, dst=0x7f96f4b93468,
>      dstStride=<value optimized out>, dstX=<value optimized out>, dstBpp=32,
>      width=4, height=2, fgand=4294967295, fgxor=4294967295, 
> bgand=4294967295,
>      bgxor=0) at ../../fb/fbbltone.c:292
> 292     ../../fb/fbbltone.c: No such file or directory.
>          in ../../fb/fbbltone.c
> (gdb) bt full
> #0  0x00007f96f5c535b8 in fbBltOne (src=0x0, srcStride=<value optimized 
> out>,
>      srcX=<value optimized out>, dst=0x7f96f4b93468,
>      dstStride=<value optimized out>, dstX=<value optimized out>, dstBpp=32,
>      width=4, height=2, fgand=4294967295, fgxor=4294967295, 
> bgand=4294967295,
>      bgxor=0) at ../../fb/fbbltone.c:292
>          fbBits = 0x7f96f5c5e770
>          srcEnd = 0x8
>          pixelsPerDst = <value optimized out>
>          leftShift = 0
>          rightShift = 32
>          startmask = 0
>          endmask = 0
>          bits = 0
>          bitsLeft = 0
>          bitsRight = <value optimized out>
>          left = <value optimized out>
>          mask = 4
>          nDst = 4
>          w = <value optimized out>
>          n = 4
>          nmiddle = 4
>          copy = 0
>          transparent = 1
>          srcinc = <value optimized out>
> ---Type <return> to continue, or q <return> to quit---
>          endNeedsLoad = 0
>          fbLane = 0x0
>          startbyte = <value optimized out>
>          endbyte = 0
> #1  0x00007f96f5c59810 in fbPushFill (pDrawable=0xfc3690, pGC=0xfe31b0,
>      src=<value optimized out>, srcStride=1, srcX=0, x=-171581440, y=277,
>      width=4, height=2) at ../../fb/fbpush.c:150
>          dst = <value optimized out>
>          dstYoff = <value optimized out>
>          dstBpp = <value optimized out>
>          dstXoff = <value optimized out>
>          dstX = -171581440
>          dstWidth = <value optimized out>
> #2  0x00007f96f5c59a08 in fbPushImage (pDrawable=<value optimized out>,
>      pGC=<value optimized out>, src=<value optimized out>,
>      srcStride=<value optimized out>, srcX=<value optimized out>, x=282, 
> y=277,
>      width=4, height=2) at ../../fb/fbpush.c:212
>          pClip = 0xffbc50
>          nbox = 0
>          pbox = 0xffbc50
>          x1 = -171581440
>          y1 = -171579536
>          x2 = <value optimized out>
>          y2 = <value optimized out>
> ---Type <return> to continue, or q <return> to quit---
> #3  0x00007f96f5c59aab in fbPushPixels (pGC=0xfe31b0, pBitmap=0xf64d80,
>      pDrawable=0xfc3690, dx=4, dy=2, xOrg=-171581440, yOrg=277)
>      at ../../fb/fbpush.c:242
> No locals.
> #4  0x000000000055bc97 in miPolyArc (pDraw=<value optimized out>,
>      pGC=<value optimized out>, narcs=<value optimized out>,
>      parcs=<value optimized out>) at ../../mi/miarc.c:1252
>          arcData = <value optimized out>
>          i = <value optimized out>
>          parc = <value optimized out>
>          xMin = <value optimized out>
>          xMax = <value optimized out>
>          yMin = <value optimized out>
>          yMax = <value optimized out>
>          pixmapWidth = 4
>          pixmapHeight = 2
>          xOrg = 282
>          yOrg = 277
>          width = 0
>          fTricky = 1
>          pDrawTo = 0xf64d80
>          fg = <value optimized out>
>          bg = 16777215
>          pGCTo = 0xb2f390
> ---Type <return> to continue, or q <return> to quit---
>          cap = {1, 0}
>          join = {0, 0}
>          iphase = <value optimized out>
>          halfWidth = <value optimized out>
> #5  0x00007f96f5c47d1d in fbPolyArc (pDrawable=0xfc3690, pGC=0x4, narcs=1,
>      parcs=0xf4cb88) at ../../fb/fbarc.c:148
>          arc = 0xb2cf50
> #6  0x00007f96f5a3d071 in ExaCheckPolyArc (pDrawable=0xfc3690, pGC=0xfe31b0,
>      narcs=1, pArcs=0xf4cb88) at ../../exa/exa_unaccel.c:237
> No locals.

I think this should be fixed in xserver 1.8. Previously, EXA didn't
properly handle pixmaps created in the course of software fallbacks,
which seems to be the case here in miPolyArc() (as pDrawTo != pDraw).


-- 
Earthling Michel Dänzer           |                http://www.vmware.com
Libre software enthusiast         |          Debian, X and DRI developer





More information about the xorg-driver-ati mailing list