Summary: | media-sound/audacity-1.3.10/1.3.11 crashes when starting with error audacity: pcm_plug.c:388: snd_pcm_plug_change_channels: Assertion `snd_pcm_format_linear(slv->format)' failed | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Etienne Hilson <etienne.hilson> |
Component: | Current packages | Assignee: | Professional Audio Applications Maintainers <proaudio> |
Status: | RESOLVED WORKSFORME | ||
Severity: | normal | CC: | ago, online, richard, write2David |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Etienne Hilson
2010-01-31 14:23:04 UTC
I have the same problem. Downgrading Audacity doesn't solve it for me. I had same problem when used JACK and had following in .asoundrc: pcm.!default { type plug slave { pcm "jack" } } [...] A fix was to rename plug (!default -> plugjack or so), start audacity, configure audio-in and audio-out to JACK. After that I returned asoundrc to previous state, and audacity started without a problem. Although this was nearly 6 months ago, so I don't know can it help or not. The message audacity: pcm_plug.c:388: snd_pcm_plug_change_channels: Assertion `snd_pcm_format_linear(slv->format)' failed. is not the cause of the crash, as this message is encountered even when Audacity is working. If this is still a problem in 1.3.12 (#312837), can reporters confirm that they are 1) using Jack 2) building Audacity with the jack use-flag 3) have set their .asoundrc to divert ALSA default output to Jack? Sorry, no more on gentoo :-( impossible to redo the test. You can close the bug. Well, I'm not on gentoo (ubuntu lucid, with audacity 1.3.12 from a ppa) but I can confirm that 1. I try to route stuff to jack via .asoundrc 2. audacity 1.3.12 still crashes: audacity: pcm_plug.c:388: snd_pcm_plug_change_channels: Assertion `snd_pcm_format_linear(slv->format)' failed. Program received signal SIGABRT, Aborted. 0x00007ffff2779a75 in raise () from /lib/libc.so.6 (gdb) where #0 0x00007ffff2779a75 in raise () from /lib/libc.so.6 #1 0x00007ffff277d5c0 in abort () from /lib/libc.so.6 #2 0x00007ffff2772941 in __assert_fail () from /lib/libc.so.6 #3 0x00007ffff371b86a in ?? () from /usr/lib/libasound.so.2 #4 0x00007ffff371c423 in ?? () from /usr/lib/libasound.so.2 #5 0x00007ffff3704f6a in ?? () from /usr/lib/libasound.so.2 #6 0x00007ffff3700b93 in snd_pcm_hw_params () from /usr/lib/libasound.so.2 #7 0x000000000084ef3d in ?? () #8 0x000000000084a588 in Pa_IsFormatSupported () #9 0x000000000051b1ae in AudioIO::GetSupportedPlaybackRates(int, double) () #10 0x000000000051d0ea in AudioIO::HandleDeviceChange() () #11 0x000000000051d8b4 in AudioIO::AudioIO() () #12 0x000000000051d9b4 in InitAudioIO() () #13 0x0000000000517452 in AudacityApp::OnInit() () #14 0x00007ffff6d37422 in wxEntry(int&, wchar_t**) () from /usr/lib/libwx_baseu-2.8.so.0 #15 0x0000000000513002 in main () 3. Somehow I managed to kill jackd while running audacity in gdb. Might be concidence (I have some background computing going on, network transfer, ardour2 open) -- at least it is another sign that I probably never will get a stable setup with my firewire device. Even had to power cycle it to make it talk to jackd again. I wonder if someone reported this to audacity folks yet? Or rather portaudio? Eh, wait... the assert fails in ALSA ... so it's a but in libasound? It should rather gracefully handle any question that audacity / portaudio pose. I can confirm this on gentoo. (In reply to comment #3) > If this is still a problem in 1.3.12 (#312837), can reporters confirm that they are > 1) using Jack Yes. 0.118.0: 3dnow alsa mmx sse > 2) building Audacity with the jack use-flag Yes. 1.3.12: alsa ffmpeg flac jack ladspa mp3 vorbis > 3) have set their .asoundrc to divert ALSA default output to Jack? Yes. To get Audacity start, I had to start it without the default divert in .asoundrc (3). After that, I could configure Audacity and restore the .asoundrc. Here are some of the differences to audacity.cfg after that: -Version=1.3.7 +Version=1.3.12-beta [AudioIO] PlaybackDevice=JACK Audio Connection Kit: system -RecordingDevice=ALSA: Aureal Vortex au8820: adb (hw:1,0) +RecordingDevice=JACK Audio Connection Kit: JackMix +Host=JACK Audio Connection Kit If I delete the audacity.cfg I just fixed, I get back to the same "audacity: pcm_plug.c:388:" -assert error. Without the .asoundrc, audacity starts with message: Expression 'stream->capture.pcm' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 3653 That detects and saves the default config. Here is the diff to get back to working jack setup: [AudioIO] -RecordingDevice=ALSA: default +RecordingDevice=JACK Audio Connection Kit: JackMix -PlaybackDevice=ALSA: Intel ICH5: Intel ICH5 (hw:2,0) +PlaybackDevice=JACK Audio Connection Kit: system -Host=ALSA +Host=JACK Audio Connection Kit I get the same error (in Gentoo) with Audacity versions 1.3.8 and 1.3.12. Audacity would die either immediately after the first-run "Select Language" screen, or immediately. Ubuntu users seem to also have reported this issue [1]. And as mentioned in the comments for this bug above, they related it to the issue with using "Jack". However, re-emerging Audacity without the "jack" USE flag did not help. The only thing that allows Audacity to run successfully (for me, at least) is to rename ~/.asoundrc (like: 'mv .asoundrc .asoundrc2') Then, after Audacity runs, I can rename that file back to its original name. Or, from within Audacity, I can go Edit->Preferences->Devices->Recording and then move the selection off of "Default." Now Audacity will run even with ~/.asoundrc I noticed that Comment #2 (from Simeon) looks helpful, but I don't have anything related to "jack" in my .asoundrc file. My hunch is that Audacity can't handle certain types of items in .asoundrc. I'll copy/paste my .asoundrc file [2]. [1] https://bugs.launchpad.net/ubuntu/+source/audacity/+bug/159671 [2] My .asoundrc file: # Taken from: http://www.thedigitalmachine.net/alsaequal.html ctl.equal { type equal; } pcm.plugequal { type equal; # Modify the line below if you don't # want to use sound card 0. slave.pcm "plughw:0,0"; } #pcm.equal { # Or if you want the equalizer to be your # default soundcard uncomment the following # line and comment the above line. pcm.!default { type plug; slave.pcm plugequal; } (In reply to comment #3) If this is still a problem in 1.3.12 (#312837), can > reporters confirm that they are > 1) using Jack > 2) building Audacity with the jack use-flag > 3) have set their .asoundrc to divert ALSA default output to Jack? I confirm the systematic occurrence of this problem with 1.3.12 1/ Using Jack And 2/ Building Audacity with the jack use-flag And 3/ Diverting ALSA default output to Jack via /etc/asound.conf Following my asound.conf : pcm.!default { type plug slave { pcm "jack" }} pcm.jackplug { type plug slave { pcm "jack" }} pcm.jack { type jack playback_ports { 0 alsa_pcm:playback_1 1 alsa_pcm:playback_2 } capture_ports { 0 alsa_pcm:capture_1 1 alsa_pcm:capture_2}} Is this still an issue in 1.3.13? Audacity-1.3-14 will be removed ASAP, can you reproduce this bug with latest stable 2.0.0? No response since 2011-08-23 after Tim comment, close for now. |