Bug 17400

Summary: [GEM G35]X hangs when run "x11perf"
Product: xorg Reporter: liuhaien <haien.liu>
Component: Driver/intelAssignee: Eric Anholt <eric>
Status: VERIFIED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: nian.wu
Version: gitKeywords: NEEDINFO
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
xorg.0.log
none
xorg conf file none

Description liuhaien 2008-09-01 20:30:30 UTC
Created attachment 18621 [details]
xorg.0.log

System Environment:
--------------------------
--Platform: G35 
--Architecture(32-bit,64-bit,compatiblity):32bit 
Libdrm:		(master)cd7d71f19cf2a16521c9da1815421c6a5f12a58e
2D driver: (xf86-video-intel-2.5-branch)                                 94a86fa51a931f0059ea17728f857ec92cec5b16
3D driver:		(master)7a2ab6d05573508389b38f8f1fa261ba56062865
Xserver:		(master)60ad8d5d05485339e89d7f1f9f1ded75de7c7ea1
Kernel:2.6.27-rc4 (from eric's kernel tree)

Bug detailed description:
--------------------------
start X, then run "x11perf -aa10text",X will hang. below is backtrace which get from gdb and crtl+c:

#0  0xffffe424 in __kernel_vsyscall ()
#1  0x00b79cc9 in ioctl () from /lib/libc.so.6
#2  0xb7df9748 in drmIoctl (fd=12, request=1074029637, arg=0xbfa2bf34)
    at xf86drm.c:183
#3  0xb7df9801 in drmCommandWrite (fd=12, drmCommandIndex=5, data=0xbfa2bf34,
    size=4) at xf86drm.c:2343
#4  0xb7d89b3b in I830Sync (pScrn=0x8205d68) at i830_accel.c:214
#5  0xb7db727a in I830EXASync (pScreen=0x82495b0, marker=0) at i830_exa.c:170
#6  0xb7c25083 in exaWaitSync (pScreen=0x82495b0) at exa.c:1053
#7  0xb7c263cb in ExaDoPrepareAccess (pDrawable=0x8300f68, index=0)
    at exa.c:512
#8  0xb7c2b21e in exaCopyDirty (migrate=<value optimized out>,
    pValidDst=0x830104c, pValidSrc=0x8301040, transfer=0,
    fallback_src=0x8300f98 "รด", fallback_dst=0xb2ba21a0 "",
    fallback_srcpitch=8, fallback_dstpitch=16, fallback_index=0,
    sync=0xb7c25090 <exaMarkSync>) at exa_migration.c:251
#9  0xb7c2b6dd in exaDoMoveInPixmap (migrate=0xbfa2c19c) at exa_migration.c:306
#10 0xb7c2bdaf in exaDoMigration (pixmaps=0xbfa2c18c, npixmaps=2, can_accel=1)
    at exa_migration.c:721
#11 0xb7c28273 in exaCopyNtoN (pSrcDrawable=0x8300f68,
    pDstDrawable=0xa48f0008, pGC=0x0, pbox=0xbfa2c31c,
    nbox=<value optimized out>, dx=-304, dy=-16, reverse=0, upsidedown=0,
    bitplane=0, closure=0x0) at exa_accel.c:476
---Type <return> to continue, or q <return> to quit---
#12 0xb7c2e659 in exaComposite (op=1 '\001', pSrc=0x8301060, pMask=0x0,
    pDst=0x829a330, xSrc=0, ySrc=0, xMask=0, yMask=0, xDst=304, yDst=16,
    width=5, height=6) at exa_render.c:866
#13 0x081714a0 in damageComposite (op=1 '\001', pSrc=0x8301060, pMask=0x0,
    pDst=0x829a330, xSrc=0, ySrc=0, xMask=0, yMask=0, xDst=304, yDst=16,
    width=5, height=6) at damage.c:580
#14 0x08158218 in CompositePicture (op=1 '\001', pSrc=0x8301060, pMask=0x0,
    pDst=0x829a330, xSrc=0, ySrc=0, xMask=0, yMask=0, xDst=304, yDst=16,
    width=5, height=6) at picture.c:1676
#15 0xb7c29db7 in exaBufferGlyph (pScreen=0x82495b0, buffer=0xbfa2c5f4,
    pGlyph=0x82811a0, xGlyph=494, yGlyph=9) at exa_glyphs.c:481
#16 0xb7c2a57f in exaGlyphs (op=3 '\003', pSrc=0x82a3fc8, pDst=0x829d1a0,
    maskFormat=0x824be38, xSrc=0, ySrc=0, nlist=<value optimized out>,
    list=0xbfa2d758, glyphs=0xbfa2d498) at exa_glyphs.c:857
#17 0x08171270 in damageGlyphs (op=3 '\003', pSrc=0x82a3fc8, pDst=0x829d1a0,
    maskFormat=0x824be38, xSrc=0, ySrc=0, nlist=1, list=0xbfa2d758,
    glyphs=0xbfa2d358) at damage.c:658
#18 0x08154192 in CompositeGlyphs (op=3 '\003', pSrc=0x82a3fc8,
    pDst=0x829d1a0, maskFormat=0x824be38, xSrc=0, ySrc=0, nlist=1,
    lists=0xbfa2d758, glyphs=0xbfa2d358) at glyph.c:634
#19 0x0815fa1c in ProcRenderCompositeGlyphs (client=0x81e43a0) at render.c:1459
#20 0x0815ad25 in ProcRenderDispatch (client=0x40046445) at render.c:2088
#21 0x08086d7f in Dispatch () at dispatch.c:437
---Type <return> to continue, or q <return> to quit---
#22 0x0806c77a in main (argc=1, argv=0xbfa2dbb4, envp=Cannot access memory at address 0x4004644d
) at main.c:390
----
Reproduce steps:
----------------
1.xinit&
2.x11perf -aa10text
Comment 1 liuhaien 2008-09-01 20:39:01 UTC
Created attachment 18622 [details]
xorg conf file
Comment 2 Eric Anholt 2008-09-23 17:37:32 UTC
Can't reproduce.  What's the value of emit.irq_seq when this happens?  How long has x11perf been running when it happens?

Comment 3 liuhaien 2008-09-23 22:24:06 UTC
it works well with the latest GEM.
Comment 4 liuhaien 2008-09-23 22:24:25 UTC
verified.

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.