Bug#567677: Server sometimes crashes when closing OpenGL programs
Patrik Olsson wrote:
> I don't know, but I don't think so since none of the lines changed in
> that commit are actually reached before the crash (at least for that
> drawable). Furthermore, it appears to fix a problem in more recent API.
> The only part of the patch that applies on version 2:1.7.4-2 is the
> extraction of the ending of the DRI2DestroyDrawable into
> DRI2FreeDrawable, which is still equivalent.
>
> I think the problem is here (#4 in backtrace, __glXDRIdrawableDestroy in
> glx/glxdri2.c):
>
> /* If the X window was destroyed, the dri DestroyWindow hook will
> * aready have taken care of this, so only call if pDraw isn't NULL. */
> if (drawable->pDraw != NULL)
> DRI2DestroyDrawable(drawable->pDraw);
>
> It assumes that drawable->pDraw has been set to NULL if it is already
> freed. However, wherever it is freed this pointer is not set to NULL
> afterwards (at least that's what I suspect). I don't know where I can
> find the code of the "dri DestroyWindow hook", though.
>
Given how deep you were able to dig into this, you should report the bug
directly upstream at bugzilla.freedesktop.org
Brice
Reply to: