[Bug 784534] New: rtpsession releases RTP_SESSION_LOCK while iterating the ssrc hashtable

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Wed Jul 5 01:25:11 UTC 2017


https://bugzilla.gnome.org/show_bug.cgi?id=784534

            Bug ID: 784534
           Summary: rtpsession releases RTP_SESSION_LOCK while iterating
                    the ssrc hashtable
    Classification: Platform
           Product: GStreamer
           Version: 1.12.x
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gst-plugins-good
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: olivier.crete at ocrete.ca
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

While fixing bug #773218, I discovered a new problem in rtpsession, we release
the LOCK while iterating over the ssrcs hash table using
g_hash_table_foreach(). If we're unlucky, that can result in the hash table
being modified during the iteration which hits a critical inside GHashTable.

The call sequence is the following:

rtp_session_on_timeout() -> g_hash_table_foreach() -> generate_rtcp() ->
session_start_rtcp() -> rtp_source_get_new_sr() -> get_clock_rate() ->
source_clock_rate()

To reproduce, in gst-plugins-good:
GST_CHECKS=test_sender_eos make elements/rtpbin.forever

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list