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\...@~\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\...@\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\...@\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\...@\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 -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org