Created attachment 90991 [details] gc_message1.wav, found in /usr/share/gajim/data/sounds/gc_message1.wav on my system Gajim bundles .wav files used when notifying the user of events, such as being highlighted in group conversations. Upon playing one of these files (see attached files), pulseaudio crashes due to an assertion: E: [pulseaudio] volume.c: Assertion '!map || (map->channels == c->channels)' failed at pulse/volume.c:378, function pa_cvolume_snprint_verbose(). Aborting. Stack trace as follows #0 0x00007ffff4582319 in raise () from /usr/lib/libc.so.6 #1 0x00007ffff4583718 in abort () from /usr/lib/libc.so.6 #2 0x00007ffff73b356b in pa_cvolume_snprint_verbose () from /usr/lib/libpulse.so.0 #3 0x00007ffff7b61cbb in ?? () from /usr/lib/libpulsecore-4.0.so #4 0x00007ffff7b69ae3 in pa_cli_command_execute_line_stateful () from /usr/lib/libpulsecore-4.0.so #5 0x00007fffdfdfe1ca in ?? () from /usr/lib/pulse-4.0/modules/libcli.so #6 0x00007ffff6ca31b7 in ?? () from /usr/lib/pulseaudio/libpulsecommon-4.0.so #7 0x00007ffff73a19e4 in pa_mainloop_dispatch () from /usr/lib/libpulse.so.0 #8 0x00007ffff73a1dba in pa_mainloop_iterate () from /usr/lib/libpulse.so.0 #9 0x00007ffff73a1e60 in pa_mainloop_run () from /usr/lib/libpulse.so.0 #10 0x0000000000406cb1 in main (argc=<optimized out>, argv=<optimized out>) at daemon/main.c:1146
Can you install debug symbols for pulseaudio and libpulse and get a new stack trace?
It seems I forgot to add LD_LIBRARY_PATH to my environment. Still, .so-files from /usr/lib are loaded for libcli and libpulsecommon, but for now, this might be sufficient. #0 0x00007ffff4584319 in raise () from /usr/lib/libc.so.6 #1 0x00007ffff4585718 in abort () from /usr/lib/libc.so.6 #2 0x00007ffff73b4cfb in pa_cvolume_snprint_verbose (s=s@entry=0x7fffffffd9e0 "mono: 65536 / 100% / 0.00 dB", l=l@entry=1984, c=c@entry=0x75c13c, map=<optimized out>, print_dB=print_dB@entry=1) at pulse/volume.c:369 #3 0x00007ffff7b6248b in pa_cli_command_dump_volumes (c=0x644d40, t=<optimized out>, buf=0x68c7d0, fail=0x6703f8) at pulsecore/cli-command.c:1931 #4 0x00007ffff7b6a223 in pa_cli_command_execute_line_stateful (c=0x644d40, s=<optimized out>, buf=0x68c7d0, fail=0x6703f8, ifstate=<optimized out>) at pulsecore/cli-command.c:2136 #5 0x00007fffdfdfe1ca in ?? () from /usr/lib/pulse-4.0/modules/libcli.so #6 0x00007ffff6ca51b7 in ?? () from /usr/lib/pulseaudio/libpulsecommon-4.0.so #7 0x00007ffff73a3214 in dispatch_pollfds (m=0x640b40) at pulse/mainloop.c:658 #8 pa_mainloop_dispatch (m=m@entry=0x640b40) at pulse/mainloop.c:905 #9 0x00007ffff73a35ea in pa_mainloop_iterate (m=m@entry=0x640b40, block=block@entry=1, retval=retval@entry=0x7fffffffe4a8) at pulse/mainloop.c:936 #10 0x00007ffff73a3690 in pa_mainloop_run (m=m@entry=0x640b40, retval=retval@entry=0x7fffffffe4a8) at pulse/mainloop.c:951 #11 0x0000000000406cb1 in main (argc=<optimized out>, argv=<optimized out>) at daemon/main.c:1146
Thank you! That trace was good enough for finding the bug. This is hopefully now fixed: http://cgit.freedesktop.org/pulseaudio/pulseaudio/commit/?id=5d2d9e57006c6509ef6d173b89502685ff429449 It's a mystery, though, what is actually happening. It looks like something is running "pacmd dump-volumes", which is not really expected if the crash is happening when Gajim tries to play some sound...
Ah, that must be due to my statusbar (for dwm) script running every other second or so. It uses 'pacmd dump-volumes' to read the current level. Either way, thanks for a quick fix! Works like a charm :)
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.