Bug#584605: audacity: Backtrace, as requested...
Dave Witbrodt
dawitbro at sbcglobal.net
Sun Jun 13 02:34:22 UTC 2010
Package: audacity
Version: 1.3.12-3
Severity: normal
Sorry for the delay of 5 days on this. I installed the 'audacity-dbg'
package, and produced the following session with 'gdb':
----------
$ gdb /usr/bin/audacity
GNU gdb (GDB) 7.1-debian
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/bin/audacity...Reading symbols from /usr/lib/debug/usr/bin/audacity...done.
done.
(gdb) run
Starting program: /usr/bin/audacity
[Thread debugging using libthread_db enabled]
[New Thread 0x7fffe8d39710 (LWP 314)]
Cannot connect to server socket err = No such file or directory
Cannot connect to server socket
jack server is not running or cannot be started
[Thread 0x7fffe8d39710 (LWP 314) exited]
[New Thread 0x7fffe8ba9710 (LWP 315)]
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff37a13d8 in snd_mixer_selem_get_index () from /usr/lib/libasound.so.2
(gdb) bt
#0 0x00007ffff37a13d8 in snd_mixer_selem_get_index () from /usr/lib/libasound.so.2
#1 0x000000000085e917 in open_mixer (dev=0xfd2670, card=<value optimized out>, playback=<value optimized out>) at src/px_linux_alsa.c:214
#2 0x000000000085ec17 in OpenMixer_Linux_ALSA (Px=0xfc6ec0, index=<value optimized out>) at src/px_linux_alsa.c:296
#3 0x000000000085d383 in Px_OpenMixer (pa_stream=0xfc5a90, i=0) at src/px_mixer.c:155
#4 0x000000000051d23f in AudioIO::HandleDeviceChange (this=0xe89c30) at AudioIO.cpp:573
#5 0x000000000051d774 in AudioIO (this=0xe89c30) at AudioIO.cpp:351
#6 0x000000000051d874 in InitAudioIO () at AudioIO.cpp:216
#7 0x0000000000517342 in AudacityApp::OnInit (this=0xddc290) at AudacityApp.cpp:1057
#8 0x00007ffff6d1c632 in wxEntry(int&, wchar_t**) () from /usr/lib/libwx_baseu-2.8.so.0
#9 0x0000000000512f02 in main (argc=1, argv=0x9ea3c3) at AudacityApp.cpp:626
----------
The full backtrace looked like this:
----------
#0 0x00007ffff37a13d8 in snd_mixer_selem_get_index () from /usr/lib/libasound.so.2
No symbol table info available.
#1 0x000000000085e917 in open_mixer (dev=0xfd2670, card=<value optimized out>, playback=<value optimized out>) at src/px_linux_alsa.c:214
iname = '\000' <repeats 24 times>, "0\000\000\000\000\000\000\000\230~\264\362\377\177\000\000\250~\264\362\377\177\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\263\016\000\000\003\000\000\000P~\264\362\377\177\000\000P\000\000\000\000\000\000\000\030\335\377\377\003\000\000\000 \335\377\377\377\177\000\000\000[\374\000\000\000\000\000@~\264\362\377\177\000\000 ", '\000' <repeats 15 times>, "\001", '\000' <repeats 15 times>, "p\031\206\362\377\177\000\000\000\200\000\000\000\000\000\000\000[\374\000\000\000\000\000\260\016\000\000\000\000\000\000\260\016", '\000' <repeats 14 times>, "9ȅ", '\000' <repeats 17 times>"\200, \210\345@\003\000\000\000\000\000\000\000\220Z\374\000\000\000\000\000\000[\374\000\000\000\000\000\220\335\377\377\377\177\000"
cnt = 4294967274
j = 826
vol = 0x0
err = <value optimized out>
i = <value optimized out>
elem = 0xf867a0
name = ":0\000\060\000\000\000\000\200j\350\000\000\000\000\000\003\000\000\000\000\000\000\000\202\003\205\000\000\000\000\000\001\000\000\000\000\000\000\000\003", '\000' <repeats 15 times>"\254, \003\000\000\000\000\000\000\001\000\000\000\377\177\000\000@\232Q", '\000' <repeats 13 times>"\200, \336\377\377\377\177\000\000\220]\374\000\000\000\000\000\000\000\000\000\200\210\345@\001\000\000\000\001\000\000\000\001\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000`\000\000\000\000\000\000\000\230~\264\362\377\177\000\000\250~\264\362\377\177\000\000H\263g\256\031Τ?P\000\000\000\000\000\000\000\240\335\377\377\006\000\000\000h~\264\362\377\177\000\000\200\000\000\000\000\000\000\000\360\000\000\000\006\000\000\000\230~\264\362\377\177\000\000\300n\374\000\000\000\000\000Pz\002\000\000\000\000\000\260\265\375\000\000\000\000\000P\000\000\000\000\000\000\000*\254\204\000\000\000\000"
#2 0x000000000085ec17 in OpenMixer_Linux_ALSA (Px=0xfc6ec0, index=<value optimized out>) at src/px_linux_alsa.c:296
card = 0
#3 0x000000000085d383 in Px_OpenMixer (pa_stream=0xfc5a90, i=0) at src/px_mixer.c:155
good = <value optimized out>
#4 0x000000000051d23f in AudioIO::HandleDeviceChange (this=0xe89c30) at AudioIO.cpp:573
recDeviceNum = <value optimized out>
stream = 0xfc5a90
playDeviceNum = <value optimized out>
numrates = <value optimized out>
highestSampleRate = <value optimized out>
error = 16541152
playbackParameters = {device = 26, channelCount = 1, sampleFormat = 1, suggestedLatency = 0.042653061224489794, hostApiSpecificStreamInfo = 0x0}
captureParameters = {device = 0, channelCount = 1, sampleFormat = 1, suggestedLatency = 0.011609977324263039, hostApiSpecificStreamInfo = 0x0}
inputVol = 0
#5 0x000000000051d774 in AudioIO (this=0xe89c30) at AudioIO.cpp:351
err = <value optimized out>
#6 0x000000000051d874 in InitAudioIO () at AudioIO.cpp:216
No locals.
#7 0x0000000000517342 in AudacityApp::OnInit (this=0xddc290) at AudacityApp.cpp:1057
future1 = {<wxStringBase> = {static npos = 18446744073709551615, m_pchData = 0xdea9e8 L"Master Gain Control"}, <No data fields>}
lang = {<wxStringBase> = {static npos = 18446744073709551615, m_pchData = 0xe88748 L"en"}, <No data fields>}
pWnd = <value optimized out>
appName = {<wxStringBase> = {static npos = 18446744073709551615, m_pchData = 0xdea908 L"audacity"}, <No data fields>}
future2 = {<wxStringBase> = {static npos = 18446744073709551615, m_pchData = 0xddc718 L"Input Meter"}, <No data fields>}
home = {<wxStringBase> = {static npos = 18446744073709551615, m_pchData = 0xdec0e8 L"/home/dawitbro"}, <No data fields>}
pathVar = {<wxStringBase> = {static npos = 18446744073709551615, m_pchData = 0x7ffff6d98678 L""}, <No data fields>}
tmpFile = {m_volume = {<wxStringBase> = {static npos = 18446744073709551615, m_pchData = 0x7ffff6d98678 L""}, <No data fields>}, m_dirs = {m_nSize = 16, m_nCount = 1, m_pItems = 0xe831c0,
m_autoSort = false}, m_name = {<wxStringBase> = {static npos = 18446744073709551615, m_pchData = 0xe82ad8 L"nnI9gJuj"}, <No data fields>}, m_ext = {<wxStringBase> = {
static npos = 18446744073709551615, m_pchData = 0x7ffff6d98678 L""}, <No data fields>}, m_relative = false, m_hasExt = false}
project = <value optimized out>
vendorName = {<wxStringBase> = {static npos = 18446744073709551615, m_pchData = 0xdea978 L"audacity"}, <No data fields>}
future3 = {<wxStringBase> = {static npos = 18446744073709551615, m_pchData = 0xdeaa98 L"Output Meter"}, <No data fields>}
tmpDirLoc = {<wxStringBase> = {static npos = 18446744073709551615, m_pchData = 0xe82bd8 L"/tmp"}, <No data fields>}
didRecoverAnything = <value optimized out>
#8 0x00007ffff6d1c632 in wxEntry(int&, wchar_t**) () from /usr/lib/libwx_baseu-2.8.so.0
No symbol table info available.
#9 0x0000000000512f02 in main (argc=1, argv=0x9ea3c3) at AudacityApp.cpp:626
No locals.
----------
Looking at the values of "j" (826) and "cnt" (4294967274) at the time of the crash,
they look out of the ballpark to me. This is the loop being iterated (in
lib-src/portmixer/src/px_linux_alsa.c) which hits those values:
else if (snd_mixer_selem_is_enum_capture(elem)) {
unsigned int cnt = snd_mixer_selem_get_enum_items(elem);
unsigned int j;
for (j = 0; j < cnt; j++) {
char iname[256];
snd_mixer_selem_get_enum_item_name(elem, j, sizeof(iname), iname);
snprintf(name,
sizeof(name),
"%s:%d",
iname,
snd_mixer_selem_get_index(elem));
dev->selems[i].vol = vol;
dev->selems[i].item = j;
dev->selems[i].elem = elem;
dev->selems[i].index = snd_mixer_selem_get_index(elem);
dev->selems[i].name = strdup(name);
if (!dev->selems[i].name) {
break;
}
i++;
}
The huge value for "cnt" suggests that snd_mixer_selem_get_enum_items() is
returning a negative number here, but upstream has coded this function to store
the return value in an unsigned int (and not bother to check it!).
Looking for some documentation, I found:
http://www.alsa-project.org/alsa-doc/alsa-lib/group___simple_mixer.html#g23600e756612dca7ea8329994590fa19
int snd_mixer_selem_get_enum_items (snd_mixer_elem_t *elem)
Return the number of enumerated items of the given mixer simple element.
Parameters:
elem Mixer simple element handle
Returns:
the number of enumerated items, otherwise a negative error code
Oops! This thing can return negative numbers, but upstream thought it wouldn't
happen.
What I would really like (from upstream? from a Debian patch?) is for 'audacity'
to be able to run long enough for me to be able to configure it properly. On my
system, ALSA picks up 3 different sound devices when the kernel boots, and the
proper "card" to use for output is not the default card #0:
$ dmesg | grep -i -A 3 alsa
ALSA device list:
#0: E-mu 0404b PCI [MAEM8852] (rev.0, serial:0x40021102) at 0xe800, irq 23
#1: HDA ATI SB at 0xfe7f0000 irq 16
#2: HDA ATI HDMI at 0xfe8ec000 irq 32
The first device is an inexpensive DSP card I use to plug in guitars; the second
is the sound chipset on my motherboard (which would otherwise have been the
default) and which I would like to use for sound output (/etc/asound.conf is
configured for that purpose); and the third device the the HDMI outputs on my
video card.
As I mentioned when opening this bug report: the last time I used 'audacity'
it worked fine. That was probably in January, unfortunately, and there have
probably been several upgrades in versions of 'audacity' since then. I cannot
say which upgrade version first showed this regression; I cannot even say
which was the last working version! Sorry about that.
If I can provide more information, test any patches, or be of help in some
other way just let me know.
Thanks,
Dave W.
PS: Sid changes frequently, and I upgraded from ALSA 1.0.22 to 1.0.23 (no
change in 'audacity' regression behavior) to allow some other software to be
brought in, so I am allowing 'reportbug' to list the full set of system
information again. It's probably irrelevant, so sorry for the spam, but
Just In Case....
-- System Information:
Debian Release: squeeze/sid
APT prefers unstable
APT policy: (990, 'unstable'), (350, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.34+drt100429.0818fe9.desktop.kms (SMP w/4 CPU cores; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages audacity depends on:
ii audacity-data 1.3.12-3 A fast, cross-platform audio edito
ii libasound2 1.0.23-1 shared library for ALSA applicatio
ii libc6 2.11.1-3 Embedded GNU C Library: Shared lib
ii libexpat1 2.0.1-7 XML parsing C library - runtime li
ii libflac++6 1.2.1-2+b1 Free Lossless Audio Codec - C++ ru
ii libflac8 1.2.1-2+b1 Free Lossless Audio Codec - runtim
ii libgcc1 1:4.4.4-5 GCC support library
ii libglib2.0-0 2.25.8-1 The GLib library of C routines
ii libgtk2.0-0 2.21.2-1+xidfix The GTK+ graphical user interface
ii libid3tag0 0.15.1b-10 ID3 tag reading library from the M
ii libjack0 1.9.5~dfsg-13 JACK Audio Connection Kit (librari
ii libmad0 0.15.1b-5 MPEG audio decoder library
ii libogg0 1.2.0~dfsg-1 Ogg bitstream library
ii libsamplerate0 0.1.7-3 Audio sample rate conversion libra
ii libsndfile1 1.0.21-2 Library for reading/writing audio
ii libsoundtouch1c2 1.3.1-2 sound stretching library
ii libstdc++6 4.4.4-5 The GNU Standard C++ Library v3
ii libtwolame0 0.3.12-1 MPEG Audio Layer 2 encoding librar
ii libvamp-hostsdk3 2.1-1 helper library for Vamp hosts writ
ii libvorbis0a 1.3.1-1 The Vorbis General Audio Compressi
ii libvorbisenc2 1.3.1-1 The Vorbis General Audio Compressi
ii libvorbisfile3 1.3.1-1 The Vorbis General Audio Compressi
ii libwxbase2.8-0 2.8.10.1-3 wxBase library (runtime) - non-GUI
ii libwxgtk2.8-0 2.8.10.1-3 wxWidgets Cross-platform C++ GUI t
Versions of packages audacity recommends:
ii libavcodec52 5:0.6~svn20100603-0.0 library to encode decode multimedi
ii libavformat52 5:0.6~svn20100603-0.0 ffmpeg file format library
Versions of packages audacity suggests:
pn ladspa-plugin <none> (no description available)
ii libmp3lame0 3.98.4-0.0 LAME Ain't an MP3 Encoder
-- no debconf information
More information about the pkg-multimedia-maintainers
mailing list