RESOLVED FIXED 30353
[GStreamer] Race condition causing deadlocks
https://bugs.webkit.org/show_bug.cgi?id=30353
Summary [GStreamer] Race condition causing deadlocks
Sebastian Dröge (slomo)
Reported 2009-10-14 04:19:21 PDT
Hi, currently there's a race condition in the GStreamer video sink. Problem is, if unlock() is called and then render(). It would wait forever on the cond. Attached patch fixes this.
Attachments
0001-Fix-race-condition-in-unlock-render-that-would-lead-.patch (5.11 KB, patch)
2009-10-14 04:24 PDT, Sebastian Dröge (slomo)
gustavo: review-
Stacktrace showing the deadlock (6.31 KB, text/plain)
2009-10-14 04:27 PDT, Benjamin Otte
no flags
0001-Fix-race-condition-in-unlock-render-that-would-lead-.patch (5.53 KB, patch)
2009-10-15 06:57 PDT, Sebastian Dröge (slomo)
no flags
Sebastian Dröge (slomo)
Comment 1 2009-10-14 04:24:53 PDT
Created attachment 41156 [details] 0001-Fix-race-condition-in-unlock-render-that-would-lead-.patch
Benjamin Otte
Comment 2 2009-10-14 04:27:34 PDT
Created attachment 41157 [details] Stacktrace showing the deadlock
Gustavo Noronha (kov)
Comment 3 2009-10-15 06:46:19 PDT
Comment on attachment 41156 [details] 0001-Fix-race-condition-in-unlock-render-that-would-lead-.patch Man, threading is hairy =). So, what's causing the deadlock, exactly, again? The cond_wait in render and the mutex_lock in timeout_func racing when gstreamer fires ::unlock? Then you fix it by avoiding creating the timeout and doing the cond_wait in the first place if ::unlock() has fired on the element, is that it? Can you add a comment block somewhere explaining this?
Sebastian Dröge (slomo)
Comment 4 2009-10-15 06:57:43 PDT
Created attachment 41223 [details] 0001-Fix-race-condition-in-unlock-render-that-would-lead-.patch
Gustavo Noronha (kov)
Comment 5 2009-10-15 07:01:05 PDT
Comment on attachment 41223 [details] 0001-Fix-race-condition-in-unlock-render-that-would-lead-.patch Thanks!
WebKit Commit Bot
Comment 6 2009-10-15 07:16:33 PDT
Comment on attachment 41223 [details] 0001-Fix-race-condition-in-unlock-render-that-would-lead-.patch Clearing flags on attachment: 41223 Committed r49623: <http://trac.webkit.org/changeset/49623>
WebKit Commit Bot
Comment 7 2009-10-15 07:16:36 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.