Bug 21450 - [GM965] GDM causes Xorg segfault with recent DRI2GetBuffersWithFormat changes
Summary: [GM965] GDM causes Xorg segfault with recent DRI2GetBuffersWithFormat changes
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/intel (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: Ian Romanick
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-04-27 20:46 UTC by Ben Gamari
Modified: 2009-05-04 01:29 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Ben Gamari 2009-04-27 20:46:35 UTC
idr's recent xserver commit adding support for DRI2GetBuffersWithFormat causes Xorg to segfault when drawing the gdm greeter. Reverting the change avoids the crash. This is on GM965 with mesa, drm, xserver, and xf86-video-intel from git and a kernel tree linus's master.


commit ff6c7764c2909e4126403b7211faa6c58556b341
Author: Ian Romanick <ian.d.romanick@intel.com>
Date:   Fri Apr 24 12:49:19 2009 -0700

    DRI2: Implement protocol for DRI2GetBuffersWithFormat



Loaded symbols for /lib64/libgcc_s.so.1
__lll_lock_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:136
136	2:	movl	%edx, %eax
(gdb) up 12
#12 0x0000003f43e04fa5 in drm_intel_gem_bo_unreference_locked (
    bo=<value optimized out>) at intel_bufmgr_gem.c:585
585		    DRMLISTADDTAIL(&bo_gem->head, &bucket->head);
(gdb) bt
#0  __lll_lock_wait ()
    at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:136
#1  0x0000003b3ae09005 in _L_lock_949 () from /lib64/libpthread.so.0
#2  0x0000003b3ae08e28 in __pthread_mutex_lock (mutex=0x8ae6b0)
    at pthread_mutex_lock.c:61
#3  0x0000003f43e04d15 in drm_intel_gem_bo_unmap (bo=0x377bb90)
    at intel_bufmgr_gem.c:768
#4  0x00007f2b9e274201 in intel_batch_flush (pScrn=0x8a9320, flushed=128)
    at i830_batchbuffer.c:197
#5  0x00007f2b9e273a4b in I830Sync (pScrn=0x8a9320) at i830_accel.c:193
#6  0x00007f2b9e281a0f in I830LeaveVT (scrnIndex=<value optimized out>, 
    flags=<value optimized out>) at i830_driver.c:3428
#7  0x000000000044b2e5 in AbortDDX () at xf86Init.c:1438
#8  0x000000000043eced in AbortServer () at log.c:404
#9  0x000000000043f38e in FatalError (
    f=0x56dcb8 "Caught signal %d (%s). Server aborting\n") at log.c:529
#10 0x000000000043c474 in OsSigHandler (signo=11, sip=0x7f2b9e274488, 
    unused=<value optimized out>) at osinit.c:152
#11 <signal handler called>
#12 0x0000003f43e04fa5 in drm_intel_gem_bo_unreference_locked (
    bo=<value optimized out>) at intel_bufmgr_gem.c:585
#13 0x0000003f43e04ee5 in drm_intel_gem_bo_unreference_locked (bo=0x380d220)
    at intel_bufmgr_gem.c:561
---Type <return> to continue, or q <return> to quit---
#14 0x0000003f43e04ee5 in drm_intel_gem_bo_unreference_locked (bo=0x380df50)
    at intel_bufmgr_gem.c:561
#15 0x0000003f43e053ac in drm_intel_gem_bo_unreference (bo=0x380df50)
    at intel_bufmgr_gem.c:599
#16 0x00007f2b9e2adf37 in i965_prepare_composite (op=<value optimized out>, 
    pSrcPicture=0x37ce740, pMaskPicture=0x0, 
    pDstPicture=<value optimized out>, pSrc=<value optimized out>, pMask=0x0, 
    pDst=0x37cdc70) at i965_render.c:1350
#17 0x00007f2b9e2bec3f in uxa_try_driver_composite (op=0 '\0', pSrc=0x37ce740, 
    pMask=0x0, pDst=0x37cf290, xSrc=<value optimized out>, 
    ySrc=<value optimized out>, xMask=<value optimized out>, 
    yMask=<value optimized out>, xDst=0, yDst=0, width=<value optimized out>, 
    height=<value optimized out>) at uxa-render.c:489
#18 0x00007f2b9e2bfbaf in uxa_composite (op=<value optimized out>, 
    pSrc=0x37ce740, pMask=0x0, pDst=0x37cf290, xSrc=16368, 
    ySrc=<value optimized out>, xMask=0, yMask=0, xDst=0, yDst=0, width=4, 
    height=25) at uxa-render.c:747
#19 0x00000000004d3ba0 in damageComposite (op=0 '\0', 
    pSrc=<value optimized out>, pMask=<value optimized out>, pDst=0x37cf290, 
    xSrc=-6480, ySrc=6737, xMask=<value optimized out>, 
    yMask=<value optimized out>, xDst=0, yDst=0, width=4, 
    height=<value optimized out>) at damage.c:643
#20 0x00000000004c847c in ProcRenderComposite (client=0x378d5f0)
---Type <return> to continue, or q <return> to quit---
    at render.c:719
#21 0x000000000042a284 in Dispatch () at dispatch.c:428
#22 0x0000000000424405 in main (argc=8, argv=0x7ce4c8, 
    envp=<value optimized out>) at main.c:396


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.