[Bug 768630] New: gst_element_get_state hangs waiting for state change (glcolorconvert, context sharing, OS X)

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Sun Jul 10 11:13:15 UTC 2016


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

            Bug ID: 768630
           Summary: gst_element_get_state hangs waiting for state change
                    (glcolorconvert, context sharing, OS X)
    Classification: Platform
           Product: GStreamer
           Version: 1.8.1
                OS: Mac OS
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gst-plugins-bad
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: gottfried.haider at gmail.com
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

I have a playbin-pipeline of a local file, which is initially being set to
paused to allow for seeking etc. When I call gst_element_get_state()
afterwards, to wait for the asynchronous state change to succeed this hangs
forever.

My application uses GL context sharing. Marcin spotted the following line in
the logs, which he thought was suspicious
"pad_query:<glcolorconvertelement0:src> pad peer query failed". Indeed, when I
remove the glcolorconvert from the pipeline, the problem (hang) disappears.


You find the setup of the application's pipeline here:
https://github.com/gohai/processing-glvideo/blob/b8bc94f59630b010e52fe25846e1c5423c8398dd/src/native/impl.c#L240

I am attaching a GST_DEBUG=*:5 trace. When I gdb the process as it hangs I find
the following two threads that are gstreamer-related:

Thread 36 (Thread 0x3c03 of process 35111):
#0  0x00007fff8a68707a in ?? () from /usr/lib/system/libsystem_kernel.dylib
#1  0x000000012dc0a0fa in g_poll () from
/Users/gohai/Documents/Code/processing-glvideo/library/macosx/libglib-2.0.0.dylib
#2  0x000000012dbfbc9d in g_main_context_iterate () from
/Users/gohai/Documents/Code/processing-glvideo/library/macosx/libglib-2.0.0.dylib
#3  0x000000012dbfc01f in g_main_loop_run () from
/Users/gohai/Documents/Code/processing-glvideo/library/macosx/libglib-2.0.0.dylib
#4  0x000000012d9ffe41 in gst_gl_window_navigation_thread () from
/Users/gohai/Documents/Code/processing-glvideo/library/macosx/libgstgl-1.0.0.dylib
#5  0x000000012dc2344a in g_thread_proxy () from
/Users/gohai/Documents/Code/processing-glvideo/library/macosx/libglib-2.0.0.dylib
#6  0x00007fff8ed6699d in ?? () from /usr/lib/system/libsystem_pthread.dylib
#7  0x000000000000f503 in ?? ()
#8  0x0000700002006000 in ?? ()
#9  0x0000700002005f50 in ?? ()
#10 0x00007fff8ed6691a in ?? () from /usr/lib/system/libsystem_pthread.dylib
#11 0x0000000000000000 in ?? ()

Thread 27 (Thread 0x3303 of process 35111):
#0  0x00007fff8a68707a in ?? () from /usr/lib/system/libsystem_kernel.dylib
#1  0x000000012dc0a0fa in g_poll () from
/Users/gohai/Documents/Code/processing-glvideo/library/macosx/libglib-2.0.0.dylib
#2  0x000000012dbfbc9d in g_main_context_iterate () from
/Users/gohai/Documents/Code/processing-glvideo/library/macosx/libglib-2.0.0.dylib
#3  0x000000012dbfc01f in g_main_loop_run () from
/Users/gohai/Documents/Code/processing-glvideo/library/macosx/libglib-2.0.0.dylib
#4  0x000000012d9db68c in glvideo_mainloop () from
/Users/gohai/Documents/Code/processing-glvideo/library/macosx/libglvideo.jnilib
#5  0x000000012dc2344a in g_thread_proxy () from
/Users/gohai/Documents/Code/processing-glvideo/library/macosx/libglib-2.0.0.dylib
#6  0x00007fff8ed6699d in ?? () from /usr/lib/system/libsystem_pthread.dylib
#7  0x000000000000ed07 in ?? ()
#8  0x0000700001c71000 in ?? ()
#9  0x0000700001c70f50 in ?? ()
#10 0x00007fff8ed6691a in ?? () from /usr/lib/system/libsystem_pthread.dylib
#11 0x0000000000000000 in ?? ()

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