Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 315791 - media-sound/audacious-2.3: pcm_hangup workaround no longer works
Summary: media-sound/audacious-2.3: pcm_hangup workaround no longer works
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Sound Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-04-17 20:51 UTC by N. Andrew Walsh
Modified: 2010-09-01 13:14 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description N. Andrew Walsh 2010-04-17 20:51:56 UTC
audacious 2.3_beta and the 2.2 series had a workaround patched in to deal with a bug in the snd_pcm_drop handler, causing it to freeze erratically when switching tracks, as well as taking 25 seconds to start, and other annoyances. This workaround no longer functions on the final 2.3 release, as I am experiencing all the same hangups, though the workaround is checked in the Preferences.

Reproducible: Always

Steps to Reproduce:
1. install audacious-2.3
2. let it play some tracks on shuffle
3. crushing disappointment when music abruptly stops!

Actual Results:  
here's what strace says:
read(4, 0x66add4, 4096)                 = -1 EAGAIN (Resource temporarily unavailable)
read(4, 0x66add4, 4096)                 = -1 EAGAIN (Resource temporarily unavailable)
read(4, 0x66add4, 4096)                 = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=9, events=POLLIN}, {fd=7, events=POLLIN}], 4, 12) = 0 (Timeout)
read(4, 0x66add4, 4096)                 = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=9, events=POLLIN}, {fd=7, events=POLLIN}], 4, 30) = 1 ([{fd=4, revents=POLLIN}])
read(4, "\6\0\37\263\243\214\317\36]\1\0\0\26\0\300\t\0\0\0\0\313\6\252\1^\0`\0\20\0\1\0", 4096) = 32
read(4, 0x66add4, 4096)                 = -1 EAGAIN (Resource temporarily unavailable)
read(4, 0x66add4, 4096)                 = -1 EAGAIN (Resource temporarily unavailable)
read(4, 0x66add4, 4096)                 = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=5, events=POLLIN}, {fd=4, events=POLLIN}, {fd=9, events=POLLIN}, {fd=7, events=POLLIN}], 4, 28) = 1 ([{fd=4, revents=POLLIN}])
read(4, "\6\0\37\263\253\214\317\36]\1\0\0\26\0\300\t\0\0\0\0\314\6\251\1_\0_\0\20\0\1\0", 4096) = 32
 etc etc


Expected Results:  
It should shuffle, start up, and so forth, without puking all over everything.

emerge --info sez:

emerge --info
Portage 2.2_rc67 (default/linux/amd64/10.0, gcc-4.4.3, glibc-2.11-r1, 2.6.33-gentoo-r1 x86_64)
=================================================================
System uname: Linux-2.6.33-gentoo-r1-x86_64-AMD_Athlon-tm-_64_X2_Dual_Core_Processor_6400+-with-gentoo-2.0.1
Timestamp of tree: Fri, 16 Apr 2010 10:15:01 +0000
app-shells/bash:     4.1_p5
dev-java/java-config: 1.3.7-r1, 2.1.10
dev-lang/python:     2.6.5-r1, 3.1.2-r2
dev-util/cmake:      2.8.1-r1
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.6.1-r1
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.65
sys-devel/automake:  1.8.5-r3, 1.9.6-r2, 1.10.3, 1.11.1
sys-devel/binutils:  2.20.1
sys-devel/gcc:       4.4.3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.33
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=athlon64 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/config /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=athlon64 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests ccache distlocks fixpackages news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch"
GENTOO_MIRRORS="ftp://gentoo.lagis.at/ http://gentoo.mirror.dkm.cz/pub/gentoo/ http://ftp.fi.muni.cz/pub/linux/gentoo/ http://gentoo.mirror.web4u.cz/ ftp://gentoo.mirror.web4u.cz/ ftp://ftp.klid.dk/gentoo/ http://mirror.uni-c.dk/pub/gentoo/ ftp://ftp.spline.inf.fu-berlin.de/mirrors/gentoo/ http://mirror.netcologne.de/gentoo/ ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo ftp://ftp.join.uni-muenster.de/pub/linux/distributions/gentoo http://gentoo.mneisen.org/ http://de-mirror.org/distro/gentoo/ ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo ftp://ftp.tu-clausthal.de/pub/linux/gentoo/ http://ftp.spline.inf.fu-berlin.de/mirrors/gentoo/ ftp://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/ ftp://de-mirror.org/distro/gentoo/ http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ http://ftp6.uni-erlangen.de/pub/mirrors/gentoo ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/ ftp://mirror.netcologne.de/gentoo/ ftp://ftp6.uni-erlangen.de/pub/mirrors/gentoo ftp://ftp6.uni-muenster.de/pub/linux/distributions/gentoo ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo http://ftp.uni-erlangen.de/pub/mirrors/gentoo http://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/ ftp://ftp.ipv6.uni-muenster.de/pub/linux/distributions/gentoo ftp://gentoo.inf.elte.hu/ http://gentoo.inf.elte.hu/ http://ftp.heanet.ie/pub/gentoo/ ftp://ftp.heanet.ie/pub/gentoo/ ftp://ftp.df.lth.se/pub/gentoo/ http://mirror.switch.ch/ftp/mirror/gentoo/ ftp://mirror.switch.ch/mirror/gentoo/ http://gentoo.kiev.ua/ftp/"
LANG="en_US"
LC_ALL="en_US"
LDFLAGS="-Wl,-O1"
LINGUAS="en_US de"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage/layman/pd-overlay /usr/local/portage/layman/desktop-effects /usr/local/portage/layman/gentoo-quebec /usr/local/portage/layman/devnull /usr/local/portage/layman/devnull /usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="X Xaw3d a52 aac acl acpi aim alsa amd64 apm audiofile bash-completion berkdb bzip2 cairo cddb cdinstall cdparanoia cdr clamav cli cracklib crypt css cups curl curlwrappers cxx directfb dri dvd dvdr dvdread encode ffmpeg fftw firefox flac fortran ftp gdbm geoip gif gimp glut gpm gstreamer gtk hal hddtemp iconv icq ieee1394 imagemagick imap imlib ipv6 jack java java6 javascript jikes joystick jpeg kde kde4 lame latex ldap libsamplerate libwww lm_sensors mad matroska mmx modules motif mp3 mpeg mplayer mudflap multilib ncurses nls nptl nptlonly nsplugin offensive ogg openal opengl openmp openssl oscar pam pcre pdf perl png posix pppd python qt3support qt4 quicktime raw readline reflection rss scanner session sndfile sockets speex spell spl sse sse2 ssl suid svg symlink sysfs syslog tcl tcpd tetex theora threads tidy tiff tk translucency truetype unicode usb videos vorbis wmf wxwindows x264 xcomposite xine xml xorg xpm xscreensaver xulrunner xv xvid zlib" ALSA_CARDS="hda-intel usb-audio" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en_US de" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Tony Vroon (RETIRED) gentoo-dev 2010-09-01 13:14:24 UTC
To confirm, this was addressed in Audacious 2.4.0; a dialog was opened with the ALSA developers. Short & sweet: ALSA is not thread-safe; the plugin used to assume otherwise.