[Mesa-dev] [Bug 54372] GLX_INTEL_swap_event crashes driver when swapping window buffers

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Sat Jun 7 00:29:55 PDT 2014


Ian Romanick <idr at freedesktop.org> changed:

           What    |Removed                     |Added
             Status|NEW                         |NEEDINFO
                 CC|                            |idr at freedesktop.org,
                   |                            |jbarnes at virtuousgeek.org

--- Comment #11 from Ian Romanick <idr at freedesktop.org> ---
I don't know how I never saw this bug before.  Sorry about that. :(  I'm also
adding Jesse to the CC list... because git-blame says he wrote all of this

The NULL pointer from GetGLXDrawable is a pretty catastrophic event at this
point in the code.  GetGLXDrawable and dri2GetGlxDrawableFromXDrawableId
(earlier in the function) look up the drawable IDs in separate hash tables. 
The entry for dri2GetGlxDrawableFromXDrawableId is added in dri2CreateDrawable,
and the entry for GetGLXDrawable is added in InitGLXDrawable.  Both of these
functions are called together (see CreateDrawable in glx_pbuffer.c for an

The entries are removed from the hash tables by DestroyGLXDrawable and
DestroyDRIDrawable.  These are also called together (see DestroyDrawable in

So... if one hash table has the entry and the other does not, that suggests
that we're between the DestroyGLXDrawable and DestroyDRIDrawable calls... which
seems hella crazy because your backtrace is in the middle of a glXSwapBuffers
call (though perhaps not for the same drawable?).

Assuming you can recreate this crash at will, at the time of the crash:

1. What is the value of awire->drawable?

2. What is the value of pdraw->drawable?

3. In the dri2SwapBuffers frame, what is the value of pdraw?  This is just from
the backtrace.

4. In the glXSwapBuffers frame, what is the value of drawable?  This is just
from the backtracke.

5. Is your app multithreaded?

You are receiving this mail because:
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20140607/3bf1ba95/attachment.html>

More information about the mesa-dev mailing list