With EXA X crashes (desktop with Q965) or hangs (laptop with 965GM) 100% reproduceably with this method: * Shortcut bound to kwin (KDE 3.5.9) maximise event (in my case Ctrl+Alt+M). * Open some window, press and hold down this shortcut and release after some seconds. It might take several attempts or it crash/hang without release some point, but it happens 100% quite quickly. My xserver isn't compiled with debug info, so backtrace isn't very informative. It happens with both with and without DRI. xorg-server: 1.4.0.90 xf86-video-intel: 2.2.99.902 Platfrom is DragonFly BSD and in case that matters, agp inkernel code DragonFly BSD is using, is direct port from FreeBSD 7.0. Backtrace from crashing X on Q965: (gdb) bt #0 0x286aabd0 in exaPolylines () from /usr/pkg/lib/xorg/modules//libexa.so #1 0x0814de94 in ?? () #2 0x0807fc17 in ProcPolyLine () #3 0x0812f725 in ?? () #4 0x0808247f in Dispatch () #5 0x0806be6f in main ()
Can you try xserver 1.4.99.x or the Git master branch? If not, or if the problem persists with that, can you get a better backtrace with gdb?
I have trouble getting 1.5 or master branch to work at all for now (libpciaccess, driver etc), but 1.4 branch from git compiles and here is better backtrace: (gdb) bt #0 0x28341b8c in kill () from /usr/lib/libc.so.6 #1 0x2838c126 in abort () from /usr/lib/libc.so.6 #2 0x0809a2c5 in ddxGiveUp () at xf86Init.c:1063 #3 0x081941ec in AbortServer () at log.c:406 #4 0x0819467f in FatalError (f=0x819e160 "Caught signal %d. Server aborting\n") at log.c:552 #5 0x080b50f1 in xf86SigHandler (signo=11) at xf86Events.c:766 #6 <signal handler called> #7 0x28602bc4 in exaPolylines (pDrawable=0x38c7c000, pGC=0x38c20c00, mode=0, npt=4, ppt=0x38d42ff0) at exa_accel.c:543 #8 0x0814dfbc in damagePolylines (pDrawable=0x38c7c000, pGC=0x38c20c00, mode=0, npt=4, ppt=0x38d42ff0) at damage.c:997 #9 0x0807fbe3 in ProcPolyLine (client=0x38af2c00) at dispatch.c:1906 #10 0x0812f86d in XaceCatchDispatchProc (client=0x38af2c00) at xace.c:281 #11 0x0808244b in Dispatch () at dispatch.c:502 #12 0x0806be4f in main (argc=6, argv=0xbfbffc24, envp=Cannot access memory at address 0x34 ) at main.c:452 (gdb) frame 7 #7 0x28602bc4 in exaPolylines (pDrawable=0x38c7c000, pGC=0x38c20c00, mode=0, npt=4, ppt=0x38d42ff0) at exa_accel.c:543 543 x2 = ppt[i + 1].x; (gdb) print *pDrawable $1 = {type = 1 '\001', class = 0 '\0', depth = 16 '\020', bitsPerPixel = 16 '\020', id = 20972155, x = 0, y = 0, width = 55, height = 46, pScreen = 0x28618000, serialNumber = 815789} (gdb) print *pGC $2 = {pScreen = 0x28618000, depth = 16 '\020', alu = 3 '\003', lineWidth = 0, dashOffset = 0, numInDashList = 2, dash = 0x81af7a8 "\004\004", lineStyle = 0, capStyle = 1, joinStyle = 0, fillStyle = 0, fillRule = 0, arcMode = 1, subWindowMode = 0, graphicsExposures = 0, clientClipType = 0, miTranslate = 1, tileIsPixel = 1, fExpose = 1, freeCompClip = 1, unused = 2584, planemask = 4294967295, fgPixel = 4294945408, bgPixel = 4294963069, tile = {pixmap = 0x0, pixel = 0}, stipple = 0x28678100, patOrg = { x = 0, y = 0}, font = 0x28680c00, clipOrg = {x = 0, y = 0}, lastWinOrg = {x = 0, y = 0}, clientClip = 0x0, stateChanges = 0, serialNumber = 815789, funcs = 0x81b7360, ops = 0x2860a9e0, devPrivates = 0x38c20c58, pRotatedPixmap = 0x0, pCompositeClip = 0x38d95fe0} (gdb) print *ppt $3 = {x = 40, y = 44} (gdb)
OK, tracked it down, seems. The fix is already in 1.5, but not in 1.4. http://gitweb.freedesktop.org/?p=xorg/xserver.git;a=commit;h=d502521c3669f3f22b94c39a64ab63bfd92c6a97
The fix has been nominated on http://wiki.x.org/wiki/Server14Branch for a while. Making a blocker for 1.4.1, though it's looking like 1.5 might come around earlier anyway.
Pushed to 1.4; in any case, it's already in 1.5 as well as master.
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.