[Bug 32188] radeon evergreen (5xxx) segfault (Komodo Edit, other apps)

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Jan 3 22:06:37 PST 2011


https://bugs.freedesktop.org/show_bug.cgi?id=32188

--- Comment #13 from Alex Deucher <agd5f at yahoo.com> 2011-01-03 22:06:37 PST ---
Some notes from Droste on IRC so they don't get lost:

<Droste> agd5f: https://bugs.freedesktop.org/show_bug.cgi?id=32188 <-- for some
reason bo with an pointer (not null) get in the radeon_vbo_wait_list and
radeon_vbo_reserved_list. that is the reason why radeon_vbo_space() is
returning null and causing this segfault

<airlied> I remember some plan to check when adding to the list and get a
backtrace if possible
<Droste> yeah that's where I got a 400mb gdb log ;-) I'm debugging with a
single pc, so stopping X is not a choice ;-)
 (while debugging otherwise I can't VT switch)
<airlied> we could triggger an X crash when we see it and see if the X
backtrace code finds it

Workaround:
void radeon_vbo_put(ScrnInfoPtr pScrn, struct radeon_vbo_object *vbo)
{

    if (vbo->vb_bo) {
        if (vbo->vb_bo->ptr) {
            radeon_bo_unmap(vbo->vb_bo);
        } else {
            LogMessage(X_WARNING, "radeon_vbo_put: vbo->vb_bo->ptr null!
vbo->vb_bo->ptr: %p, vbo->vb_size: %d, vbo->vb_offset: %d, vbo->vb_start_op:
%d, vbo->vb_total: %d, vbo->vb_op_vert_size: %d, vbo->verts_per_op: %d,
vbo->vb_bo->size: %d\n", vbo->vb_bo->ptr, vbo->vb_size, vbo->vb_offset,
vbo->vb_start_op, vbo->vb_total, vbo->vb_op_vert_size, vbo->verts_per_op,
vbo->vb_bo->size);
        }
        radeon_bo_unref(vbo->vb_bo);
        vbo->vb_bo = NULL;
        vbo->vb_total = 0;
    }

    vbo->vb_offset = 0;
}

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the xorg-driver-ati mailing list