Summary: | [GM965 GEM UXA] UXA crashes X server | ||||||
---|---|---|---|---|---|---|---|
Product: | xorg | Reporter: | Ben Gamari <bgamari> | ||||
Component: | Driver/intel | Assignee: | Eric Anholt <eric> | ||||
Status: | RESOLVED FIXED | QA Contact: | Xorg Project Team <xorg-team> | ||||
Severity: | normal | ||||||
Priority: | medium | ||||||
Version: | git | ||||||
Hardware: | Other | ||||||
OS: | All | ||||||
Whiteboard: | |||||||
i915 platform: | i915 features: | ||||||
Bug Depends on: | |||||||
Bug Blocks: | 18858 | ||||||
Attachments: |
|
Description
Ben Gamari
2008-12-11 17:38:53 UTC
Created attachment 21078 [details]
A gdb session with backtrace of a crashed x server
Here's the interesting part of the backtrace,
#2 0x00000033b6a2bec9 in __assert_fail (
assertion=0x7f2866a7dfd8 "pI830->batch_ptr != ((void *)0)",
file=0x7f2866a7e091 "i830_batchbuffer.h", line=56,
function=0x7f2866a84d20 "intel_batch_emit_dword") at assert.c:78
#3 0x00007f2866a62ab7 in intel_batch_emit_dword () at i830_batchbuffer.h:56
#4 I830EXASolid (pPixmap=0x20eecb0, x1=724, y1=460, x2=725, y2=461)
at i830_exa.c:245
#5 0x00007f2866a76191 in uxa_fill_region_solid (
pDrawable=<value optimized out>, pRegion=0x224e0e0,
pixel=<value optimized out>, planemask=4294967295, alu=3)
at uxa-accel.c:871
#6 0x00007f2866a776e0 in uxa_poly_fill_rect (pDrawable=0x25619e0,
pGC=0x283bff0, nrect=1, prect=0x2740690) at uxa-accel.c:690
#7 0x00007f2866a76626 in uxa_poly_point (pDrawable=0x25619e0, pGC=0x283bff0,
mode=-1, npt=1, ppt=0x282d064) at uxa-accel.c:523
#8 0x00000000004bfa9e in damagePolyPoint (pDrawable=0x25619e0, pGC=0x283bff0,
mode=0, npt=1, ppt=0x282d064) at damage.c:1038
#9 0x0000000000428218 in ProcPolyPoint (client=0x21eccc0) at dispatch.c:1636
#10 0x000000000042a974 in Dispatch () at dispatch.c:437
#11 0x00000000004244fd in main (argc=8, argv=0x7fff6f9ad2a8,
envp=<value optimized out>) at main.c:383
Fix for review posted to the mailing list: commit 5e0a99e274cbe1aa661a53f96a3a57cd44dde42c Author: Eric Anholt <eric@anholt.net> Date: Sun Dec 14 19:05:04 2008 -0800 drm/i915: Don't return busy for buffers left on the flushing list. These buffers don't have active rendering still occurring to them, they just need either a flush to be emitted or a retire_requests to occur so that we notice they're done. Return unbusy so that one of the two occurs. The two expected consumers of this interface (OpenGL and libdrm_intel BO cache) both want this behavior. Fix has been pushed at linus. Yeah, things seem to be much more stable now. Now the only real stability issue I'm seeing is the random GPU hangs. |
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.