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 602231 - Deadlock between rtpjitterbuffer and gstrtpbin
Deadlock between rtpjitterbuffer and gstrtpbin
Status: RESOLVED DUPLICATE of bug 593354
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other Linux
: Normal normal
: 0.10.18
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-11-17 19:21 UTC by Olivier Crête
Modified: 2009-11-18 10:02 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
patch to fix problem (1.56 KB, patch)
2009-11-17 19:21 UTC, Olivier Crête
none Details | Review

Description Olivier Crête 2009-11-17 19:21:18 UTC
Created attachment 147991 [details] [review]
patch to fix problem

Seems like a regression I introduced with f542f710c.

gst_rtp_jitter_buffer_get_clock_rate() emits "request-pt-map" with the JBUF lock held, the handler in gstrtpbin calls get_pt_map() which takes the session lock

while

farsight clears the pt map, which is done by gst_rtp_bin_clear_pt_map() which takes the session lock and calls "clear-pt-map" on the jitterbuffer whose handler takes the JBUF lock.

Patch releases jbuf lock before emitting signal.. And documents the subtle fact that the clock-rate can only be set to a valid value with the streaming lock held (but could be invalidated without it..). Fun, isn't it ?
Comment 1 Wim Taymans 2009-11-18 10:01:54 UTC

*** This bug has been marked as a duplicate of bug 593354 ***