Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 69940 - media-sound/xmms-1.2.10-r9 hangs when using ALSA on second file
Summary: media-sound/xmms-1.2.10-r9 hangs when using ALSA on second file
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: 2004-11-03 05:39 UTC by Martin Wegner
Modified: 2005-01-07 01:32 UTC (History)
1 user (show)

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


Attachments
Backtrace of a xmms hang (gdb-bt-xmms.log,9.31 KB, text/plain)
2004-11-07 05:29 UTC, Martin Wegner
Details
GDB Backtrace of xmms crash (gdb-bt-xmms-crash,4.85 KB, text/plain)
2004-11-14 07:44 UTC, Martin Wegner
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Wegner 2004-11-03 05:39:42 UTC
When playing mp3s with media-sound/xmms-1.2.10-r9 using the ALSA plug-in the first file started is OK, but xmms hangs at the second mp3. In the terminal xmms was started in I get the message:

Message: alsa mixer timed out

when aborting xmms with Ctrl-C in the terminal.

This only happens if I force the second file to be played by a double-click in the playlist or by hitting "B" on the keyboard. If the first file is fully played and xmms changes to the next it works well, too.

I'm using ck-sources-2.6.8.1-r8

Using the OSS plug-in which is using OSS-emulation then, I guess, works well.

Reproducible: Always
Steps to Reproduce:
1. Start xmms
2. Play first file
3. "Force" second file to play

Actual Results:  
xmms hangs

Expected Results:  
Should not hang

*  media-sound/alsa-utils
      Latest version installed: 1.0.6

*  media-sound/alsa-headers
      Latest version installed: 1.0.6a

*  media-libs/alsa-lib
      Latest version installed: 1.0.6

# emerge info
Portage 2.0.51-r2 (default-x86-2004.2, gcc-3.4.2, glibc-2.3.4.20041021-r0, 2.6.8
-ck8 i686)
=================================================================
System uname: 2.6.8-ck8 i686 AMD Duron(tm)
Gentoo Base System version 1.6.5
distcc 2.18 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
Autoconf: sys-devel/autoconf-2.59-r5
Automake: sys-devel/automake-1.8.5-r1
Binutils: sys-devel/binutils-2.15.92.0.2-r1
Headers:  sys-kernel/linux-headers-2.4.19,sys-kernel/linux-headers-2.4.22
Libtools: sys-devel/libtool-1.5.2-r5
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-march=i686 -O3 -pipe -mmmx -msse -m3dnow -mfpmath=sse -ftracer"
CHOST="i686-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2
/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /
usr/kde/3/share/config /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/s
hare/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/t
ex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=i686 -O3 -pipe -mmmx -msse -m3dnow -mfpmath=sse -ftracer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache distlocks sandbox"
GENTOO_MIRRORS="ftp://mirror.switch.ch/mirror/gentoo/ http://ftp-stud.fht-esslin
gen.de/pub/Mirrors/gentoo/ http://gentoo.osuosl.org http://www.ibiblio.org/pub/L
inux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow 3dnowex X aalib acl acpi acpi4linux alsa apache2 apm ared avi berkdb 
bitmap-fonts blender-game bonobo bootsplash bzlib cdparanoia cdr clanVoice crypt
 cups dba dedicated dga divx4linux doc dvd encode escreen f77 fbcon foomaticdb f
reetype gd gdbm gif gnome gpm gtk gtk2 imagemagick imlib java jpeg libg++ libwww
 mad mailwrapper mbox mikmod mmx mmx2 motif mpeg mysql ncurses net nls oggvorbis
 opengl oss pam pdflib perl png python quicktime radeon readline rtc ruby samba 
sdl session silverxp slang sockets spell spl sse ssl stencil-buffer svga tcltk t
cpd tetex tokenizer truetype usb videos wxwindows x86 xchattext xfs xml xml2 xmm
s xpm xsl xv zlib"
Comment 1 Jeremy Huddleston (RETIRED) gentoo-dev 2004-11-03 14:30:04 UTC
what mp3 input plugin are youu using?

If you recompile xmms using CFLAGS="-O2 -pipe", does that correct the problem?
Comment 2 Martin Wegner 2004-11-04 08:04:37 UTC
MP3-Plug-In is libmpg123.so

Recompiling with CFLAGS="-O2 -pipe" did not solve this issue.

I just noticed that I had an update to mpg123 in the last days from version 0.59r-r2 to 0.59s-r6, if it helps.
Comment 3 Jeremy Huddleston (RETIRED) gentoo-dev 2004-11-04 13:04:30 UTC
media-sound/mpg123 isn't used by xmms's libmpg123... I can't reproduce this bug.
Comment 4 Martin Wegner 2004-11-06 05:46:48 UTC
I've recompiled it another time with the restrictive flags and removed my .xmms config directory. Then I started xmms. The preferences showed that libOSS was used. Everything worked fine. The I changed the used lib to libALSA and it crashed when choosing the second file by mouse click.

I guess, that it has something to do with the initialization of ALSA xmms does:

- I guess, when I file is played and it ends xmms does not close ALSA and reopen it for the next file in the playlist, but leaves ALSA opened
- But when I click on a file explicitly I guess xmms closes ALSA and then the re-opening fails.

This is only a guess about what I could determine: change from one file to the next when the first ended "naturally" does not crash xmms, explicitly starting the next file via a click, the key "B" or "X" crashes xmms.

I will now check if downgrades make any difference ...
Comment 5 Martin Wegner 2004-11-06 06:40:28 UTC
I tried the various versions still in the portage tree and 1.2.10-r7 whose ebuild I downloaded from your CVS. 1.2.10-r7 was the version that definitely worked before the update to 1.2.10-r9 .

And here is the quite surprising result: all of these versions crash when doing the things I descibed above. So I ckecked if any of the dependencies of xmms had been upgraded in the past 2 weeks. But none of them was upgraded. So I guess, it is an upgrade to a package that is not directly related to xmms but needed. Does such a package exist?

I've recompiled 1.2.10-r9 for so many times now, that I think I can exclude any library / linking problems or something like that.

I do not know how I can help you further since I've tried everything that IMO could solve this issue. Can you tell me what I can try now?
Comment 6 Martin Wegner 2004-11-06 13:24:55 UTC
I still insist on the fact that it is an error in the libalsa of xmms . I get this error only and _only if_ I use libalsa. liboss works well. Also I insist on the fact that this error has a reason outside the xmms package since it now also occurs in versions that worked before.

I can say that it is also independent of the kernel version since it does not work under 2.6.9-ck2 now, too.
Comment 7 Jeremy Huddleston (RETIRED) gentoo-dev 2004-11-06 18:24:12 UTC
can youu go back to a kernel that you know it was working under?  Can you downgrade your alsa-lib version?  What sound card do you have?  This sounds like it's not an xmms problem because you say that re-emerging the old xmms version (which worked) nolonger works.  I'm leaning more towards an alsa-lib bug.  Can you please get me a backtrace:

1) Place this at the end of make.conf:
#
# Debug options
#
CFLAGS="-pipe -g"
CXXFLAGS="${CFLAGS}"
USE="${USE} debug"
FEATURES="${FEATURES} nostrip keeptemp keepwork"

2) emerge -v alsa-lib xmms
3) gdb xmms
gdb) run
<crash it>
gdb) bt

--Jeremy
Comment 8 Jeremy Huddleston (RETIRED) gentoo-dev 2004-11-06 18:27:12 UTC
oh wait... i just saw that youu said it hangs, not crashes... so edit that as:

3) run 'xmms'
4) cause it to hang
5) run 'gdb xmms <process ID>'
gdb) bt
gdb) n
gdb) n
gdb) n
gdb) n
gdb) n
gdb) n
gdb) n
gdb) n

Keep doing 'n' until it reveals the loop that it's hanging in.
Comment 9 Martin Wegner 2004-11-07 05:29:18 UTC
Created attachment 43466 [details]
Backtrace of a xmms hang

I've made the backtrace. See attachment.
Comment 10 Martin Wegner 2004-11-07 14:05:20 UTC
I forgot to add: the kernel I was using when it worked was the abovementioned ck-sources-2.6.8.1-r8 . Now it does not work with this kernel.
Comment 11 Jeremy Huddleston (RETIRED) gentoo-dev 2004-11-08 13:27:55 UTC
ok, what happens if you disable mmap in alsa?
Comment 12 Martin Wegner 2004-11-10 13:36:16 UTC
Sry for the late answer but I've been (too) busy the last days ...

When I disable mmap it works better, i. e. no hangups, BUT then xmms crashes randomly with this error message:

$ xmms
ALSA lib pcm.c:824:(snd_pcm_sw_params) snd_pcm_sw_params: params->avail_min problem for start_threshold
xmms: pcm.c:2094: snd_pcm_wait: Assertion `err == 1' failed.
Killed

Is a backtrace of this crash needed?
Comment 13 Jeremy Huddleston (RETIRED) gentoo-dev 2004-11-10 19:08:21 UTC
yes, please... and what sound card do you have?
Comment 14 Martin Wegner 2004-11-14 07:44:10 UTC
Created attachment 43931 [details]
GDB Backtrace of xmms crash

The backtrace of the crash described above. This time it crashed at the 3rd mp3
but I had also tests where it crashed at the ~20th. HTH
Comment 15 Martin Wegner 2004-11-14 07:45:01 UTC
Just forgotton: I have a VIA Sound-Chip onBoard (Realtek AC97 5.1)
Comment 16 Jeremy Huddleston (RETIRED) gentoo-dev 2004-11-16 22:37:42 UTC
Comment on attachment 43931 [details]
GDB Backtrace of xmms crash

don't forget to choose the corect mime type
Comment 17 Jeremy Huddleston (RETIRED) gentoo-dev 2004-11-22 15:39:44 UTC
what version of alsa-lib do you have?  Can you try other versions of alsa-lib to see if that corrects the problem?
Comment 18 Martin Wegner 2004-11-24 09:50:29 UTC
I'm using alsa-lib version 1.0.6 and I tried 1.0.5-r3 and 1.0.5 . None of them solved it. Unfortunately I wasn't able to compile any of the older versions.
Comment 19 Jeremy Huddleston (RETIRED) gentoo-dev 2004-11-24 14:33:29 UTC
can you please try alsa-lib-1.0.7... this is a frustrating one...
Comment 20 Brian Pankey 2004-11-25 08:56:30 UTC
i'm having the same issues
# strace xmms
poll([{fd=3, events=POLLIN}, {fd=7, events=POLLIN}, {fd=9, events=POLLIN}], 3, 9) = 0
gettimeofday({1101401062, 952316}, NULL) = 0
gettimeofday({1101401062, 952436}, NULL) = 0
gettimeofday({1101401062, 952543}, NULL) = 0
write(3, "\224\3\n\0\26\0\240\2-\0\240\2\0\6@\0\0\4\20\0L\0\20\0"..., 88) = 88
read(3, 0xbffff050, 32)                 = -1 EAGAIN (Resource temporarily unavailable)
select(4, [3], NULL, NULL, NULL)        = 1 (in [3])
read(3, "\1\1\356F\0\0\0\0\26\0\240\2\0\0\0\0\0\0\0\0\31\0\0\0\220"..., 32) = 32
gettimeofday({1101401062, 953330}, NULL) = 0
ioctl(3, FIONREAD, [0])                 = 0
poll([{fd=3, events=POLLIN, revents=POLLIN}, {fd=7, events=POLLIN}, {fd=9, events=POLLIN}], 3, 8) = 1
gettimeofday({1101401062, 959915}, NULL) = 0
ioctl(3, FIONREAD, [32])                = 0
read(3, "\5\1\356Fs{\272\0F\0\0\0\26\0\240\2\0\0\0\0\327\3a\0y\0"..., 32) = 32
write(3, "\33\3\2\0\0\0\0\0+\0\1\0", 12) = 12
read(3, "\1\1\360F\0\0\0\0\26\0\240\2\0\0\0\0\0\0\0\0\31\0\0\0\220"..., 32) = 32
rt_sigprocmask(SIG_SETMASK, NULL, [RTMIN], 8) = 0
rt_sigsuspend([] <unfinished ...>
Message: alsa mixer timed out
Xlib: unexpected async reply (sequence 0x46fd)!

seems to be alsa related...

# emerge info
Portage 2.0.51-r3 (default-linux/x86/2004.3, gcc-3.4.3, glibc-2.3.4.20041102-r0, 2.6.9-gentoo-r4 i686)
=================================================================
System uname: 2.6.9-gentoo-r4 i686 Intel(R) Pentium(R) M processor 1.60GHz
Gentoo Base System version 1.6.6
Autoconf: sys-devel/autoconf-2.59-r5
Automake: sys-devel/automake-1.8.5-r1
Binutils: sys-devel/binutils-2.15.92.0.2-r1
Headers:  sys-kernel/linux-headers-2.4.22
Libtools: sys-devel/libtool-1.5.2-r7
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-O2 -march=pentium3 -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -march=pentium-m -fomit-frame-pointer -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms"
GENTOO_MIRRORS="http://gentoo.osuosl.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X acpi aim alsa apache2 avi berkdb bitmap-fonts blender-game cdr crypt dba directfb divx4linux dvd edl encode ethereal f77 fam fbcon flac flash fmod fortran ftp gd gdbm gif gmail gpm gtk gtk2 imagemagick imlib javascript jit jpeg kadu-modules kadu-voice kde koffice-plugin libcaca libg++ libwww mad mikmod ming mmx mng monkey mono motif mozcalendar mozdevelop mp3 mpeg msn mysql ncurses nethack network offensive oggvorbis openal opengl pam pcap pcmcia pdf pdflib perl php png pnp python qt quicktime readline samba sdl spell sqlite sse sse2 ssl stroke tcltk tcpd threads tidy tiff truetype truetype-fonts type1-fonts uptimed userlocales videos wifi wsconvert x86 xchatdccserver xml2 xmms xosd xscreensaver xv xvid zlib"

# emerge alsa-driver alsa-lib alsa-utils -pv
These are the packages that I would merge, in order:
Calculating dependencies ...done!
[ebuild   R   ] media-sound/alsa-driver-1.0.7  -debug -doc -oss 0 kB
[ebuild   R   ] media-libs/alsa-lib-1.0.7  -doc -jack -static 0 kB
[ebuild   R   ] media-sound/alsa-utils-1.0.7  0 kB

im using 1.0.7 alsa and its still broken... same as the guy above, everytime i press next...my asoundrc looks like:

$ cat .asoundrc
pcm.intel8x0-hw {
  type hw
  card 0
}

ctl.intel8x0-hw {
  type hw
  card 0
}

pcm.!default {
  type plug
  slave.pcm intel8x0
}

pcm.intel8x0 {
  type dmix
  ipc_key 1234567
  slave {
    pcm intel8x0-hw
    period_time 0
    period_size 1024
    buffer_size 8192
    rate 48000
  }
}

and i dont use alsa-oss or oss at all
Comment 21 Martin Wegner 2004-11-25 12:43:16 UTC
Glad to see that I'm not the only one ... even if this is worse for the one trying to resolve this bug :/

alsa-1.0.7 didn't solve this for me either.

I also remembered that I switched to gcc 3.4.3 in the recent past: so I switched back to 3.3.4 and compiled alsa-headers, alsa-lib, alsa-utils and xmms with the old gcc version but obviously that wasn't the solution either.

I still insist that it is a problem with xmms and/or its implementation (although I can't understand why no version is working any longer) since mplayer with alsa is working perfectly here.

Is there any other thing I can do?
Comment 22 Jeremy Huddleston (RETIRED) gentoo-dev 2004-11-25 13:25:46 UTC
hmm... i wonder if it's dmix related then...

You both have different cards, so it's probably not the driver level (especially if oss emulation support works (which bypasses your dmix setup)...

Can you try disabling dmix in yor asoundrc?
Comment 23 Brian Pankey 2004-11-25 15:21:32 UTC
ok i'll try it after disabling dmix...after my sound start working again...eh heh... bug 72490 ...so yea, my alsa is dead and down for the count at the moment

but i believe xmms still froze even before i created the dmix file  =/
Comment 24 Martin Wegner 2004-11-28 06:09:01 UTC
Sry, but I habe no asoundrc?! Where should it be? How can I create it? Do I have to create it?
Comment 25 Brian Pankey 2004-11-28 10:50:33 UTC
the ~/.asoundrc is only for multiple programs to use the sound card at once instead of waiting in line or being denied access when another app is outputting...its not needed but is more natural that more app's play sounds simultaneously, in my opinion =P

well let me see if i can get to WORK again then i'll see about this bug lol
Comment 26 Jeremy Huddleston (RETIRED) gentoo-dev 2005-01-03 03:47:23 UTC
so... was this related to dmix?
Comment 27 Brian Pankey 2005-01-03 14:54:14 UTC
i have no clue. the gentoo partition is long gone. :/
Comment 28 Martin Wegner 2005-01-04 00:13:32 UTC
So, please somebody tells me how I can test whether its dmix related or not. I can test it then.
Comment 29 Jeremy Huddleston (RETIRED) gentoo-dev 2005-01-04 00:46:26 UTC
does it happen when you don't use dmix?
Comment 30 Martin Wegner 2005-01-04 02:23:48 UTC
I've absolutely no idea how I can find out if I use dmix and how I can enable/disable it ...
Comment 31 Jeremy Huddleston (RETIRED) gentoo-dev 2005-01-04 04:40:34 UTC
Then you probably don't use it ;)

Ok, so then to summarize what I think is going on... please correct me:
changing alsa versions doesn't fix the problem
changing xmms versions doesn't fix the problem
changing compiler versions doesn't fix the problem

So unless I can get something reproducible, there's nothing I can do here...
Comment 32 Jeremy Huddleston (RETIRED) gentoo-dev 2005-01-05 01:08:47 UTC
bumping back to sound@
Comment 33 Martin Wegner 2005-01-07 01:17:22 UTC
What shall I say? The error is gone here. I cannot say what caused it to disappear. So if noone else is having this problem we can close this bug, right?
Comment 34 Jeremy Huddleston (RETIRED) gentoo-dev 2005-01-07 01:32:56 UTC
closing then... if it happens again, please reopen