[Bug 690605] Rhythmbox, Totem, Clementine, etc. freeze when trying to stop/pause/play songs

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Fri Dec 21 05:12:12 PST 2012


https://bugzilla.gnome.org/show_bug.cgi?id=690605
  GStreamer | gstreamer (core) | 1.0.4

--- Comment #1 from Matthieu Baerts <matttbe at gmail.com> 2012-12-21 13:12:09 UTC ---
According to the backtrace produced with RB, it seems it crashes in
gst_pad_pause_task () =>
http://cgit.freedesktop.org/gstreamer/gstreamer/tree/gst/gstpad.c#n5261

------
  /* wait for task function to finish, this lock is recursive so it does
nothing
   * when the pause is called from the task itself */
=>  GST_PAD_STREAM_LOCK (pad);
  GST_PAD_STREAM_UNLOCK (pad);

  return res;
------

About GST_PAD_STREAM_LOCK:

------
   #define GST_PAD_STREAM_LOCK(pad)
g_rec_mutex_lock(GST_PAD_GET_STREAM_LOCK(pad))
------

I don't know what 'recursive' means here but it's just a simple
pthread_mutex_lock ():
http://git.gnome.org/browse/glib/tree/glib/gthread-posix.c#n363

------
    g_rec_mutex_lock (GRecMutex *mutex)
    {
      pthread_mutex_lock (g_rec_mutex_get_impl (mutex));
    }
------

It's not like this deprecated function: g_static_rec_mutex_(un)lock_full ()
which completely (un)locks the mutex:
http://git.gnome.org/browse/glib/tree/glib/deprecated/gthread-deprecated.c#n769

-- 
Configure bugmail: https://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