Bug 25281 - radeonhd segfaults on F12, r5xx
Summary: radeonhd segfaults on F12, r5xx
Status: RESOLVED WONTFIX
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/radeonhd (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: Egbert Eich
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-11-25 07:11 UTC by Alec Habig
Modified: 2011-11-07 15:35 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
logverbose 7 Xorg.0.log (200.74 KB, text/plain)
2009-11-25 07:11 UTC, Alec Habig
no flags Details

Description Alec Habig 2009-11-25 07:11:02 UTC
Created attachment 31470 [details]
logverbose 7 Xorg.0.log 

Just updated my T60p laptop (M56 chip) to Fedora 12, hoping that the new kernel and drm code would finally get me usable 3D.

No such luck.  Actually, the kms causes the default install to hang (but that's a bug for the fedora people).  Booting with "nomodeset" lets me go, i recompiled radeonhd from git vs. all the new libraries, and I can get X just fine so long as I'm using a simple window manager (Windowmaker).

With either gnome or kde, the radeonhd driver segfaults at a very late stage in the X-starting process - the desktop loads, xterm's start to load up, then pow. Will attach logverbose 7 log, but here's the important part:

Backtrace:
0: /usr/bin/X (xorg_backtrace+0x3c) [0x80e587c]
1: /usr/bin/X (0x8048000+0x5eb66) [0x80a6b66]
2: (vdso) (__kernel_rt_sigreturn+0x0) [0x7c540c]
3: /usr/lib/xorg/modules/drivers/radeonhd_drv.so (0x566000+0x4c94a) [0x5b294a]
4: /usr/lib/xorg/modules/libexa.so (0x5f3000+0xc47c) [0x5ff47c]
5: /usr/lib/xorg/modules/libexa.so (0x5f3000+0xd36c) [0x60036c]
6: /usr/bin/X (0x8048000+0xd3a07) [0x811ba07]
7: /usr/bin/X (CompositePicture+0x290) [0x810eef0]
8: /usr/bin/X (0x8048000+0xcd125) [0x8115125]
9: /usr/bin/X (0x8048000+0xc9cb4) [0x8111cb4]
10: /usr/bin/X (0x8048000+0x261f7) [0x806e1f7]
11: /usr/bin/X (0x8048000+0x1a8c5) [0x80628c5]
12: /lib/libc.so.6 (__libc_start_main+0xe6) [0x969bb6]
13: /usr/bin/X (0x8048000+0x1a4b1) [0x80624b1]
Segmentation fault at address 0x10
Comment 1 Matthias Hopf 2009-11-25 09:39:33 UTC
radeonhd doesn't support KMS yet. So the first part is clear.

For the backtrace, this won't help anything unless you install debug packages to get symbol names in the trace.
Comment 2 Alec Habig 2009-11-25 12:58:51 UTC
I know radeonhd does not support kms - the Fedora install uses radeon, which apparently doesn't support kms properly either :)  But that part is their bug.

Here's the radeonhd bug - sorry, I didn't have a complete set of debuginfo stuff on there at first, just radeonhd, so it wasn't doing anything.

I've isolated the crash to the instant one tries to enable compositing on the desktop.  At that point, with gdb attached externally says (for "bt full"):

#0  R300CheckComposite (op=1, pSrcPicture=0x9478e38, pMaskPicture=0x9478cd8,
    pDstPicture=0x9478920) at radeon_exa_render.c:1228
        pSrcPixmap = 0x0
        pDstPixmap = <value optimized out>
        max_tex_w = -1078126768
        max_tex_h = 0
        max_dst_w = <value optimized out>
        max_dst_h = <value optimized out>
#1  0x00c2a47c in exaTryDriverComposite (op=<value optimized out>,
    pSrc=<value optimized out>, pMask=<value optimized out>,
    pDst=<value optimized out>, xSrc=<value optimized out>,
    ySrc=<value optimized out>, xMask=<value optimized out>,
    yMask=<value optimized out>, xDst=<value optimized out>,
    yDst=<value optimized out>, width=<value optimized out>,
    height=<value optimized out>) at exa_render.c:695
        pExaScr = <value optimized out>
        region = {extents = {x1 = 19216, y1 = 1352, x2 = -32452, y2 = 2375},
          data = 0xbfbd18e4}
        pbox = <value optimized out>
        nbox = <value optimized out>
        src_off_x = <value optimized out>
        src_off_y = <value optimized out>
        mask_off_x = <value optimized out>
        mask_off_y = <value optimized out>
        dst_off_x = <value optimized out>
        dst_off_y = <value optimized out>
        pSrcPix = <value optimized out>
        pMaskPix = <value optimized out>
        pDstPix = <value optimized out>
        pSrcExaPix = <value optimized out>
        pMaskExaPix = <value optimized out>
#2  0x00c2b36c in exaComposite (op=<value optimized out>,
    pSrc=<value optimized out>, pMask=<value optimized out>,
    pDst=<value optimized out>, xSrc=<value optimized out>,
    ySrc=<value optimized out>, xMask=<value optimized out>,
    yMask=<value optimized out>, xDst=<value optimized out>,
    yDst=<value optimized out>, width=<value optimized out>,
    height=<value optimized out>) at exa_render.c:1034
        isSrcSolid = <value optimized out>
        pExaScr = <value optimized out>
        ret = <value optimized out>
        saveSrcRepeat = <value optimized out>
        saveMaskRepeat = 0
        region = {extents = {x1 = -19489, y1 = 2065, x2 = 1, y2 = 0},
          data = 0x0}
#3  0x0811ba07 in damageComposite (op=<value optimized out>,
    pSrc=<value optimized out>, pMask=<value optimized out>,
    pDst=<value optimized out>, xSrc=<value optimized out>,
    ySrc=<value optimized out>, xMask=<value optimized out>,
    yMask=<value optimized out>, xDst=<value optimized out>,
    yDst=<value optimized out>, width=<value optimized out>,
    height=<value optimized out>) at damage.c:643
        ps = 0x90eacc8
        pScrPriv = <value optimized out>
#4  0x0810eef0 in CompositePicture (op=<value optimized out>,
    pSrc=<value optimized out>, pMask=<value optimized out>,
    pDst=<value optimized out>, xSrc=<value optimized out>,
    ySrc=<value optimized out>, xMask=<value optimized out>,
    yMask=<value optimized out>, xDst=<value optimized out>,
    yDst=<value optimized out>, width=<value optimized out>,
    height=<value optimized out>) at picture.c:1718
        ps = <value optimized out>
#5  0x08115125 in ProcRenderComposite (client=<value optimized out>)
    at render.c:723
        pSrc = 0x9478e38
        pMask = 0x9478cd8
        pDst = 0x9478920
#6  0x08111cb4 in ProcRenderDispatch (client=<value optimized out>)
    at render.c:2056
No locals.
#7  0x0806e1f7 in Dispatch () at dispatch.c:445
        result = <value optimized out>
        client = 0x9405c40
        nready = <value optimized out>
        start_tick = 2220
#8  0x080628c5 in main (argc=<value optimized out>,
    argv=<value optimized out>, envp=<value optimized out>) at main.c:285
        i = <value optimized out>
        alwaysCheckForInput = {0, 1}
Comment 3 Matthias Hopf 2009-11-26 05:13:26 UTC
Thanks. The arguments to exaComposite() look already broken, but you can only say for sure if the server and the driver are compiled with -O0 :-(

So it *looks* like a general EXA bug, but of course this could be the result of radeonhd doing something wrong beforehand.
Comment 4 Jeremy Huddleston Sequoia 2011-10-16 15:57:46 UTC
Does this issue occur with the preferred ati driver (xf86-vide-ati)?  If so, please move this to the Driver/Radeon component.  

Development of radeonhd has pretty much halted and development focus is on the ati driver.  Please see http://www.x.org/wiki/radeonhd

If the issue does not exist in the ati driver (or if there is no response to this message), this bug will be closed as WONTFIX unless someone contributes a patch.
Comment 5 Jeremy Huddleston Sequoia 2011-11-07 15:35:16 UTC
Closing due to lack of response.  Please reopen and move to the Driver/Radeon 
component if this issue persists with xf86-video-ati


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.