From: Tim E. R. <ter...@ro...> - 2013-04-21 20:15:50
|
On April 14, 2013 02:53:16 PM Robert Jonsson wrote: > Hi guys, > > I've been meaning to send this and/or debug it but it keeps elluding me. > > Sometimes when I start MusE without jack running I get the following crash. > Config File </home/ddskrjo/.config/MusE/MusE.cfg> > LOCALE en_US > Denormal protection enabled. > jackd 0.122.0 > Copyright 2001-2009 Paul Davis, Stephane Letz, Jack O'Quinn, Torben > Hohn and others. > jackd comes with ABSOLUTELY NO WARRANTY > This is free software, and you are welcome to redistribute it > under certain conditions; see the file COPYING for details > > JACK compiled with System V SHM support. > loading driver .. > creating alsa driver ... hw:0|hw:0|1024|2|48000|0|0|nomon|swmeter|-|32bit > control device hw:0 > configuring for 48000Hz, period = 1024 frames (21.3 ms), buffer = 2 periods > ALSA: final selected sample format for capture: 32bit integer little-endian > ALSA: use 2 periods for capture > Floating point exception (core dumped) > > ------ > The core says pretty much nothing, I think it happens more often when > the build does not have debug symbols. > +++++ > Core was generated by `muse2'. > Program terminated with signal 8, Arithmetic exception. > #0 0x0804fa52 in main () > (gdb) bt > #0 0x0804fa52 in main () > (gdb) thread > [Current thread is 1 (Thread 0xb52e2740 (LWP 4384))] > (gdb) thread 2 > [Switching to thread 2 (Thread 0xb1450b40 (LWP 4385))] > #0 0xb775d424 in __kernel_vsyscall () > (gdb) bt > #0 0xb775d424 in __kernel_vsyscall () > #1 0xb5bb296b in pthread_cond_wait@@GLIBC_2.3.2 () from > /lib/i386-linux-gnu/libpthread.so.0 > #2 0xb62f664c in pthread_cond_wait () from /lib/i386-linux-gnu/libc.so.6 > #3 0xb5a5833c in ?? () from /usr/lib/i386-linux-gnu/libjack.so.0 > #4 0xb5baed4c in start_thread () from /lib/i386-linux-gnu/libpthread.so.0 > #5 0xb62e8d3e in clone () from /lib/i386-linux-gnu/libc.so.6 > +++++ > > Anyone else have seen this? It seems to happen more often the first > time I start MusE.. but not really sure. > > Regards > Robert > (Sorry for the delay, been sick last week, better now.) Hm, OK I can think of a couple of possible causes: Do you run muse with the -L switch? Otherwise LA(DI)SH will try to start Jack, maybe there's competition between it and our own (-J) auto-starting of Jack ? The other possibility is this: I see you are using Jack-1. Not sure about Jack-1 but there was a bug in Jack-2 that caused MusE to occasionally crash on startup. I added a workaround for pre- Jack-1.9.9 versions which involves a time delay. It is possible this time delay, in your case, is not enough: In main.cpp around line 658: ================================== // WARNING Must do it this way. Call registerClient long AFTER Jack client is // created and MusE ALSA client is // created (in initMidiDevices), otherwise random crashes can occur within // Jack <= 1.9.8. Fixed in Jack 1.9.9. Tim. MusECore::initMidiDevices(); // Wait until things have settled. One second seems OK so far. for(int t = 0; t < 100; ++t) usleep(10000); // Now it is safe to call registerClient. MusEGlobal::audioDevice->registerClient(); ================================== Tip: To coax the problem out, try *reducing* or eliminating that delay and see if it happens more frequently. IIRC it happened more with lower Jack periods. Hope that helps, lemme know because I should report this to Mr. Letz who helped me with Jack-2 and corrected it in Jack-1.9.9. Tim. |