Summary: | i965: Crash when running WebGL Conformance Test in firefox-4 nightly build | ||
---|---|---|---|
Product: | Mesa | Reporter: | Magnus Kessler <Magnus.Kessler> |
Component: | Drivers/DRI/i965 | Assignee: | Eric Anholt <eric> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | medium | ||
Version: | git | ||
Hardware: | x86-64 (AMD64) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: |
Description
Magnus Kessler
2011-02-24 02:06:49 UTC
Looks like we hit software rendering, any other errors reported that might be the root cause of that? /me applies the trivial fixes for the crash. Magnus, if you do find any evidence for how a NULL reached here, then please do file that as a bug. In meantime we will be using swrast. commit a2029a78c39427f9bd7e24bbe5a5ff124f9d446b Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Thu Feb 24 10:12:37 2011 +0000 intel: Protect against waiting on a NULL render target bo If we fall back to software rendering due to the render target being absent (GPU hang or other error in creating the named target), then we do not need to nor should we wait upon the results. Reported-by: Magnus Kessler <Magnus.Kessler@gmx.net> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=34656 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Unfortunately the fix doesn't seem to work for me. Interestingly, irb isn't actually NULL, but points to some low memory address. 0x00007fffcb48b8c1 in intelFinish (ctx=<value optimized out>) at intel_context.c:584 584 if (irb && irb->region && irb->region->buffer) (gdb) print irb $1 = (struct intel_renderbuffer *) 0xd0 Hmm, garbage written into the ColorBuffers array. Joy. Any chance of running valgrind? This deletes the code doing the use-after-free. commit 23b6f9606dc247488835745668b3686218612536 Author: Eric Anholt <eric@anholt.net> Date: Tue May 31 12:32:06 2011 -0700 intel: Implement glFinish() correctly by waiting on all previous rendering. Before, we were waiting for (most of) the current framebuffer to be done, which is not quite the same thing. |
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.