https://bugs.freedesktop.org/show_bug.cgi?id=31617
Summary: Radeon/Compiz: 'failed to attach dri2 front buffer', error case not handled Product: Mesa Version: 7.9 Platform: x86-64 (AMD64) OS/Version: Linux (All) Status: NEW Severity: normal Priority: medium Component: Drivers/DRI/R600 AssignedTo: dri-devel@lists.freedesktop.org ReportedBy: daniel.lichtenberger@gmail.com
Created an attachment (id=40267) --> (https://bugs.freedesktop.org/attachment.cgi?id=40267) backtrace
System: Fedora 14, Radeon 4850, x86_64.
Using the system's mesa-dri-drivers package Compiz frequently crashes while resizing windows. The backtrace (attached) and the error message, "failed to attach dri2 front buffer XX", point to radeon_update_renderbuffers in radeon_common_context.c around line 745:
bo = radeon_bo_open(...);
if (bo == NULL) {
fprintf(stderr, "failed to attach %s %d\n", regname, buffers[i].name);
}
ret = radeon_bo_get_tiling(bo, &tiling_flags, &pitch);
An error message is printed when 'bo' could not be allocated, but bo is then happily dereferenced in radeon_bo_get_tiling afterwards. Working around the null pointer dereference (e.g. by adding a 'continue' in the "if bo==NULL" block) fixes the crash for me and I haven't seen visual artifacts yet, although the error message is printed from time to time while running Compiz.
The same stacktrace was logged by several people over at https://bugzilla.redhat.com/show_bug.cgi?id=568593.