Hello all,
While debugging a segfault-on-startup issue with Mixxx (
https://bugs.launchpad.net/mixxx/+bug/505643) I think I have found an issue
with the PortAudio JACK backend.
The long and short of that bug is that while starting Mixxx we help the user
configure their audio device. If a certain device does not open we present a
help dialog which lets them jump to the preferences where they can
reconfigure their output device. One of our users reported a segfault during
this process while using JACK.
I've found using r1539 (latest) of the PortAudio SVN, the following simple
program segfaults while I have JACK running like so:
pasuspender jackd -- -d alsa -d hw:0
I use pasuspender to tell PulseAudio to release my ALSA devices.
I am on x86_64 using Ubuntu 10.04 and I have enabled the ALSA, OSS, and JACK
backends. I configured PortAudio like so:
./configure --with-alsa --with-jack --with-oss --enable-debug-output
Here is the test program (adapted from patest_sine):
PaError err;
while(1) {
fprintf(stderr, "Initialize\n");
err = Pa_Initialize();
if (err == paNoError) {
fprintf(stderr, "Terminate\n");
Pa_Terminate();
} else {
fprintf( stderr, "Error number: %d\n", err );
fprintf( stderr, "Error message: %s\n", Pa_GetErrorText( err ) );
}
}
When I run this, if I am not running JACK, the while loop continues
indefinitely with no errors. The moment I start jackd, the program segfaults
with this glibc error:
*** glibc detected ***
/home/rryan/Code/portaudio-trunk/bin/.libs/patest_sine: corrupted
double-linked list: 0x00000000006258e0 ***
Inconsistency detected by ld.so: dl-open.c: 221: dl_open_worker: Assertion
`_dl_debug_initialize (0, args->nsid)->r_state == RT_CONSISTENT' failed!
There is no backtrace available, I assume because the stack is corrupted. A
copy of a GDB session with me running this is here:
http://pastebin.ca/1943326
There is one other failure mode. If I run the program without JACK running,
then it works fine. The moment I start JACK as above, I get a different
segfault: http://pastebin.ca/1943325
Note the JACK API error immediately preceding the segfault.
I hope this is enough information to go after this.
Thanks very much,
RJ Ryan
------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
Mixxx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mixxx-devel