When I begin to play a song in XMMS, my panel crashes. This does not happen when I pause/resume, but does happen whenever I stop & play as well as when I skip back or forward in the playlist. Reproducible: Always Steps to Reproduce: 1. Make sure panel is running 2. Play song in XMMS Actual Results: Panel disappears Expected Results: Not disappeared I'm running gentoo 2.6.11, with xfce 4.2.0, gtk+ 2.6.2, and xmms 1.2.10.
The only reason I can think of is that it is related to the xmms plugin. Do you use that? If not, do you have it installed?
I'm using another computer right now that also has gentoo/xfce4/xmms on it, and the panel does not crash. So, I'm trying to discover what differences I can. They both have the exact same xfce4 packages installed, which do not include the xmms panel plugin. They both have the same version of xmms, though my stable computer has some extra xmms input plugins. The only other related difference I can think of is that I use Madman on the buggy computer. So, I just installed Madman on my stable computer, and it stayed stable. For what it's worth, I'm also having issues with Xine not working on the buggy computer, and trying to run Xine also crashes the panel. Since Xine is having its own issues, I was going to wait on that possible bug. Anything else you know of that I should look at?
Ah, here's something informative. The following appears on my login terminal whenever the panel crashes: ** (xfce-panel:1005): WARNING **: alsa_cb
Removing the Volume Control plugin from the panel stops the crashing. I tried switching plugin settings, selecting various devices (default, #0: Sound Blaster Audigy), but that didn't help.
Aha, yes, this is an alsa issue. Perhaps you use oss or oss emulation on the 'stable' computer? It seems that certain alsa components or as it now seems alsa-using programs kill all programs holding alsa resources (like the olume plugin). I think this may be a bug in alsa. Danny, adding you to the CC, what do you think?
oooh what do I read ? Someone for which alsa_cb does get called ! come here :) seriously though, lib/vc_alsa.c line 407 (function alsa_cb) should read: if (mycb) (*mycb) (which, mydata); then it should work I will fix every imaginable cvs branch shortly :)
btw what sound card do you have ?
I've got a Sound Blaster Audigy, the original plain vanilla one. And thanks!
I see I fixed cvs head and Tag Ixfce_4_2 now. But I need someone whose alsa_cb is actually called to test. Thanks :)
i have the exact same problem. the panel dies each time xmms changes song. running xfce4-panel from panel i can see: ** (xfce4-panel:16304): WARNING **: alsa_cb Segmentation fault too. i have a Soundblaster Live! card (emu10k1 module). i am also running gentoo, linux kernel v2.6.11.5 (plain, vanilla sources). in XMMS, i've tried both the OSS Driver (libOSS.so, v1.2.10) output plugin and ALSA v1.2.10 output plugin. it crashes in both cases. ( I dont know why I can use both, since i use ALSA, but im no expert :) )
Tobias: did you try cvs xfce4-mixer ? I should have fixed the problem, see above. If not, I'd be grateful if you ran gdb xfce4-mixer and run and bt Thank you
Tobias: btw you can use both oss and alsa with alsa because alsa supports oss emulation (snd-pcm-oss kernel module). Although the mixer controls for oss are kind of limited.
*** Bug 885 has been marked as a duplicate of this bug. ***
try changing the function to this: static int alsa_cb(snd_mixer_t *ctl, unsigned int mask, snd_mixer_elem_t *elem) { const char *which; g_warning ("alsa_cb\n"); if (elem && snd_mixer_elem_get_type (elem) == SND_MIXER_ELEM_SIMPLE) { which = snd_mixer_selem_get_name (elem); } else { which = NULL; } if (mycb) (*mycb) (which, mydata); return 0; }
I tried the short fix if (mycb) (*mycb) (which, mydata); by downloading vc_alsa.c from cvs and doing a manual ebuild install, swaping this one file. Panel still crashes.
seems to be an alsa bug, unless someone can tell me what is wrong with this: http://ifurita.kicks-ass.net/testalsa/testalsa2.c
using this: http://ifurita.kicks-ass.net/testalsa/testalsa5.c with this: while true ; do xmms --play ; sleep 1 ; done still crashes. No clue whats wrong.
holey backtrace is http://ifurita.kicks-ass.net/testalsa/testalsa.log
(alsa-lib 1.0.8 with gentooish patch: GNU nano 1.3.4 File: alsa-lib-mixer.patch --- src/mixer/bag.c.old 2005-03-16 14:39:05.000000000 +0900 +++ src/mixer/bag.c 2005-03-16 14:39:26.000000000 +0900 @@ -59,6 +59,7 @@ bag1_t *b = list_entry(pos, bag1_t, list); if (b->ptr == ptr) { list_del(&b->list); + free(b); return 0; } } )
I have the same problem.. the strangest thing is that this only begun 2 days ago. Before that, without upgrading anything (which i know of), i have never had xfce4-panel crashing on me. my setup: linux 2.6.10 alsadriver 1.0.8 Following the instructions from dannym i get the following result when playing in xmms (and any other application that uses alsa, for example using aplay to notify about new mail) ---------------------------------------- Starting program: /usr/bin/xfce4-panel (no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)... (no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)... (no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)... (no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)... (no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)... (no debugging symbols found)...(no debugging symbols found)...(no debugging symbols found)... (no debugging symbols found)...[Thread debugging using libthread_db enabled] [New Thread -1219066176 (LWP 9938)] (xfce4-panel:9938): Gdk-CRITICAL **: gdk_draw_rectangle: assertion `GDK_IS_GC (gc)' failed bt libcurl.so.2: cannot open shared object file: No such file or directory ** (xfce4-panel:9938): WARNING **: alsa_cb Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1219066176 (LWP 9938)] 0x14ec8300 in ?? () (gdb) bt #0 0x14ec8300 in ?? () #1 0xb703a4d1 in snd_mixer_elem_empty () from /usr/lib/libasound.so.2 #2 0x00000003 in ?? () #3 0x0819da68 in ?? () #4 0x084ffa00 in ?? () #5 0x08180cb0 in ?? ()
Ok, danny, it's now officially your bug ;-)
jasper: ok *scared* ... or rather, alsa's :)
people, try using this: http://ifurita.kicks-ass.net/testalsa/testalsa5.c with this: while true ; do xmms --play ; sleep 1 ; done (need to have something in the playlist, obviously. If you dont have xmms, aplay probably suffices too. Don't use oss stuff, though! Just alsa output!) should result in a pretty quick and reproducable crash for some people, and no crash at all (never) for everyone else. If it crashes, tell me data like: a) kernel version b) alsa-lib version c) alsa-driver version (if not kernel alsa) d) distribution e) soundcard f) alsa settings in /etc/asound.conf g) if you have debugging symbols, a gdb backtrace of the crash. If not, nevermind. I know the other one :) Thank you ! Note that this problem also manifests without using alsa callbacks myself (i.e. my first assumption that it just happens when registering a callback with alsa was wrong), so I would classify the bug as a major bug with the alsa project (after I got enough info).
btw, bug #906 is something related to kde stuff and alsa 1.0.9, with the same symptoms and similar backtrace. I wonder...
I am also experiencing this bug. OS is gentoo (stable, KEYWORDS=x86), alsa-lib-1.0.8, kernel 2.6.11-gentoo-r6, SB Audigy (emu10k1). /etc/asound.state: http://web.uvic.ca/~sjs/asound.state backtrace: http://web.uvic.ca/~sjs/xfce4-panel-bt I am unable to compile testalsa5.c with the command `gcc -o testalsa testalsa5.c`. What is the correct command to compile this test? gcc output is: % gcc -o testalsa testalsa5.c testalsa5.c:5:21: gtk/gtk.h: No such file or directory testalsa5.c:113: error: syntax error before "timer_vc_cb" testalsa5.c:113: error: syntax error before "data" testalsa5.c: In function `timer_vc_cb': testalsa5.c:120: error: `TRUE' undeclared (first use in this function) testalsa5.c:120: error: (Each undeclared identifier is reported only once testalsa5.c:120: error: for each function it appears in.) testalsa5.c: In function `main': testalsa5.c:132: error: `GSourceFunc' undeclared (first use in this function) testalsa5.c:132: error: syntax error before "timer_vc_cb" %
gcc -o testalsa testalsa5.c $(pkg-config --cflags --libs gtk+-2.0) -lasound
Thanks Danny, it compiled. Using testalsa5.c and playing a file in XMMS (or even just running Xfmedia) causes it to dump core. I think this is the same as bug #875, if I have some time I hope to be able to track down at least the source of the problem, even if I cannot fix it.
I am pretty sure that this is a bug in alsa. Maybe submit a bugreport with alsa mentioning this bug, the test program, and the test procedure, and the result, so they can have a look at it. Unless I'm doing something completely wrong in the test program (which i now checked 5 times and didnt find anything), the bug is with alsa (and only some versions of it, so be sure to include detailed version info)
See my comment in bug #875: http://bugzilla.xfce.org/show_bug.cgi?id=875#c13 I will attempt to use the latest kernel and alsa-lib to see if the problem is still there. If it is still present then I will do my best to register on alsa's bug tracker and see if they can help us out. I find it very strange that xfmedia and xfce4-mixer experience this problem, but both the alsa output plugin for XMMS and alsamixer do not. Perhaps if I have time I could compare alsa calls in these programs to see how they differ.
The problem is that the bug doesnt happen for me and I dont know how to provoke it. So "comparing" the source code would involve large analysis steps. As an alternative, can you try ripping parts of testalsa5 out and see when the minimum situation is where it still happens? Thanks :)
I started my summer classes yesterday so I may not get to this right away, but I will try and isolate the problem code relatively soon.
Please do not forget to look at this and give me more info. It does not happen to me and i'm fairly sure its a alsa-lib and/or gentoo alsa patch bug that just happens to hit xfce4 mixer. I'm setting to remind until someone shed a light on this.