[Bug 786051] New: glupload: EGLImage cache is not thread safe

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Wed Aug 9 14:00:09 UTC 2017


https://bugzilla.gnome.org/show_bug.cgi?id=786051

            Bug ID: 786051
           Summary: glupload: EGLImage cache is not thread safe
    Classification: Platform
           Product: GStreamer
           Version: 1.13.x
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gst-plugins-bad
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: nicolas at ndufresne.ca
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

When we receive a DMABuf, we create a cache associated EGLImage. While the
wrapper is refcounted, the way we store that EGLImage is not thread safe. The
problem is that we don't get and ref the EGLImage atomically when retrieving
the qdata. So in between, sometimes the EGLImage get destroyed, and then we
ended with use after free crashing GStreamer or Mesa.

The pipeline I use to reproduce currently:

gst-launch-1.0 v4l2src device=/dev/video1 io-mode=dmabuf ! tee name=t \
  t. ! queue ! glsinkbin sink=gtkglsink \
  t. ! queue ! glsinkbin sink=gtkglsink \
  t. ! queue ! glsinkbin sink=gtkglsink \
  t. ! queue ! glsinkbin sink=gtkglsink \
  t. ! queue ! glsinkbin sink=gtkglsink

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list