[Mesa-dev] [Bug 110452] totem crashed with SIGTRAP in __glXSendError() from MakeContextCurrent()

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Apr 17 10:29:20 UTC 2019


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

Eero Tamminen <eero.t.tamminen at intel.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |NOTOURBUG

--- Comment #6 from Eero Tamminen <eero.t.tamminen at intel.com> ---
Backtrace goes through:

totem -> clutter-gst (frame update) -> cogl (pipeline free) -> gstreamer
(buffer free) -> gstreamer-vaapi (destroy objects) -> Nvidia libglvd
(CommonMakeCurrent / InternalMakeCurrentVendor) -> Mesa GLX
(MakeContextCurrent) -> Xlib (XError)

Ubuntu bug doesn't say anything about what's the use-case / when this happens
and whether it's reproducible (is it e.g. timing related), it seems just some
random crash that Apport collects.

In the backtrace Mesa MakeContextCurrent() calls __glXSendError() to tell that
it was given invalid/bad context.  Corresponding Mesa code:
---------------------------
   if (gc) {
      /* Attempt to bind the context.  We do this before mucking with
       * gc and __glXSetCurrentContext to properly handle our state in
       * case of an error.
       *
       * If an error occurs, set the Null context since we've already
       * blown away our old context.  The caller is responsible for
       * figuring out how to handle setting a valid context.
       */
      if (gc->vtable->bind(gc, oldGC, draw, read) != Success) {
         __glXSetCurrentContextNull();
         __glXUnlock();
         __glXSendError(dpy, GLXBadContext, None, X_GLXMakeContextCurrent,
                        False);
         return GL_FALSE;
      }
---------------------------

I.e. bug is in what is given to Mesa, not what Mesa does.

-> NOTOURBUG


To me it looks something that could happen when Totem is exiting, gst-vaapi is
trying to use resources that have already been freed, and X catching that when
Gstreamer gstvaapitexture_glx.c::destroy_objects() ask libglvnd to do
CommonMakeCurrent().

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20190417/5c9af4ec/attachment-0001.html>


More information about the mesa-dev mailing list