audio unreliable with eglibc 2.15

Bug #929713 reported by Steve Langasek on 2012-02-09
24
This bug affects 4 people
Affects Status Importance Assigned to Milestone
eglibc (Fedora)
Fix Released
Undecided
eglibc (Ubuntu)
Critical
Matthias Klose
Precise
Critical
Matthias Klose

Bug Description

Audio is completely unreliable after upgrade to eglibc 2.15.

- Google+ hangouts, which use the google-talkplugin package from http://dl.google.com/linux/talkplugin/deb/, initially have audio working, but within a minute or so the audio cuts out (in both directions). This plugin uses pulseaudio via dlopen() of libpulse.so.0.
- Skype, from the oneiric partner archive, exhibits similar behavior: audio is bidirectional when the call is established, then after a minute or so the input cuts out (despite pulseaudio's volume meter showing that audio is still being picked up from the mic)
- Quodlibet (pulse-enabled media app implemented in python) plays music fine until it suddenly stops after a random period of time. In my latest test, the current track has stopped at 4:59 into the song. The UI still responds fine and if I select a different song to play, playback resumes.

The G+ regression has been reported by several other people on IRC.

ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: libc6 2.15-0ubuntu1
ProcVersionSignature: Ubuntu 3.2.0-14.23-generic 3.2.3
Uname: Linux 3.2.0-14-generic x86_64
ApportVersion: 1.91-0ubuntu1
Architecture: amd64
CheckboxSubmission: 017452a27eca3c8b498abbfa5ef91db9
CheckboxSystem: ecaaad6fa1e0799a0aa1126bf620f39e
Date: Thu Feb 9 10:22:42 2012
InstallationMedia: Ubuntu 10.04.1 LTS "Lucid Lynx" - Release amd64 (20100816.1)
ProcEnviron:
 PATH=(custom, user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: eglibc
UpgradeStatus: Upgraded to precise on 2011-11-08 (92 days ago)

Related branches

Description of problem:
After installing 2.14.89025, I was seeing lots of weird issues - programs trying to talk to pulseaudio would hang, firefox was wedged and flickering the X cursor between 2 different cursors, some other weird stuff.

Caught this in gdb of /usr/bin/pidgin hung during startup:

(gdb) c
Continuing.
^C
Program received signal SIGINT, Interrupt.
pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:145
145 movl $1, %r8d
(gdb) where
#0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:145
#1 0x00007f8d189f7740 in pa_threaded_mainloop_wait (m=0x7f8d1c27d650) at pulse/thread-mainloop.c:206
#2 0x00007f8d18c16cbc in ?? () from /usr/lib64/gstreamer-0.10/libgstpulse.so
#3 0x00007f8d18c180aa in ?? () from /usr/lib64/gstreamer-0.10/libgstpulse.so
#4 0x00000034bbc070f1 in ?? () from /usr/lib64/libgstaudio-0.10.so.0
#5 0x00000034bbc09cc0 in gst_ring_buffer_pause () from /usr/lib64/libgstaudio-0.10.so.0
#6 0x00000034bbc12c8a in ?? () from /usr/lib64/libgstaudio-0.10.so.0
#7 0x00007f8d18c195a9 in ?? () from /usr/lib64/gstreamer-0.10/libgstpulse.so
#8 0x00000034b8c41d4c in gst_element_change_state () from /usr/lib64/libgstreamer-0.10.so.0

Reverting to 2.14.90-23 and everything started working normally again - pidgin, pulseaudio, firefox, etc.

Am willing to add instrumentation and re-test if somebody tells me what they want tried.

Version-Release number of selected component (if applicable):
glibc-2.14.90-25.fc17

How reproducible:

Steps to Reproduce:
1.
2.
3.

Actual results:

Expected results:

Additional info:

I had similar weird behaviors of applications in F16 (x86_64) after I installed glibc-2.14.90-24.fc16.3. I googled and found (in Bug#651899 in Debian) my problem might be related to glibc-rh552960.patch had been introduced in 2.14.90-24.fc16.x. I locally build glibc-2.14.90-24.fc16.3 without the patch then everything have been working fine for two days. I found the patch has been merged into glibc-2.14.90-25.fc17 tarball.

Regards,

Kazuro: Thank you for digging further into this, and confirming I'm not crazy (or at least, not hallucinating this particular bug ;)

Got around to testing 2.14.90-26, which contained this:

  - Revert "fix" to pthread_cond_wait (#769421)

and it does appear to be working correctly on my box again. Thanks..

*** Bug 769600 has been marked as a duplicate of this bug. ***

Should be fixed by either 2.15-1.fc17 or 2.14.90-26.fc17 (both revert the problematical pthread_cond_wait patch).

Steve Langasek (vorlon) wrote :
Changed in eglibc (Ubuntu):
importance: Undecided → Critical
status: New → Confirmed
assignee: nobody → Matthias Klose (doko)
tags: added: rls-mgr-p-tracking rls-p-tracking
Changed in eglibc (Ubuntu Precise):
milestone: none → ubuntu-12.04-beta-1
dino99 (9d9) wrote :

Same issue here on Precise i386 +nvidia + gnome-classic (compiz/unity/GS purged)

dino99 (9d9) wrote :

Happens with radiotray: hangs after a few seconds, nothing logged

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package eglibc - 2.15-0ubuntu2

---------------
eglibc (2.15-0ubuntu2) precise; urgency=low

  * Revert commit c5a0802a. LP: #929713.
  * Fix nvidia libgl crashes. LP: #929384.
 -- Matthias Klose <email address hidden> Thu, 09 Feb 2012 20:33:14 +0100

Changed in eglibc (Ubuntu Precise):
status: Confirmed → Fix Released
Martin-Éric Racine (q-funk) wrote :

One aspect is still not fixed:

PulseAudio fails at finding remote sinks and yet Avahi is working as expected at both ends. This was working fine before the libc6 upgrade to 2.15.

Steve Langasek (vorlon) wrote :

Are you sure this wasn't caused by the pulse upgrade in the same time frame? Regardless, please file a separate bug report for the issue as that's unrelated to pthread-induced hangs in libpulse.

glibc-2.14.90-24.fc16.5 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/glibc-2.14.90-24.fc16.5

Changed in eglibc (Fedora):
importance: Unknown → Undecided
status: Unknown → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

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