GNOME Bugzilla – Bug 728761
glimagesink: Deadlock on errors
Last modified: 2014-04-23 13:49:18 UTC
Basically all the time, when something fails early, the element deadlocks. One way to reproduce (all the time for me): GST_GL_API=opengl3 gst-launch-1.0 videotestsrc ! glimagesink
Created attachment 274914 [details] Backtrace of the deadlock Notice the unbalanced locks in gst_gl_context_create_thread() and the commented using // unlock that would balance it.
It is not unbalanced, but unlocks the mutex from the send_message() below the commented out line. This change was done as part of commit db1c7a242b2d751be76199524078d99421159ee2 Author: Matthew Waters <ystreet00@gmail.com> Date: Wed Sep 25 12:26:57 2013 +1000 [818/906] window: add send_message_async vmethod - provide a default synchronous send_message - make context creation threadsafe again
In your case it should've never ever get to the point where glimagesink sends messages to the window though... as there was an error before already it should've shut down immediately.
commit 38ebfb2da874fa601c22cbc83a1cffc357f45276 Author: Sebastian Dröge <sebastian@centricular.com> Date: Wed Apr 23 10:00:48 2014 +0200 glimagesink: If creating a context or upload failed, destroy it Fixes deadlocks in error cases when later code assumes the broken context is actually usable. https://bugzilla.gnome.org/show_bug.cgi?id=728761
Thanks, I confirm it works for me too.