[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