GNOME Bugzilla – Bug 760929
adaptivedemux: deadlock issue
Last modified: 2016-05-22 18:59:32 UTC
Sorry for not more specific summary, creating bug report as suggested on irc: <mx3L> Hello, we have a deadlock when setting playbin from READY (with pending PLAYING) to NULL, gdb output - http://pastebin.com/CExwYyr3, Thread 1 in frame#25 we set playbin to NULL, 8,9,10 threads not relevant. <wtay> mx3L, a problem in adaptivedemux, please make a bug for this
Any chance you could try with git master, the locking in adaptive demux was refactored quite a bit if I remember correctly.
(Not that there might not be an obvious fix for this particular deadlock, I didn't check.)
In git master I cannot reproduce the deadlock. So it looks to be resolved.
Thanks for testing. If you can easily reproduce it with 1.6.x, it would be great if you could also make a GST_DEBUG=*adaptive*:6 debug log and attach it to this bug (compressed with xz -9 or gzip or so), maybe there's an easy fix.
Created attachment 320793 [details] GST_DEBUG=*adaptive*:6, deadlock log created in 1.6.3 version, ends with deadlock, when setting playbin to NULL.
Thanks, I think this commit which landed in 1.6.4 should fix the most frequent occurances of this issue in 1.6: commit b14464947ff200406786107ec5d130baa898b3aa Author: Tim-Philipp Müller <tim@centricular.com> Date: Tue Feb 16 19:43:48 2016 +0000 adaptivedemux: fix race on shutdown that could result in deadlocks Minimal fix for one particular deadlock, adaptivedemux has seen a general re-work of its locking in git master, but that would be too intrusive to backport into the stable branch. We need to use a separate variable to signal cancellation here. Closing as obsolete since you confirmed it works in master. Thanks for testing!