Scrubbing seek bar causes Banshee, Rhythmbox and Totem to freeze. Error: GStreamer-WARNING **: wrong STREAM_LOCK count 0

Bug #941229 reported by Jacob Peddicord
60
This bug affects 11 people
Affects Status Importance Assigned to Milestone
GLib
Fix Released
Critical
glib2.0 (Ubuntu)
Fix Released
Medium
Unassigned

Bug Description

Banshee and Totem both suffer from a very annoying bug where they will lock up when trying to interact with them while media is playing. It's hard to describe, but here are the main points:

* When the application locks up, "GStreamer-WARNING **: wrong STREAM_LOCK count 0" is output.
* I have tested this with quite a diverse MP3 library.
* This happens **most frequently** using gstreamer0.10-fluendo-mp3.
* This happens less frequently when using lame/mad from gstreamer0.10-plugins-ugly.
* I am unable to reproduce this issue with OGG/Vorbis audio.

Steps to reproduce:
1. Install gstreamer0.10-fluendo-mp3, as it is easiest to trigger the bug (works with gstreamer0.10-plugins-ugly as well, just not as often).
2. Open any MP3 in Totem from the terminal.
3. Seek madly for 5-10 seconds or until it freezes. (Sometimes the freeze is instantaneous, sometimes it takes a few seconds of trying.)
4. Observe the GStreamer warning message and deadlock.

This has been *very* difficult to pin down, as it happens seemingly at random. I'm attaching a backtrace of Totem's state during the freeze. Some points of note:

* The "GStreamer-CRITICAL" message is unrelated to the freezing from what I can tell, as it doesn't show up during other traces I've done.
* ^C is where it froze.
* #10 is libgstflump3dec.so -- could not find debugging symbols for this, but as it happens with the other MP3 decoders as well, I don't think the problem lies in the MP3 plugins themselves.

Something I've noticed while testing this: it appears to freeze more often around when threads are created/destroyed.
Let me know if there's any more information I can provide.

ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: gstreamer0.10-plugins-ugly 0.10.18.3-1ubuntu1
ProcVersionSignature: Ubuntu 3.2.0-17.26-generic 3.2.6
Uname: Linux 3.2.0-17-generic x86_64
NonfreeKernelModules: nvidia
ApportVersion: 1.93-0ubuntu2
Architecture: amd64
Date: Sat Feb 25 21:41:53 2012
EcryptfsInUse: Yes
InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Release amd64 (20111012)
ProcEnviron:
 LANGUAGE=en_US:en
 TERM=xterm-256color
 PATH=(custom, user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: gst-plugins-ugly0.10
UpgradeStatus: Upgraded to precise on 2012-02-10 (15 days ago)

Related branches

Revision history for this message
Jacob Peddicord (jpeddicord) wrote :
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in gstreamer0.10 (Ubuntu):
status: New → Confirmed
Revision history for this message
Jeremy Bícha (jbicha) wrote :
Changed in gstreamer:
importance: Unknown → High
status: Unknown → New
Changed in gstreamer:
importance: High → Critical
Changed in gstreamer:
status: New → Confirmed
Revision history for this message
Jacob Peddicord (jpeddicord) wrote :

This has been fixed upstream. It should make its way to Ubuntu soon after the next GLib development release.

affects: gstreamer → glib
affects: gstreamer0.10 (Ubuntu) → glib2.0 (Ubuntu)
Changed in glib:
status: Confirmed → Fix Released
komputes (komputes)
Changed in glib2.0 (Ubuntu):
importance: Undecided → Medium
Revision history for this message
komputes (komputes) wrote :

Hey Jacob, I changed the importance to Medium as I am seeing this as well on all my computers (large range of hardware), and because it is completely hindering the use of Banshee there are other testers reporting this as well. I think the bug is hiting a non-critical application and it seems to have an upstream patch so it should be simple enough to correct.

summary: - deadlock: GStreamer-WARNING **: wrong STREAM_LOCK count 0
+ Scrubbing seek bar causes Banshee, Rhythmbox and Totem to freeze. Error:
+ GStreamer-WARNING **: wrong STREAM_LOCK count 0
tags: added: rls-mgr-p-tracking
Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

The attachment "deprecated-threads-fix-race-in-GStaticRecMutex.patch" of this bug report has been identified as being a patch. The ubuntu-reviewers team has been subscribed to the bug report so that they can review the patch. In the event that this is in fact not a patch you can resolve this situation by removing the tag 'patch' from the bug report and editing the attachment so that it is not flagged as a patch. Additionally, if you are member of the ubuntu-reviewers team please also unsubscribe the team from this bug report.

[This is an automated message performed by a Launchpad user owned by Brian Murray. Please contact him regarding any issues with the action taken in this bug report.]

tags: added: patch
tags: added: rls-p-tracking
Changed in glib2.0 (Ubuntu):
status: Confirmed → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package glib2.0 - 2.31.22-0ubuntu1

---------------
glib2.0 (2.31.22-0ubuntu1) precise; urgency=low

  * New upstream version:
    - should fix gstreamer locking issues (lp: #941229)
  * debian/patches/bugzilla_gdbus_use_reliable_cancellation.patch,
    debian/patches/bugzilla_reliable_cancellable.patch:
    - dropped, the fixes are in the new version
  * debian/patches/90_revert_git_stricter_types.patch:
    - dropped, it shouldn't be needed, the issue got resolved
  * debian/patches/git_gdbus_avoid_assert_bug.patch:
    - should fix a gdbus assert hit sometimes by nautilus (lp: #898231),
      gsd (lp: #898994), or bamf (lp: #926208), thanks Marco Trevisan
 -- Sebastien Bacher <email address hidden> Tue, 20 Mar 2012 11:35:24 +0100

Changed in glib2.0 (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.