View Issue Details

IDProjectCategoryView StatusLast Update
0005144ardourbugspublic2012-11-12 11:41
Reporterpcp Assigned To 
PrioritynormalSeveritycrashReproducibilityalways
Status feedbackResolutionopen 
Summary0005144: ardour 3 crash related to MIDI i/o
DescriptionFrustrated enough with unstability of 2.8 version, i decided to upgrade system to new version and compile bleeding-edge of ardour for myself.
Sadly, it crashes as well. So my bugreport follows:

How to reproduce:
1) start up a session, add some buses
2) set up a midi-in from bcr2k via jack sequencer to the ardour
3) add some LADSPA plugins, assign a midi control for some of their parameters
4) after some time of toying with controls ardour crashes. Crash also sometimes occurrs when a plugin with associated midi control is deleted.


Expected behaviour:
Ardour won't crash

There is clearly some kind of memory corruption inside:
#0 0xb6dfd4b9 in PBD::ID::print (this=0x58, <- here we have a traitor
buf=0xbfffddef "\265\067\224\377\264\364\217\002\265\200\016\377\264\264\016P\336\377\277W\336\377\277", bufsize=32) at ../libs/pbd/id.cc:75

dmesg also reports an error:
[ 8778.713126] ardour-3.0[9735]: segfault at 5c ip b65784b9 sp bfb2b4f0 error 4 in libpbd.so.4.1.0[b64cf000+f8000]
Additional InformationSystem used: opensuse 12.2 / 32bit, gcc 4.7.1
2 GB ram, intel atom 1.66 GHz
behringer bcr2000 midi controller

backtrace:

Thread 16 (Thread 0x97db5b40 (LWP 9901)):
#0 0xffffe424 in __kernel_vsyscall ()
0000001 0xb4e17a26 in nanosleep () from /lib/libc.so.6
#2 0xb4e4924d in usleep () from /lib/libc.so.6
#3 0xb7975b98 in ARDOUR::AutomationWatch::thread (this=0xe244d90) at ../libs/ardour/automation_watch.cc:137
0000004 0xb7978458 in boost::_mfi::mf0<void, ARDOUR::AutomationWatch>::operator() (this=0xe25dbc8, p=0xe244d90) at /usr/include/boost/bind/mem_fn_template.hpp:49
0000005 0xb7978132 in boost::_bi::list1<boost::_bi::value<ARDOUR::AutomationWatch*> >::operator()<boost::_mfi::mf0<void, ARDOUR::AutomationWatch>, boost::_bi::list0> (
    this=0xe25dbd0, f=..., a=...) at /usr/include/boost/bind/bind.hpp:253
#6 0xb7977d98 in boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::AutomationWatch>, boost::_bi::list1<boost::_bi::value<ARDOUR::AutomationWatch*> > >::operator() (this=0xe25dbc8) at /usr/include/boost/bind/bind_template.hpp:20
#7 0xb7977d0b in sigc::adaptor_functor<boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::AutomationWatch>, boost::_bi::list1<boost::_bi::value<ARDOUR::AutomationWatch*> > > >::operator() (this=0xe25dbc8) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
0000008 0xb7977985 in sigc::internal::slot_call0<boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::AutomationWatch>, boost::_bi::list1<boost::_bi::value<ARDOUR::AutomationWatch*> > >, void>::call_it (rep=0xe25dbb0) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
0000009 0xb6ad7a82 in ?? () from /usr/lib/libglibmm-2.4.so.1
0000010 0xb69b40a3 in ?? () from /usr/lib/libglib-2.0.so.0
0000011 0xb4f11e32 in start_thread () from /lib/libpthread.so.0
0000012 0xb4e4f8ee in clone () from /lib/libc.so.6

Thread 15 (Thread 0xa0814b40 (LWP 9900)):
#0 0xffffe424 in __kernel_vsyscall ()
0000001 0xb4f192c6 in nanosleep () from /lib/libpthread.so.0
#2 0xb69b5a1e in g_usleep () from /usr/lib/libglib-2.0.so.0
#3 0xb6ae79bb in Glib::usleep(unsigned long) () from /usr/lib/libglibmm-2.4.so.1
0000004 0xb7928fbe in ARDOUR::AudioEngine::meter_thread (this=0x992fa90) at ../libs/ardour/audioengine.cc:804
0000005 0xb793b372 in boost::_mfi::mf0<void, ARDOUR::AudioEngine>::operator() (this=0xa524478, p=0x992fa90) at /usr/include/boost/bind/mem_fn_template.hpp:49
#6 0xb793ae1a in boost::_bi::list1<boost::_bi::value<ARDOUR::AudioEngine*> >::operator()<boost::_mfi::mf0<void, ARDOUR::AudioEngine>, boost::_bi::list0> (this=
    0xa524480, f=..., a=...) at /usr/include/boost/bind/bind.hpp:253
#7 0xb793a358 in boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::AudioEngine>, boost::_bi::list1<boost::_bi::value<ARDOUR::AudioEngine*> > >::operator() (
    this=0xa524478) at /usr/include/boost/bind/bind_template.hpp:20
0000008 0xb79396d7 in sigc::adaptor_functor<boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::AudioEngine>, boost::_bi::list1<boost::_bi::value<ARDOUR::AudioEngine*> > > >::operator() (this=0xa524478) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
0000009 0xb7938031 in sigc::internal::slot_call0<boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::AudioEngine>, boost::_bi::list1<boost::_bi::value<ARDOUR::AudioEngine*> > >, void>::call_it (rep=0xa524460) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
0000010 0xb6ad7a82 in ?? () from /usr/lib/libglibmm-2.4.so.1
0000011 0xb69b40a3 in ?? () from /usr/lib/libglib-2.0.so.0
0000012 0xb4f11e32 in start_thread () from /lib/libpthread.so.0
0000013 0xb4e4f8ee in clone () from /lib/libc.so.6

Thread 14 (Thread 0xa0013b40 (LWP 9899)):
#0 0xffffe424 in __kernel_vsyscall ()
0000001 0xb4e4490b in poll () from /lib/libc.so.6
#2 0xb699e23b in g_poll () from /usr/lib/libglib-2.0.so.0
#3 0xb698faf0 in ?? () from /usr/lib/libglib-2.0.so.0
0000004 0xb698ffcb in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
0000005 0xb6ae0f63 in Glib::MainLoop::run() () from /usr/lib/libglibmm-2.4.so.1
#6 0xb6ddc6cc in BaseUI::main_thread (this=0x9e952f8) at ../libs/pbd/base_ui.cc:80
#7 0xb6ddfd24 in sigc::bound_mem_functor0<void, BaseUI>::operator() (this=0x9e9570c) at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1787
0000008 0xb6ddfa8a in sigc::adaptor_functor<sigc::bound_mem_functor0<void, BaseUI> >::operator() (this=0x9e95708)
    at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
0000009 0xb6ddf474 in sigc::internal::slot_call0<sigc::bound_mem_functor0<void, BaseUI>, void>::call_it (rep=0x9e956f0)
    at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
0000010 0xb6ad7a82 in ?? () from /usr/lib/libglibmm-2.4.so.1
0000011 0xb69b40a3 in ?? () from /usr/lib/libglib-2.0.so.0
0000012 0xb4f11e32 in start_thread () from /lib/libpthread.so.0
0000013 0xb4e4f8ee in clone () from /lib/libc.so.6

Thread 13 (Thread 0x99898c40 (LWP 9898)):
#0 0xffffe424 in __kernel_vsyscall ()
0000001 0xb4e4490b in poll () from /lib/libc.so.6
#2 0xb798883e in ARDOUR::Butler::thread_work (this=0x9e1e2e8) at ../libs/ardour/butler.cc:150
#3 0xb798879a in ARDOUR::Butler::_thread_work (arg=0x9e1e2e8) at ../libs/ardour/butler.cc:134
0000004 0xb6e02c94 in fake_thread_start (arg=0x9e95230) at ../libs/pbd/pthread_utils.cc:80
0000005 0xb4f11e32 in start_thread () from /lib/libpthread.so.0
#6 0xb4e4f8ee in clone () from /lib/libc.so.6

Thread 12 (Thread 0x9999cb40 (LWP 9897)):
#0 0xffffe424 in __kernel_vsyscall ()
0000001 0xb4f17f48 in sem_timedwait () from /lib/libpthread.so.0
#2 0xb558d0ae in ?? () from /usr/lib/libjack.so.0
#3 0xb5579597 in ?? () from /usr/lib/libjack.so.0
0000004 0xb557be05 in ?? () from /usr/lib/libjack.so.0
0000005 0xb5578012 in ?? () from /usr/lib/libjack.so.0
#6 0xb7927eab in ARDOUR::AudioEngine::process_thread (this=0x992fa90) at ../libs/ardour/audioengine.cc:474
#7 0xb7927727 in ARDOUR::AudioEngine::_process_thread (arg=0x992fa90) at ../libs/ardour/audioengine.cc:365
0000008 0xb55768c3 in ?? () from /usr/lib/libjack.so.0
0000009 0xb558c455 in ?? () from /usr/lib/libjack.so.0
0000010 0xb4f11e32 in start_thread () from /lib/libpthread.so.0
0000011 0xb4e4f8ee in clone () from /lib/libc.so.6

Thread 11 (Thread 0x9f791b40 (LWP 9895)):
#0 0xffffe424 in __kernel_vsyscall ()
0000001 0xb4f18adb in read () from /lib/libpthread.so.0
#2 0xb558e8fc in ?? () from /usr/lib/libjack.so.0
#3 0xb55916cc in ?? () from /usr/lib/libjack.so.0
0000004 0xb558c455 in ?? () from /usr/lib/libjack.so.0
0000005 0xb4f11e32 in start_thread () from /lib/libpthread.so.0
#6 0xb4e4f8ee in clone () from /lib/libc.so.6

Thread 10 (Thread 0x9f812b40 (LWP 9894)):
#0 0xffffe424 in __kernel_vsyscall ()
0000001 0xb4f15a4c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2 0xb558dfb3 in ?? () from /usr/lib/libjack.so.0
#3 0xb55889bf in ?? () from /usr/lib/libjack.so.0
0000004 0xb558c455 in ?? () from /usr/lib/libjack.so.0
0000005 0xb4f11e32 in start_thread () from /lib/libpthread.so.0
#6 0xb4e4f8ee in clone () from /lib/libc.so.6

Thread 5 (Thread 0xb2908b40 (LWP 9889)):
#0 0xffffe424 in __kernel_vsyscall ()
0000001 0xb4f15a4c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2 0xb69cfd16 in g_cond_wait () from /usr/lib/libglib-2.0.so.0
#3 0xb6ad7f13 in Glib::Threads::Cond::wait(Glib::Threads::Mutex&) () from /usr/lib/libglibmm-2.4.so.1
0000004 0xb78ded3b in ARDOUR::Analyser::work () at ../libs/ardour/analyser.cc:81
0000005 0xb78deb12 in analyser_work () at ../libs/ardour/analyser.cc:46
#6 0x08eaa4ad in sigc::pointer_functor0<void>::operator() (this=0x971b65c) at /usr/include/sigc++-2.0/sigc++/functors/ptr_fun.h:77
#7 0x08ea840e in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator() (this=0x971b658) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
0000008 0x08ea5676 in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it (rep=0x971b640) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
0000009 0xb6ad7a82 in ?? () from /usr/lib/libglibmm-2.4.so.1
0000010 0xb69b40a3 in ?? () from /usr/lib/libglib-2.0.so.0
0000011 0xb4f11e32 in start_thread () from /lib/libpthread.so.0
0000012 0xb4e4f8ee in clone () from /lib/libc.so.6

Thread 4 (Thread 0xb3109b40 (LWP 9888)):
#0 0xffffe424 in __kernel_vsyscall ()
0000001 0xb4f15a4c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2 0xb69cfd16 in g_cond_wait () from /usr/lib/libglib-2.0.so.0
#3 0xb6ad7f13 in Glib::Threads::Cond::wait(Glib::Threads::Mutex&) () from /usr/lib/libglibmm-2.4.so.1
0000004 0xb7ca9725 in peak_thread_work () at ../libs/ardour/source_factory.cc:68
0000005 0x08eaa4ad in sigc::pointer_functor0<void>::operator() (this=0x972f93c) at /usr/include/sigc++-2.0/sigc++/functors/ptr_fun.h:77
#6 0x08ea840e in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator() (this=0x972f938) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
#7 0x08ea5676 in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it (rep=0x972f920) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
0000008 0xb6ad7a82 in ?? () from /usr/lib/libglibmm-2.4.so.1
0000009 0xb69b40a3 in ?? () from /usr/lib/libglib-2.0.so.0
0000010 0xb4f11e32 in start_thread () from /lib/libpthread.so.0
0000011 0xb4e4f8ee in clone () from /lib/libc.so.6

Thread 3 (Thread 0xb390ab40 (LWP 9887)):
#0 0xffffe424 in __kernel_vsyscall ()
0000001 0xb4f15a4c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2 0xb69cfd16 in g_cond_wait () from /usr/lib/libglib-2.0.so.0
#3 0xb6ad7f13 in Glib::Threads::Cond::wait(Glib::Threads::Mutex&) () from /usr/lib/libglibmm-2.4.so.1
0000004 0xb7ca9725 in peak_thread_work () at ../libs/ardour/source_factory.cc:68
0000005 0x08eaa4ad in sigc::pointer_functor0<void>::operator() (this=0x97307dc) at /usr/include/sigc++-2.0/sigc++/functors/ptr_fun.h:77
#6 0x08ea840e in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator() (this=0x97307d8) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
#7 0x08ea5676 in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it (rep=0x97307c0) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
0000008 0xb6ad7a82 in ?? () from /usr/lib/libglibmm-2.4.so.1
0000009 0xb69b40a3 in ?? () from /usr/lib/libglib-2.0.so.0
0000010 0xb4f11e32 in start_thread () from /lib/libpthread.so.0
0000011 0xb4e4f8ee in clone () from /lib/libc.so.6

Thread 2 (Thread 0xb410bb40 (LWP 9886)):
#0 0xffffe424 in __kernel_vsyscall ()
0000001 0xb4e17a26 in nanosleep () from /lib/libc.so.6
#2 0xb4e4924d in usleep () from /lib/libc.so.6
#3 0x090c17af in gui_event_loop (ptr=0x0) at ../gtk2_ardour/linux_vst_gui_support.cc:363
0000004 0xb4f11e32 in start_thread () from /lib/libpthread.so.0
0000005 0xb4e4f8ee in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb44658c0 (LWP 9863)):
#0 0xb6dfd4b9 in PBD::ID::print (this=0x58, buf=0xbfffddef "\265\067\224\377\264\364\217\002\265\200\016\377\264\264\016P\336\377\277W\336\377\277", bufsize=32)
    at ../libs/pbd/id.cc:75
0000001 0xb6dfd515 in PBD::ID::to_s (this=0x58) at ../libs/pbd/id.cc:81
#2 0x9a225c7e in MIDIControllable::get_state (this=0xa5ee678) at ../libs/surfaces/generic_midi/midicontrollable.cc:499
#3 0x9a20710c in GenericMidiControlProtocol::get_state (this=0xa5da548) at ../libs/surfaces/generic_midi/generic_midi_control_protocol.cc:500
0000004 0xb79940f7 in ARDOUR::ControlProtocolManager::get_state (this=0x99deae0) at ../libs/ardour/control_protocol_manager.cc:385
0000005 0xb7c5e264 in ARDOUR::Session::get_control_protocol_state (this=0x9e1b060) at ../libs/ardour/session_state.cc:1179
#6 0xb7c5e02b in ARDOUR::Session::state (this=0x9e1b060, full_state=true) at ../libs/ardour/session_state.cc:1166
#7 0xb7c5d09b in ARDOUR::Session::get_state (this=0x9e1b060) at ../libs/ardour/session_state.cc:966
0000008 0xb7c5b9fb in ARDOUR::Session::save_state (this=0x9e1b060, snapshot_name="", pending=true, switch_to_snapshot=false) at ../libs/ardour/session_state.cc:776
0000009 0xb7c5a9fb in ARDOUR::Session::maybe_write_autosave (this=0x9e1b060) at ../libs/ardour/session_state.cc:623
0000010 0x08a09e29 in ARDOUR_UI::autosave_session (this=0x95a2218) at ../gtk2_ardour/ardour_ui.cc:610
0000011 0x08a31490 in sigc::bound_mem_functor0<int, ARDOUR_UI>::operator() (this=0xe713fd4) at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1787
0000012 0x08a2d8c2 in sigc::adaptor_functor<sigc::bound_mem_functor0<int, ARDOUR_UI> >::operator() (this=0xe713fd0)
    at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
0000013 0x08a2850a in sigc::internal::slot_call0<sigc::bound_mem_functor0<int, ARDOUR_UI>, bool>::call_it (rep=0xe713fb8)
    at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
0000014 0xb6ae0134 in ?? () from /usr/lib/libglibmm-2.4.so.1
#15 0xb69904af in ?? () from /usr/lib/libglib-2.0.so.0
0000016 0xb698f7d3 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#17 0xb698fb70 in ?? () from /usr/lib/libglib-2.0.so.0
0000018 0xb698ffcb in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
0000019 0xb66103c0 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
0000020 0xb5d52484 in Gtk::Main::run_impl() () from /usr/lib/libgtkmm-2.4.so.1
0000021 0xb5d52eff in Gtk::Main::run() () from /usr/lib/libgtkmm-2.4.so.1
0000022 0xb6f75e12 in Gtkmm2ext::UI::run (this=0x95a2218, old_receiver=...) at ../libs/gtkmm2ext/gtk_ui.cc:268
0000023 0x08d4b96b in main (argc=1, argv=0xbfffe784) at ../gtk2_ardour/main.cc:455
TagsNo tags attached.

Relationships

related to 0005096 new Seg Fault on save after deleting plugin with generic midi enabled. 

Activities

pcp

2012-10-25 07:17

reporter   ~0014156

it seems to be related to the following bug (segfault occurs in the same part of the code)

http://tracker.ardour.org/view.php?id=5096

paul

2012-11-06 19:31

administrator   ~0014188

i believe this is fixed in current svn. confirmation or denial would be lovely.

pcp

2012-11-08 09:37

reporter   ~0014199

Thanks. I will check it in next few days and will keep you informed.

pcp

2012-11-12 11:41

reporter   ~0014205

I did some tests over the weekend and no crashes so far.

Issue History

Date Modified Username Field Change
2012-10-24 18:41 pcp New Issue
2012-10-25 07:17 pcp Note Added: 0014156
2012-11-06 19:31 paul Relationship added related to 0005096
2012-11-06 19:31 paul Note Added: 0014188
2012-11-07 13:47 paul Status new => feedback
2012-11-08 09:37 pcp Note Added: 0014199
2012-11-12 11:41 pcp Note Added: 0014205