[gstreamer-bugs] [Bug 343278] New: g_object_notify() not threadsafe (and also all callers)

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Mon May 29 01:45:56 PDT 2006


Do not reply to this via email (we are currently unable to handle email
responses and they get discarded).  You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=343278
 GStreamer | gstreamer (core) | Ver: 0.10.x

           Summary: g_object_notify() not threadsafe (and also all callers)
           Product: GStreamer
           Version: 0.10.x
          Platform: Other
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: major
          Priority: Normal
         Component: gstreamer (core)
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: jindrich.makovicka at itonis.tv
         QAContact: gstreamer-bugs at lists.sourceforge.net
     GNOME version: Unspecified
   GNOME milestone: Unspecified


Several GStreamer core functions supposed to be MT safe call g_object_notify()
without holding a lock on the object. This allows a race condition in
g_object_notify_queue_thaw(), if another thread adds a notification while the
notification queue is processed. In that case, g_object_notify_queue_thaw()
tries to store too much data into a preallocated array. This results in a
segfault.

The attached patch moves the g_object_notify() calls to the locked section, and
modifies gst_object_dispatch_properties_changed() so it does not attempt to
lock the object to avoid the deadlock.

After applying these changes, we encountered neither the segfault, nor a
deadlock so far.


-- 
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=email
------- 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