[Bug 754198] New: glimagesink: Xlib / xcb assertion with client-draw signal

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Thu Aug 27 13:52:46 PDT 2015


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

            Bug ID: 754198
           Summary: glimagesink: Xlib / xcb assertion with client-draw
                    signal
    Classification: Platform
           Product: GStreamer
           Version: git master
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gst-plugins-bad
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: vliaskov at gmail.com
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

Created attachment 310128
  --> https://bugzilla.gnome.org/attachment.cgi?id=310128&action=edit
C testcase

The attached testcase loops through a single video file (creates and deletes
pipeline each time, there is no seek/re-use of pipeline)

The main() function calls XInitThread() right at its beginning.

The app renders in its own GLFW window using libglfw3 (receiving
samples/textures from glimagesink's client-draw callback). The application
context is shared with each pipeline through bus sync-message
(GST_MESSAGE_NEED_CONTEXT)

Often the app aborts with xcb/xlib assertion:

[xcb] Unknown sequence number while processing queue
[xcb] Most likely this is a multi-threaded client and XInitThreads has not been
called
[xcb] Aborting, sorry about that.
info-beamer: ../../src/xcb_io.c:274: poll_for_event: Assertion
`!xcb_xlib_threads_sequence_lost' failed.

The error can happen from :
- gst_gl_context_create_thread / gst_gl_context_glx_create_context /
glXCreateContextAttribsARB
- libglfw.so.3 / XPending

Application's X11 display/context is used to create a GstGLcontext/GstGLDisplay
(done only once in the beginning of main)

Also following (non-aborting) Xlib message is seen sometimes:
Xlib: sequence lost (0x100b7 > 0xba) in reply type 0x0!

Is something obviously wrong in the testcase? Is the XInitThreads() call
supposed to take care of this? 

Also tried with GST_GL_XINITTHREADS=1, same results.

-- 
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