Segfault starting ardour2

Ardour post:

Hi,

I’ve been using ardour off and on for about 4 years, and I just downloaded and built ardour2-beta10 today. I’m running Ubuntu Edgy, and the build process went fine. Additionally, after starting ardour2 up and looking at it, I’ve gone from a casual user to a rabid fan. This is some of the coolest software I’ve used on any platform.

Of course, I’m here to talk about the problems I’m having. First, I can ardour 0.99 to send MMC/MTC to an external hardware device to start a bunch of MIDI sequences rolling when I press “play”. I can’t seem to get that to work with ardour2. I have all the settings at the same values (use MMC, Sync to JACK, etc.) but it won’t work. I’ve used the “trace sequencer MIDI output” option, and nothing appears on stdout like it does when I use the “trace control MIDI output” option. I’m guessing this is just not turned on yet or something?

The other (more serious problem): Although I can start ardour2, record, edit, etc., when I save a session and try to re-open it, ardour2 dies with a segfault. The odd thing is, it seems like I can open a saved project a couple of times before the problem occurs. I’ve tried this with a couple of different projects, and get the same results.

Nothing appears on stdout when I open projects that cause it to crash, other than the “Segmentation fault” error at the end.

Here’s the backtrace I got from running ardour2 in gdb:

-------------8<--------------------------
Thread 15 (Thread -1248330560 (LWP 16341)):
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb6c33803 in poll () from /lib/tls/i686/cmov/libc.so.6
#2 0xb7eac950 in ARDOUR::Session::midi_thread_work () from libs/ardour/libardour.so
#3 0xb7ead1e3 in ARDOUR::Session::_midi_thread_work () from libs/ardour/libardour.so
#4 0xb6ca9504 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#5 0xb6c3d51e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 14 (Thread -1247826752 (LWP 16340)):
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb6caf01e in __lll_mutex_lock_wait () from /lib/tls/i686/cmov/libpthread.so.0
#2 0xb6cab673 in _L_mutex_lock_49 () from /lib/tls/i686/cmov/libpthread.so.0
#3 0x00000000 in ?? ()

Thread 13 (Thread -1331700832 (LWP 16339)):
#0 0xb7edaf10 in ARDOUR::Session::start_locate () from libs/ardour/libardour.so
#1 0xb7e9fd9e in ARDOUR::Session::process_event () from libs/ardour/libardour.so
#2 0xb7ea0c1d in ARDOUR::Session::merge_event () from libs/ardour/libardour.so
#3 0xb7eb0937 in ARDOUR::Session::process_with_events () from libs/ardour/libardour.so
#4 0xb7eaed97 in ARDOUR::Session::process () from libs/ardour/libardour.so
#5 0xb7d4f288 in ARDOUR::AudioEngine::process_callback () from libs/ardour/libardour.so
#6 0xb7d4f733 in ARDOUR::AudioEngine::_process_callback () from libs/ardour/libardour.so
#7 0xb6da70fa in jack_client_close () from /usr/lib/libjack-0.100.0.so.0
#8 0xb6daa222 in jack_drop_real_time_scheduling () from /usr/lib/libjack-0.100.0.so.0
#9 0xb6ca9504 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#10 0xb6c3d51e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 12 (Thread -1365275456 (LWP 16338)):
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb6c33803 in poll () from /lib/tls/i686/cmov/libc.so.6
#2 0xb7d7485d in ARDOUR::AudioSource::peak_thread_work () from libs/ardour/libardour.so
#3 0xb6ca9504 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#4 0xb6c3d51e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 3 (Thread -1239388992 (LWP 16327)):
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb6cafbf6 in __nanosleep_nocancel () from /lib/tls/i686/cmov/libpthread.so.0
#2 0xb78fe2f2 in g_usleep () from /usr/lib/libglib-2.0.so.0
#3 0xb7020b2b in Glib::usleep () from libs/glibmm2/libglibmm2.so
#4 0xb7d4e8a9 in ARDOUR::AudioEngine::meter_thread () from libs/ardour/libardour.so
#5 0xb7d580cb in sigc::internal::slot_call0<sigc::bound_mem_functor0<void, ARDOUR::AudioEngine>, void>::call_it ()
from libs/ardour/libardour.so
#6 0xb7036148 in call_thread_entry_slot () from libs/glibmm2/libglibmm2.so
#7 0xb78fc38f in g_thread_create_full () from /usr/lib/libglib-2.0.so.0
#8 0xb6ca9504 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#9 0xb6c3d51e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 2 (Thread -1235628864 (LWP 16325)):
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb6c33803 in poll () from /lib/tls/i686/cmov/libc.so.6
#2 0xb7ef3e94 in ARDOUR::OSC::osc_receiver () from libs/ardour/libardour.so
#3 0xb7ef403b in ARDOUR::OSC::_osc_receiver () from libs/ardour/libardour.so
#4 0xb6ca9504 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#5 0xb6c3d51e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 1 (Thread -1233552768 (LWP 16324)):
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb6c2db6b in read () from /lib/tls/i686/cmov/libc.so.6
#2 0xb6bd0828 in _IO_file_read () from /lib/tls/i686/cmov/libc.so.6
#3 0xb6bd1bf1 in _IO_file_underflow () from /lib/tls/i686/cmov/libc.so.6
#4 0xb6bd37cd in __underflow () from /lib/tls/i686/cmov/libc.so.6
#5 0xb6bd0319 in _IO_file_seek () from /lib/tls/i686/cmov/libc.so.6
#6 0xb6bd2368 in _IO_sgetn () from /lib/tls/i686/cmov/libc.so.6
#7 0xb6bc6c6f in fread () from /lib/tls/i686/cmov/libc.so.6
#8 0xb7405ba9 in gdk_pixbuf_new_from_file () from /usr/lib/libgdk_pixbuf-2.0.so.0
#9 0xb6f75b38 in Gdk::Pixbuf::create_from_file () from libs/gtkmm2/gdk/libgdkmm2.so
#10 0x083f5b21 in get_icon ()
#11 0x08177aaa in RouteTimeAxisView::RouteTimeAxisView ()
#12 0x08186087 in AudioTimeAxisView::AudioTimeAxisView ()
#13 0x08283845 in Editor::handle_new_route ()
#14 0x08283f9e in Editor::initial_route_list_display ()
#15 0x081ed310 in Editor::connect_to_session ()
#16 0x08137db2 in ARDOUR_UI::connect_dependents_to_session ()
#17 0x0813a1d1 in ARDOUR_UI::connect_to_session ()
#18 0x08115f5e in ARDOUR_UI::load_session ()
#19 0x08309cc6 in main ()
#0 0xb7edaf10 in ARDOUR::Session::start_locate () from libs/ardour/libardour.so
------------------>8--------------------------

This may be a simple compile option issue or something, I don’t know. Any insights would be appreciated. I’m in the process of recording 6 songs for a client, and I’m spoiled now that I’ve used ardour2 and don’t want to go back to the crusty-looking old version. :slight_smile:

Yeah, I followed the instructions in the “debugging ardour” page (or so I thought), to get as much useful information as possible. Did I miss something?

Incidentally, I just tried the command-line args mentioned in other replies, and I got the same error.

Latest news: I just updated the source from svn and rebuilt. Just now, I started ardour2 and loaded a project which was crashing it previously. It appears to be working. I’m liking this!

I had this too, it was discussed on the “Beta 10 released” thread here. You can either use

  ardour2 -O 

to swithch off SSE optimisation which seems to be at iussue here, or compile with

  DEBUG=ON 

All credits to rdoursenaud.
Or fetch new svn vesion, where this has been fixed (or at least it works for me).

seb

i suspect that this is not the same issue.

please see http://ardour.org/debugging_ardour for more information on how to get more useful information for the developers.