After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 796676 - playbin3: take only playsink locking in a same thread without taking playbin3 locking
playbin3: take only playsink locking in a same thread without taking playbin3...
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
1.14.0
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2018-06-26 04:39 UTC by HoonHee Lee
Modified: 2018-11-03 12:08 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
playbin3: don't take duplicate locking in between playbin3 and playsink (1.20 KB, patch)
2018-06-26 04:44 UTC, HoonHee Lee
needs-work Details | Review

Description HoonHee Lee 2018-06-26 04:39:40 UTC
Dear All
I have observed deadlock problem in our target platform with gst v1.14.
 
I think the deadlock is happened between getting property 'PROP_SUBTITLE_ENCODING' and activate_chain ().
 
I think it makes sense not to taking playbin3 locking with playsink locking in a same thread in gst_play_sink_get_subtitle_encoding ().
 
 
Thanks.
Comment 1 HoonHee Lee 2018-06-26 04:44:29 UTC
Created attachment 372821 [details] [review]
playbin3: don't take duplicate locking in between playbin3 and playsink
Comment 2 Sebastian Dröge (slomo) 2018-06-26 13:24:57 UTC
Comment on attachment 372821 [details] [review]
playbin3: don't take duplicate locking in between playbin3 and playsink

This does not apply anymore to GIT master, the locks are in a different function. Can you update the patch?
Comment 3 HoonHee Lee 2018-06-27 01:33:49 UTC
(In reply to Sebastian Dröge (slomo) from comment #2)
> Comment on attachment 372821 [details] [review] [review]
> playbin3: don't take duplicate locking in between playbin3 and playsink
> 
> This does not apply anymore to GIT master, the locks are in a different
> function. Can you update the patch?

Sorry, I don't understand what you mean.
   
I think GST_PLAY_BIN3_LOCK is not needed. Because, there is GST_PLAY_SINK_LOCK in gst_play_sink_get_subtitle_encoding () function likes PROP_VOLUME, PROP_MUTE and PROP_SAMPLE.

Can you explain in detail what you mean ?
 
Thanks.
Comment 4 Sebastian Dröge (slomo) 2018-06-27 05:45:42 UTC
The patch does not apply to git master anymore because the lock was moved to another function. The lock can go away, that's correct, but you have to update the patch to remove the locking from a different place.
Comment 5 GStreamer system administrator 2018-11-03 12:08:11 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/464.