View Issue Details

IDProjectCategoryView StatusLast Update
0004158ardourbugspublic2020-04-19 20:15
Reporterpneuman Assigned Tocth103  
PrioritynormalSeveritycrashReproducibilityalways
Status closedResolutionfixed 
Target Version3.0-beta1 
Summary0004158: Crash after deleting and re-adding a synth plugin to a MIDI track that also has a bus send on it
DescriptionI've created a MIDI track and added a synth to it, and then added a send off to a bus; this all works just as you'd expect. However, if I delete the synth plugin, add a new one, and then drag it to the top of the plugin list, Ardour crashes.

Steps to reproduce:
1) Create an aux bus
2) Create a MIDI track
3) Add a synth plugin to the MIDI track
4) Add an aux send to your bus on the MIDI track
5) Delete the synth plugin
6) Add another synth plugin
7) Drag the synth plugin to the top of the track's plugin list

Ardour will crash at this point.

I tried to replicate this behaviour with an effect plugin on the MIDI track, instead of the send. In this case, Ardour refuses to let you delete the synth plugin until the effect plugin has been deleted, presumably to prevent the track's plugin list getting in to an odd state. It doesn't pop up any warnings about this, though -- it just refuses to perform the deletion -- which is probably a bug in itself.
Additional InformationArdour 3 SVN r9814
OS: Ubuntu 10.10 AMD64
TagsNo tags attached.

Activities

paul

2011-07-10 16:51

administrator   ~0011030

i replicated these steps using a mono aux bus, and ardour did not crash. a more precise recipe appears necessary.

alternatively, a backtrace might be enough to make some progress.

2011-07-11 23:46

 

issue-4158-backtrace.txt (41,706 bytes)   
Thread 20 (Thread 0x7fffbc880820 (LWP 24268)):
#0  0x00007ffff23e34bd in nanosleep ()
   from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007ffff1f4a9e2 in g_usleep ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007ffff6158b90 in ARDOUR::AudioEngine::meter_thread (this=0x2848a00)
    at ../libs/ardour/audioengine.cc:710
#3  0x00007ffff61787a1 in boost::_mfi::mf0<void, ARDOUR::AudioEngine>::operator() (this=0x4f321f0, p=0x2848a00)
    at /usr/include/boost/bind/mem_fn_template.hpp:49
#4  0x00007ffff6173d22 in boost::_bi::list1<boost::_bi::value<ARDOUR::AudioEngine*> >::operator()<boost::_mfi::mf0<void, ARDOUR::AudioEngine>, boost::_bi::list0> (this=0x4f32200, f=..., a=...) at /usr/include/boost/bind/bind.hpp:253
#5  0x00007ffff616f798 in boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::AudioEngine>, boost::_bi::list1<boost::_bi::value<ARDOUR::AudioEngine*> > >::operator() (this=0x4f321f0) at /usr/include/boost/bind/bind_template.hpp:20
#6  0x00007ffff616a950 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=0x4f321f0)
    at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
---Type <return> to continue, or q <return> to quit---
#7  0x00007ffff61664ee 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=0x4f321c0)
    at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
#8  0x00007ffff10a4c3d in ?? () from /usr/lib/libglibmm-2.4.so.1
#9  0x00007ffff1f473e4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#10 0x00007ffff23dad8c in start_thread ()
   from /lib/x86_64-linux-gnu/libpthread.so.0
#11 0x00007fffec5cb04d in clone () from /lib/x86_64-linux-gnu/libc.so.6
#12 0x0000000000000000 in ?? ()

Thread 19 (Thread 0x7fffd7fcd700 (LWP 24267)):
#0  0x00007fffec5bdf03 in poll () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007ffff1f20104 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007ffff1f209f2 in g_main_loop_run ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff76d35e3 in BaseUI::main_thread (this=0x4373b40)
    at ../libs/pbd/base_ui.cc:77
#4  0x00007ffff76d49ab in sigc::bound_mem_functor0<void, BaseUI>::operator() (
    this=0x431d848) at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1787
#5  0x00007ffff76d480c in sigc::adaptor_functor<sigc::bound_mem_functor0<void, B---Type <return> to continue, or q <return> to quit---
aseUI> >::operator() (this=0x431d840)
    at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
#6  0x00007ffff76d457d in sigc::internal::slot_call0<sigc::bound_mem_functor0<void, BaseUI>, void>::call_it (rep=0x431d810)
    at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
#7  0x00007ffff10a4c3d in ?? () from /usr/lib/libglibmm-2.4.so.1
#8  0x00007ffff1f473e4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#9  0x00007ffff23dad8c in start_thread ()
   from /lib/x86_64-linux-gnu/libpthread.so.0
#10 0x00007fffec5cb04d in clone () from /lib/x86_64-linux-gnu/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 18 (Thread 0x7fffbcafe820 (LWP 24266)):
#0  0x00007fffec5bdf03 in poll () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007ffff61d3379 in ARDOUR::Butler::thread_work (this=0x2ac31c0)
    at ../libs/ardour/butler.cc:159
#2  0x00007ffff61d32e1 in ARDOUR::Butler::_thread_work (arg=0x2ac31c0)
    at ../libs/ardour/butler.cc:140
#3  0x00007ffff7705984 in fake_thread_start (arg=0x431d400)
    at ../libs/pbd/pthread_utils.cc:81
#4  0x00007ffff23dad8c in start_thread ()
---Type <return> to continue, or q <return> to quit---
   from /lib/x86_64-linux-gnu/libpthread.so.0
#5  0x00007fffec5cb04d in clone () from /lib/x86_64-linux-gnu/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 17 (Thread 0x7fffd5875700 (LWP 24265)):
#0  0x00007fffec518d05 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007fffec51cab6 in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2  0x00007fffec5117c5 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6
#3  0x00007ffff639a43a in ARDOUR::PannerShell::run (this=0x4cedfa0, 
    inbufs=..., outbufs=..., start_frame=0, end_frame=1024, nframes=1024)
    at ../libs/ardour/panner_shell.cc:272
#4  0x00007ffff62be9e9 in ARDOUR::InternalSend::run (this=0x4cedb60, bufs=..., 
    start_frame=0, end_frame=1024, nframes=1024)
    at ../libs/ardour/internal_send.cc:119
#5  0x00007ffff6430b30 in ARDOUR::Route::process_output_buffers (
    this=0x47e0ca0, bufs=..., start_frame=0, end_frame=1024, nframes=1024, 
    declick=0, gain_automation_ok=true) at ../libs/ardour/route.cc:506
#6  0x00007ffff6431011 in ARDOUR::Route::passthru (this=0x47e0ca0, 
    start_frame=0, end_frame=1024, nframes=1024, declick=0)
    at ../libs/ardour/route.cc:554
#7  0x00007ffff658db11 in ARDOUR::Track::no_roll (this=0x47e0ca0, 
---Type <return> to continue, or q <return> to quit---
    nframes=1024, start_frame=0, end_frame=1024, session_state_changing=false, 
    can_record=false) at ../libs/ardour/track.cc:278
#8  0x00007ffff635e297 in ARDOUR::MidiTrack::no_roll (this=0x47e0ca0, 
    nframes=1024, start_frame=0, end_frame=1024, state_changing=false, 
    can_record=false, rec_monitors_input=false)
    at ../libs/ardour/midi_track.cc:410
#9  0x00007ffff62b1a71 in ARDOUR::Graph::process_one_route (this=0x428b050, 
    route=0x47e0ca0) at ../libs/ardour/graph.cc:607
#10 0x00007ffff62b64ea in ARDOUR::GraphNode::process (this=0x47e0e20)
    at ../libs/ardour/graphnode.cc:69
#11 0x00007ffff62b032c in ARDOUR::Graph::run_one (this=0x428b050)
    at ../libs/ardour/graph.cc:406
#12 0x00007ffff62b07fd in ARDOUR::Graph::main_thread (this=0x428b050)
    at ../libs/ardour/graph.cc:479
#13 0x00007ffff62b5ddb in boost::_mfi::mf0<void, ARDOUR::Graph>::operator() (
    this=0x7fffd57faa58, p=0x428b050)
    at /usr/include/boost/bind/mem_fn_template.hpp:49
#14 0x00007ffff62b57d0 in boost::_bi::list1<boost::_bi::value<ARDOUR::Graph*> >::operator()<boost::_mfi::mf0<void, ARDOUR::Graph>, boost::_bi::list0> (
    this=0x7fffd57faa68, f=..., a=...) at /usr/include/boost/bind/bind.hpp:253
#15 0x00007ffff62b53ba in boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR---Type <return> to continue, or q <return> to quit---
::Graph>, boost::_bi::list1<boost::_bi::value<ARDOUR::Graph*> > >::operator() (
    this=0x7fffd57faa58) at /usr/include/boost/bind/bind_template.hpp:20
#16 0x00007ffff62b4f44 in boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::Graph>, boost::_bi::list1<boost::_bi::value<ARDOUR::Graph*> > >, void>::invoke (function_obj_ptr=...)
    at /usr/include/boost/function/function_template.hpp:153
#17 0x000000000129c1aa in boost::function0<void>::operator() (
    this=0x7fffd57faa50)
    at /usr/include/boost/function/function_template.hpp:1013
#18 0x00007ffff615b95f in ARDOUR::AudioEngine::_start_process_thread (
    arg=0x3e64b50) at ../libs/ardour/audioengine.cc:1519
#19 0x00007ffff2601db5 in jack_thread_proxy (varg=0x2a5a340) at thread.c:127
#20 0x00007ffff23dad8c in start_thread ()
   from /lib/x86_64-linux-gnu/libpthread.so.0
#21 0x00007fffec5cb04d in clone () from /lib/x86_64-linux-gnu/libc.so.6
#22 0x0000000000000000 in ?? ()

Thread 16 (Thread 0x7fffd58f6700 (LWP 24264)):
#0  0x00007ffff23e1ea0 in sem_wait ()
   from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007ffff62b1da6 in PBD::ProcessSemaphore::wait (this=0x428b158)
---Type <return> to continue, or q <return> to quit---
    at ../libs/pbd/pbd/semutils.h:41
#2  0x00007ffff62b17ee in ARDOUR::Graph::routes_no_roll (this=0x428b050, 
    nframes=1024, start_frame=0, end_frame=1024, non_rt_pending=false, 
    can_record=false, declick=0) at ../libs/ardour/graph.cc:589
#3  0x00007ffff64f8092 in ARDOUR::Session::no_roll (this=0x4286000, 
    nframes=1024) at ../libs/ardour/session_process.cc:112
#4  0x00007ffff64f8dff in ARDOUR::Session::process_with_events (
    this=0x4286000, nframes=1024) at ../libs/ardour/session_process.cc:350
#5  0x00007ffff64f7ded in ARDOUR::Session::process (this=0x4286000, 
    nframes=1024) at ../libs/ardour/session_process.cc:75
#6  0x00007ffff6158164 in ARDOUR::AudioEngine::process_callback (
    this=0x2848a00, nframes=1024) at ../libs/ardour/audioengine.cc:534
#7  0x00007ffff6157df8 in ARDOUR::AudioEngine::process_thread (this=0x2848a00)
    at ../libs/ardour/audioengine.cc:458
#8  0x00007ffff6157a42 in ARDOUR::AudioEngine::_process_thread (arg=0x2848a00)
    at ../libs/ardour/audioengine.cc:371
#9  0x00007ffff25fc53d in jack_client_thread (arg=0x2862ad0) at client.c:2161
#10 0x00007ffff2601db5 in jack_thread_proxy (varg=0x41fbd40) at thread.c:127
#11 0x00007ffff23dad8c in start_thread ()
   from /lib/x86_64-linux-gnu/libpthread.so.0
#12 0x00007fffec5cb04d in clone () from /lib/x86_64-linux-gnu/libc.so.6
---Type <return> to continue, or q <return> to quit---
#13 0x0000000000000000 in ?? ()

Thread 15 (Thread 0x7fffe0ba2700 (LWP 24251)):
#0  0x00007ffff23dfbac in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007ffff25fe339 in mb_thread_func (arg=0x0) at messagebuffer.c:72
#2  0x00007ffff23dad8c in start_thread ()
   from /lib/x86_64-linux-gnu/libpthread.so.0
#3  0x00007fffec5cb04d in clone () from /lib/x86_64-linux-gnu/libc.so.6
#4  0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7fffdbfff700 (LWP 24240)):
#0  0x00007fffec5bdf03 in poll () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007ffff1f20104 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007ffff1f209f2 in g_main_loop_run ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fffefe85c44 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#4  0x00007ffff1f473e4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007ffff23dad8c in start_thread ()
   from /lib/x86_64-linux-gnu/libpthread.so.0
#6  0x00007fffec5cb04d in clone () from /lib/x86_64-linux-gnu/libc.so.6
---Type <return> to continue, or q <return> to quit---
#7  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7fffe22ce700 (LWP 24238)):
#0  0x00007ffff23dfbac in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007ffff60ead7f in ARDOUR::Analyser::work ()
    at ../libs/ardour/analyser.cc:85
#2  0x00007ffff60eab11 in analyser_work () at ../libs/ardour/analyser.cc:49
#3  0x00000000018253a5 in sigc::pointer_functor0<void>::operator() (
    this=0x25de5d8) at /usr/include/sigc++-2.0/sigc++/functors/ptr_fun.h:77
#4  0x0000000001822cd6 in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator() (this=0x25de5d0)
    at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
#5  0x000000000181fe3b in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it (rep=0x25de5a0)
    at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
#6  0x00007ffff10a4c3d in ?? () from /usr/lib/libglibmm-2.4.so.1
#7  0x00007ffff1f473e4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#8  0x00007ffff23dad8c in start_thread ()
   from /lib/x86_64-linux-gnu/libpthread.so.0
#9  0x00007fffec5cb04d in clone () from /lib/x86_64-linux-gnu/libc.so.6
---Type <return> to continue, or q <return> to quit---
#10 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7fffe2acf700 (LWP 24237)):
#0  0x00007ffff23dfbac in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007ffff656e52d in peak_thread_work ()
    at ../libs/ardour/source_factory.cc:73
#2  0x00000000018253a5 in sigc::pointer_functor0<void>::operator() (
    this=0x25ea958) at /usr/include/sigc++-2.0/sigc++/functors/ptr_fun.h:77
#3  0x0000000001822cd6 in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator() (this=0x25ea950)
    at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
#4  0x000000000181fe3b in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it (rep=0x25ea920)
    at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
#5  0x00007ffff10a4c3d in ?? () from /usr/lib/libglibmm-2.4.so.1
#6  0x00007ffff1f473e4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#7  0x00007ffff23dad8c in start_thread ()
   from /lib/x86_64-linux-gnu/libpthread.so.0
#8  0x00007fffec5cb04d in clone () from /lib/x86_64-linux-gnu/libc.so.6
#9  0x0000000000000000 in ?? ()
---Type <return> to continue, or q <return> to quit---

Thread 2 (Thread 0x7fffe32d0700 (LWP 24236)):
#0  0x00007ffff23dfbac in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007ffff656e52d in peak_thread_work ()
    at ../libs/ardour/source_factory.cc:73
#2  0x00000000018253a5 in sigc::pointer_functor0<void>::operator() (
    this=0x260f898) at /usr/include/sigc++-2.0/sigc++/functors/ptr_fun.h:77
#3  0x0000000001822cd6 in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator() (this=0x260f890)
    at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
#4  0x000000000181fe3b in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it (rep=0x260f860)
    at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
#5  0x00007ffff10a4c3d in ?? () from /usr/lib/libglibmm-2.4.so.1
#6  0x00007ffff1f473e4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#7  0x00007ffff23dad8c in start_thread ()
   from /lib/x86_64-linux-gnu/libpthread.so.0
#8  0x00007fffec5cb04d in clone () from /lib/x86_64-linux-gnu/libc.so.6
#9  0x0000000000000000 in ?? ()

---Type <return> to continue, or q <return> to quit---
Thread 1 (Thread 0x7ffff7fa49c0 (LWP 24232)):
#0  0x00007ffff0e4b495 in g_type_check_instance_is_a ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#1  0x00007ffff07314dd in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#2  0x00007ffff0e4a610 in g_type_create_instance ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#3  0x00007ffff0e2876c in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#4  0x00007ffff0e2b961 in g_object_newv ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#5  0x00007ffff10ae85a in Glib::Object::Object(Glib::ConstructParams const&) ()
   from /usr/lib/libglibmm-2.4.so.1
#6  0x00007fffee3149f5 in Gtk::Object::Object(Glib::ConstructParams const&) ()
   from /usr/lib/libgtkmm-2.4.so.1
#7  0x00007fffee378b65 in Gtk::Widget::Widget(Glib::ConstructParams const&) ()
   from /usr/lib/libgtkmm-2.4.so.1
#8  0x00007fffee2e788d in Gtk::Container::Container(Glib::ConstructParams const&) () from /usr/lib/libgtkmm-2.4.so.1
#9  0x00007fffee2cd28d in Gtk::Bin::Bin(Glib::ConstructParams const&) ()
   from /usr/lib/libgtkmm-2.4.so.1
#10 0x00007fffee304ecd in Gtk::Item::Item(Glib::ConstructParams const&) ()
---Type <return> to continue, or q <return> to quit---
   from /usr/lib/libgtkmm-2.4.so.1
#11 0x00007fffee30d285 in Gtk::MenuItem::MenuItem(Glib::ConstructParams const&)
    () from /usr/lib/libgtkmm-2.4.so.1
#12 0x00007fffee2df819 in Gtk::CheckMenuItem::CheckMenuItem(Glib::ustring const&, bool) () from /usr/lib/libgtkmm-2.4.so.1
#13 0x00007fffee390273 in Gtk::Menu_Helpers::CheckMenuElem::CheckMenuElem(Glib::ustring const&, sigc::slot<void, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil> const&) () from /usr/lib/libgtkmm-2.4.so.1
#14 0x00000000018c5fc5 in RouteTimeAxisView::add_processor_to_subplugin_menu (
    this=0x4f70750, p=...) at ../gtk2_ardour/route_time_axis.cc:2027
#15 0x00000000018d54ba in sigc::bound_mem_functor1<void, RouteTimeAxisView, boost::weak_ptr<ARDOUR::Processor> >::operator() (this=0x4cf6720, _A_a1=...)
    at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1851
#16 0x00000000018d20d8 in boost::detail::function::void_function_obj_invoker1<sigc::bound_mem_functor1<void, RouteTimeAxisView, boost::weak_ptr<ARDOUR::Processor> >, void, boost::weak_ptr<ARDOUR::Processor> >::invoke (
    function_obj_ptr=..., a0=...)
    at /usr/include/boost/function/function_template.hpp:153
#17 0x000000000171b25c in boost::function1<void, boost::weak_ptr<ARDOUR::Processor> >::operator() (this=0x7fffffffc7f0, a0=...)
    at /usr/include/boost/function/function_template.hpp:1013
---Type <return> to continue, or q <return> to quit---
#18 0x000000000171ab5b in ARDOUR::Route::foreach_processor(boost::function<void(boost::weak_ptr<ARDOUR::Processor>)>) (this=0x47e0ca0, method=...)
    at ../libs/ardour/ardour/route.h:191
#19 0x00000000018b9176 in RouteTimeAxisView::setup_processor_menu_and_curves (
    this=0x4f70750) at ../gtk2_ardour/route_time_axis.cc:302
#20 0x00000000018c67e5 in RouteTimeAxisView::processors_changed (
    this=0x4f70750, c=...) at ../gtk2_ardour/route_time_axis.cc:2098
#21 0x00000000018da7ec in boost::_mfi::mf1<void, RouteTimeAxisView, ARDOUR::RouteProcessorChange>::operator() (this=0x4cfad28, p=0x4f70750, a1=...)
    at /usr/include/boost/bind/mem_fn_template.hpp:165
#22 0x00000000018d9083 in boost::_bi::list2<boost::_bi::value<RouteTimeAxisView*>, boost::arg<1> >::operator()<boost::_mfi::mf1<void, RouteTimeAxisView, ARDOUR::RouteProcessorChange>, boost::_bi::list1<ARDOUR::RouteProcessorChange&> > (
    this=0x4cfad38, f=..., a=...) at /usr/include/boost/bind/bind.hpp:313
#23 0x00000000018d751d in boost::_bi::bind_t<void, boost::_mfi::mf1<void, RouteTimeAxisView, ARDOUR::RouteProcessorChange>, boost::_bi::list2<boost::_bi::value<RouteTimeAxisView*>, boost::arg<1> > >::operator()<ARDOUR::RouteProcessorChange> (this=0x4cfad28, a1=...) at /usr/include/boost/bind/bind_template.hpp:32
#24 0x00000000018d4d69 in boost::_bi::protected_bind_t<boost::_bi::bind_t<void, boost::_mfi::mf1<void, RouteTimeAxisView, ARDOUR::RouteProcessorChange>, boost::_bi::list2<boost::_bi::value<RouteTimeAxisView*>, boost::arg<1> > > >::operator(---Type <return> to continue, or q <return> to quit---
)<ARDOUR::RouteProcessorChange> (this=0x4cfad28, a1=...)
    at /usr/include/boost/bind/protect.hpp:46
#25 0x00000000018d1a23 in boost::detail::function::void_function_obj_invoker1<boost::_bi::protected_bind_t<boost::_bi::bind_t<void, boost::_mfi::mf1<void, RouteTimeAxisView, ARDOUR::RouteProcessorChange>, boost::_bi::list2<boost::_bi::value<RouteTimeAxisView*>, boost::arg<1> > > >, void, ARDOUR::RouteProcessorChange>::invoke (function_obj_ptr=..., a0=...)
    at /usr/include/boost/function/function_template.hpp:153
#26 0x00000000016f768d in boost::function1<void, ARDOUR::RouteProcessorChange>::operator() (this=0x4cfad20, a0=...)
    at /usr/include/boost/function/function_template.hpp:1013
#27 0x00000000016f64d2 in boost::_bi::list1<boost::_bi::value<ARDOUR::RouteProcessorChange> >::operator()<boost::function<void(ARDOUR::RouteProcessorChange)>, boost::_bi::list0>(boost::_bi::type<void>, boost::function<void(ARDOUR::RouteProcessorChange)> &, boost::_bi::list0 &, int) (this=0x4cfad40, f=..., a=...)
    at /usr/include/boost/bind/bind.hpp:253
#28 0x00000000016f5000 in boost::_bi::bind_t<boost::_bi::unspecified, boost::function<void(ARDOUR::RouteProcessorChange)>, boost::_bi::list1<boost::_bi::value<ARDOUR::RouteProcessorChange> > >::operator()(void) (this=0x4cfad20)
    at /usr/include/boost/bind/bind_template.hpp:20
#29 0x00000000016f3b92 in boost::detail::function::void_function_obj_invoker0<bo---Type <return> to continue, or q <return> to quit---
ost::_bi::bind_t<boost::_bi::unspecified, boost::function<void(ARDOUR::RouteProcessorChange)>, boost::_bi::list1<boost::_bi::value<ARDOUR::RouteProcessorChange> > >, void>::invoke(boost::detail::function::function_buffer &) (
    function_obj_ptr=...)
    at /usr/include/boost/function/function_template.hpp:153
#30 0x000000000129c1aa in boost::function0<void>::operator() (
    this=0x7fffffffcba0)
    at /usr/include/boost/function/function_template.hpp:1013
#31 0x00007ffff4e2fa30 in AbstractUI<Gtkmm2ext::UIRequest>::call_slot(PBD::EventLoop::InvalidationRecord *, const boost::function<void()> &) (this=0x23ce880, 
    invalidation=0x4f72390, f=...) at ../libs/pbd/pbd/abstract_ui.cc:220
#32 0x00000000016ee30c in PBD::Signal1<void, ARDOUR::RouteProcessorChange, boost::signals2::optional_last_value<void> >::compositor(boost::function<void(ARDOUR::RouteProcessorChange)>, PBD::EventLoop *, PBD::EventLoop::InvalidationRecord *, ARDOUR::RouteProcessorChange) (f=..., event_loop=0x23ce880, ir=0x4f72390, 
    arg=...) at ../libs/pbd/pbd/signals.h:136
#33 0x00000000016f8609 in boost::_bi::list4<boost::_bi::value<boost::function<void(ARDOUR::RouteProcessorChange)> >, boost::_bi::value<PBD::EventLoop*>, boost::_bi::value<PBD::EventLoop::InvalidationRecord*>, boost::arg<1> >::operator()<void (*)(boost::function<void(ARDOUR::RouteProcessorChange)>, PBD::EventLoop*, PBD::EventLoop::InvalidationRecord*, ARDOUR::RouteProcessorChange), boost::_bi::list---Type <return> to continue, or q <return> to quit---
1<ARDOUR::RouteProcessorChange&> >(boost::_bi::type<void>, void (*&)(boost::function<void(ARDOUR::RouteProcessorChange)>, PBD::EventLoop *, PBD::EventLoop::InvalidationRecord *, ARDOUR::RouteProcessorChange), boost::_bi::list1<ARDOUR::RouteProcessorChange&> &, int) (this=0x4f770f8, f=@0x4f770f0, a=...)
    at /usr/include/boost/bind/bind.hpp:457
#34 0x00000000016f775d in boost::_bi::bind_t<void, void (*)(boost::function<void(ARDOUR::RouteProcessorChange)>, PBD::EventLoop*, PBD::EventLoop::InvalidationRecord*, ARDOUR::RouteProcessorChange), boost::_bi::list4<boost::_bi::value<boost::function<void(ARDOUR::RouteProcessorChange)> >, boost::_bi::value<PBD::EventLoop*>, boost::_bi::value<PBD::EventLoop::InvalidationRecord*>, boost::arg<1> > >::operator()<ARDOUR::RouteProcessorChange>(ARDOUR::RouteProcessorChange &) (
    this=0x4f770f0, a1=...) at /usr/include/boost/bind/bind_template.hpp:32
#35 0x00000000016f65fc in boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void, void (*)(boost::function<void(ARDOUR::RouteProcessorChange)>, PBD::EventLoop*, PBD::EventLoop::InvalidationRecord*, ARDOUR::RouteProcessorChange), boost::_bi::list4<boost::_bi::value<boost::function<void(ARDOUR::RouteProcessorChange)> >, boost::_bi::value<PBD::EventLoop*>, boost::_bi::value<PBD::EventLoop::InvalidationRecord*>, boost::arg<1> > >, void, ARDOUR::RouteProcessorChange>::invoke(boost::detail::function::function_buffer &, ARDOUR::RouteProcessorChange) (function_obj_ptr=..., a0=...)
    at /usr/include/boost/function/function_template.hpp:153
---Type <return> to continue, or q <return> to quit---
#36 0x00000000016f768d in boost::function1<void, ARDOUR::RouteProcessorChange>::operator() (this=0x4f77088, a0=...)
    at /usr/include/boost/function/function_template.hpp:1013
#37 0x00007ffff646197d in boost::signals2::detail::signal1_impl<void, ARDOUR::RouteProcessorChange, boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void(ARDOUR::RouteProcessorChange)>, boost::function<void(const boost::signals2::connection&, ARDOUR::RouteProcessorChange)>, boost::signals2::mutex>::slot_invoker::m_invoke(const boost::signals2::detail::signal1_impl<void, ARDOUR::RouteProcessorChange, boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void(ARDOUR::RouteProcessorChange)>, boost::function<void(const boost::signals2::connection&, ARDOUR::RouteProcessorChange)>, boost::signals2::mutex>::connection_body_type &, const boost::signals2::detail::void_type *) const (this=0x7fffffffd060, connectionBody=...)
    at /usr/include/boost/signals2/detail/signal_template.hpp:351
#38 0x00007ffff6460540 in boost::signals2::detail::signal1_impl<void, ARDOUR::RouteProcessorChange, boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void(ARDOUR::RouteProcessorChange)>, boost::function<void(const boost::signals2::connection&, ARDOUR::RouteProcessorChange)>, boost::signals2::mutex>::slot_invoker::operator()(const boost::signals2::detail::signal1_impl<void, ARDOUR::RouteProcessorChange, boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void(ARDOUR::RouteProcessorChange)>, boost---Type <return> to continue, or q <return> to quit---
::function<void(const boost::signals2::connection&, ARDOUR::RouteProcessorChange)>, boost::signals2::mutex>::connection_body_type &) const (
    this=0x7fffffffd060, connectionBody=...)
    at /usr/include/boost/signals2/detail/signal_template.hpp:340
#39 0x00007ffff645debb in boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::signal1_impl<void, ARDOUR::RouteProcessorChange, boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void(ARDOUR::RouteProcessorChange)>, boost::function<void(const boost::signals2::connection&, ARDOUR::RouteProcessorChange)>, boost::signals2::mutex>::slot_invoker, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot1<void, ARDOUR::RouteProcessorChange, boost::function<void(ARDOUR::RouteProcessorChange)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot1<void, ARDOUR::RouteProcessorChange, boost::function<void(ARDOUR::RouteProcessorChange)> >, boost::signals2::mutex> >::dereference(void) const (this=0x7fffffffce50)
    at /usr/include/boost/signals2/detail/slot_call_iterator.hpp:82
#40 0x00007ffff645b632 in boost::iterator_core_access::dereference<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::signal1_impl<void, ARDOUR::RouteProcessorChange, boost::signals2::optional_last_value<void>, int, std:---Type <return> to continue, or q <return> to quit---
:less<int>, boost::function<void(ARDOUR::RouteProcessorChange)>, boost::function<void(const boost::signals2::connection&, ARDOUR::RouteProcessorChange)>, boost::signals2::mutex>::slot_invoker, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot1<void, ARDOUR::RouteProcessorChange, boost::function<void(ARDOUR::RouteProcessorChange)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot1<void, ARDOUR::RouteProcessorChange, boost::function<void(ARDOUR::RouteProcessorChange)> >, boost::signals2::mutex> > >(const boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::signal1_impl<void, ARDOUR::RouteProcessorChange, boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void(ARDOUR::RouteProcessorChange)>, boost::function<void(const boost::signals2::connection&, ARDOUR::RouteProcessorChange)>, boost::signals2::mutex>::slot_invoker, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot1<void, ARDOUR::RouteProcessorChange, boost::function<void(ARDOUR::RouteProcessorChange)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot1<void, ARDOUR::RouteProcessorChange, boost::function<void(ARDOUR::RouteProcessorChange)> >, boost::signals2::mutex> > &)
---Type <return> to continue, or q <return> to quit---
    (f=...) at /usr/include/boost/iterator/iterator_facade.hpp:516
#41 0x00007ffff6458498 in boost::iterator_facade<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::signal1_impl<void, ARDOUR::RouteProcessorChange, boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void(ARDOUR::RouteProcessorChange)>, boost::function<void(const boost::signals2::connection&, ARDOUR::RouteProcessorChange)>, boost::signals2::mutex>::slot_invoker, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot1<void, ARDOUR::RouteProcessorChange, boost::function<void(ARDOUR::RouteProcessorChange)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot1<void, ARDOUR::RouteProcessorChange, boost::function<void(ARDOUR::RouteProcessorChange)> >, boost::signals2::mutex> >, boost::signals2::detail::void_type, boost::single_pass_traversal_tag, const boost::signals2::detail::void_type&, long int>::operator*(void) const (
    this=0x7fffffffce50) at /usr/include/boost/iterator/iterator_facade.hpp:634
#42 0x00007ffff64549f6 in boost::signals2::optional_last_value<void>::operator()<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::signal1_impl<void, ARDOUR::RouteProcessorChange, boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void(ARDOUR::RouteProcessorChange)>, boost::function<void(const boost::signals2::connection&, ARDOUR::RouteProcessorCh---Type <return> to continue, or q <return> to quit---
ange)>, boost::signals2::mutex>::slot_invoker, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot1<void, ARDOUR::RouteProcessorChange, boost::function<void(ARDOUR::RouteProcessorChange)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot1<void, ARDOUR::RouteProcessorChange, boost::function<void(ARDOUR::RouteProcessorChange)> >, boost::signals2::mutex> > >(boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::signal1_impl<void, ARDOUR::RouteProcessorChange, boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void(ARDOUR::RouteProcessorChange)>, boost::function<void(const boost::signals2::connection&, ARDOUR::RouteProcessorChange)>, boost::signals2::mutex>::slot_invoker, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot1<void, ARDOUR::RouteProcessorChange, boost::function<void(ARDOUR::RouteProcessorChange)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot1<void, ARDOUR::RouteProcessorChange, boost::function<void(ARDOUR::RouteProcessorChange)> >, boost::signals2::mutex> >, boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::signal1_impl<void, ARDOUR::RouteProcessorChange, boost::signals2::optional_last_val---Type <return> to continue, or q <return> to quit---
ue<void>, int, std::less<int>, boost::function<void(ARDOUR::RouteProcessorChange)>, boost::function<void(const boost::signals2::connection&, ARDOUR::RouteProcessorChange)>, boost::signals2::mutex>::slot_invoker, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot1<void, ARDOUR::RouteProcessorChange, boost::function<void(ARDOUR::RouteProcessorChange)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot1<void, ARDOUR::RouteProcessorChange, boost::function<void(ARDOUR::RouteProcessorChange)> >, boost::signals2::mutex> >) const (this=0x47dff40, 
    first=..., last=...)
    at /usr/include/boost/signals2/optional_last_value.hpp:55
#43 0x00007ffff6451a9b in boost::signals2::detail::combiner_invoker<void>::operator()<boost::signals2::optional_last_value<void>, boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::signal1_impl<void, ARDOUR::RouteProcessorChange, boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void(ARDOUR::RouteProcessorChange)>, boost::function<void(const boost::signals2::connection&, ARDOUR::RouteProcessorChange)>, boost::signals2::mutex>::slot_invoker, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot1<void, ARDOUR::RouteProcessorChange, boost::fun---Type <return> to continue, or q <return> to quit---
ction<void(ARDOUR::RouteProcessorChange)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot1<void, ARDOUR::RouteProcessorChange, boost::function<void(ARDOUR::RouteProcessorChange)> >, boost::signals2::mutex> > >(boost::signals2::optional_last_value<void> &, boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::signal1_impl<void, ARDOUR::RouteProcessorChange, boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void(ARDOUR::RouteProcessorChange)>, boost::function<void(const boost::signals2::connection&, ARDOUR::RouteProcessorChange)>, boost::signals2::mutex>::slot_invoker, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot1<void, ARDOUR::RouteProcessorChange, boost::function<void(ARDOUR::RouteProcessorChange)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot1<void, ARDOUR::RouteProcessorChange, boost::function<void(ARDOUR::RouteProcessorChange)> >, boost::signals2::mutex> >, boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::signal1_impl<void, ARDOUR::RouteProcessorChange, boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void(ARDOUR::RouteProcessorChange)>, boost::function<void(const boost::signals2::connection&, ARDOUR::RouteProcessorChange)>, boost::signals2::mutex>::slot_invoker, std::_List_it---Type <return> to continue, or q <return> to quit---
erator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot1<void, ARDOUR::RouteProcessorChange, boost::function<void(ARDOUR::RouteProcessorChange)> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot1<void, ARDOUR::RouteProcessorChange, boost::function<void(ARDOUR::RouteProcessorChange)> >, boost::signals2::mutex> >) const (
    this=0x7fffffffcf9f, combiner=..., first=..., last=...)
    at /usr/include/boost/signals2/detail/result_type_wrapper.hpp:64
#44 0x00007ffff644dd87 in boost::signals2::detail::signal1_impl<void, ARDOUR::RouteProcessorChange, boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void(ARDOUR::RouteProcessorChange)>, boost::function<void(const boost::signals2::connection&, ARDOUR::RouteProcessorChange)>, boost::signals2::mutex>::operator()(ARDOUR::RouteProcessorChange) (this=0x47dfe50, arg1=...)
    at /usr/include/boost/signals2/detail/signal_template.hpp:246
#45 0x00007ffff6449845 in boost::signals2::signal1<void, ARDOUR::RouteProcessorChange, boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void(ARDOUR::RouteProcessorChange)>, boost::function<void(const boost::signals2::connection&, ARDOUR::RouteProcessorChange)>, boost::signals2::mutex>::operator()(ARDOUR::RouteProcessorChange) (this=0x47e0fa8, arg1=...)
    at /usr/include/boost/signals2/detail/signal_template.hpp:675
---Type <return> to continue, or q <return> to quit---
#46 0x00007ffff644600f in PBD::Signal1<void, ARDOUR::RouteProcessorChange, boost::signals2::optional_last_value<void> >::operator() (this=0x47e0fa8, arg1=...)
    at ../libs/pbd/pbd/signals.h:161
#47 0x00007ffff6432956 in ARDOUR::Route::add_processor (this=0x47e0ca0, 
    processor=..., iter=..., err=0x7fffffffd340, activation_allowed=true)
    at ../libs/ardour/route.cc:928
#48 0x00007ffff6432276 in ARDOUR::Route::add_processor (this=0x47e0ca0, 
    processor=..., placement=ARDOUR::PreFader, err=0x7fffffffd340, 
    activation_allowed=true) at ../libs/ardour/route.cc:847
#49 0x0000000001806aff in ProcessorBox::use_plugins (this=0x4f89ef0, 
    plugins=...) at ../gtk2_ardour/processor_box.cc:927
#50 0x00000000017aad8c in PluginSelector::run (this=0x2af9240)
    at ../gtk2_ardour/plugin_selector.cc:466
#51 0x00000000017acf00 in PluginSelector::show_manager (this=0x2af9240)
    at ../gtk2_ardour/plugin_selector.cc:802
#52 0x00000000018061c5 in ProcessorBox::processor_button_press_event (
    this=0x4f89ef0, ev=0x5216160, child=0x0)
    at ../gtk2_ardour/processor_box.cc:812
#53 0x0000000001823a3f in sigc::bound_mem_functor2<bool, ProcessorBox, _GdkEventButton*, ProcessorEntry*>::operator() (this=0x4f91118, _A_a1=@0x7fffffffd850, 
    _A_a2=@0x7fffffffd848)
---Type <return> to continue, or q <return> to quit---
    at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1917
#54 0x000000000182148b in sigc::adaptor_functor<sigc::bound_mem_functor2<bool, ProcessorBox, _GdkEventButton*, ProcessorEntry*> >::operator()<_GdkEventButton* const&, ProcessorEntry* const&> (this=0x4f91110, _A_arg1=@0x7fffffffd850, 
    _A_arg2=@0x7fffffffd848)
    at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:103
#55 0x000000000181e330 in sigc::internal::slot_call2<sigc::bound_mem_functor2<bool, ProcessorBox, _GdkEventButton*, ProcessorEntry*>, bool, _GdkEventButton*, ProcessorEntry*>::call_it (rep=0x4f910e0, a_1=@0x7fffffffd850, 
    a_2=@0x7fffffffd848) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:173
#56 0x00000000018206a5 in sigc::internal::signal_emit2<bool, _GdkEventButton*, ProcessorEntry*, sigc::nil>::emit (impl=0x4f910c0, _A_a1=@0x7fffffffd850, 
    _A_a2=@0x7fffffffd848) at /usr/include/sigc++-2.0/sigc++/signal.h:1161
#57 0x000000000181d8af in sigc::signal2<bool, _GdkEventButton*, ProcessorEntry*, sigc::nil>::emit (this=0x4f8a008, _A_a1=@0x7fffffffd850, 
    _A_a2=@0x7fffffffd848) at /usr/include/sigc++-2.0/sigc++/signal.h:2885
#58 0x000000000181a99d in sigc::signal2<bool, _GdkEventButton*, ProcessorEntry*, sigc::nil>::operator() (this=0x4f8a008, _A_a1=@0x7fffffffd850, 
    _A_a2=@0x7fffffffd848) at /usr/include/sigc++-2.0/sigc++/signal.h:2893
#59 0x000000000181651d in Gtkmm2ext::DnDVBox<ProcessorEntry>::button_press (
    this=0x4f89fe0, ev=0x5216160, child=0x0)
---Type <return> to continue, or q <return> to quit---
    at ../libs/gtkmm2ext/gtkmm2ext/dndvbox.h:498
#60 0x00000000018275ed in sigc::bound_mem_functor2<bool, Gtkmm2ext::DnDVBox<ProcessorEntry>, _GdkEventButton*, ProcessorEntry*>::operator() (this=0x4f8fb40, 
    _A_a1=@0x7fffffffd968, _A_a2=@0x4f8fb60)
    at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1917
#61 0x0000000001825ca5 in sigc::adaptor_functor<sigc::bound_mem_functor2<bool, Gtkmm2ext::DnDVBox<ProcessorEntry>, _GdkEventButton*, ProcessorEntry*> >::operator()<_GdkEventButton* const&, ProcessorEntry*&> (this=0x4f8fb38, 
    _A_arg1=@0x7fffffffd968, _A_arg2=@0x4f8fb60)
    at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:103
#62 0x0000000001823386 in sigc::bind_functor<-0x00000000000000001, sigc::bound_mem_functor2<bool, Gtkmm2ext::DnDVBox<ProcessorEntry>, _GdkEventButton*, ProcessorEntry*>, ProcessorEntry*, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::operator()<_GdkEventButton* const&> (this=0x4f8fb30, 
    _A_arg1=@0x7fffffffd968)
    at /usr/include/sigc++-2.0/sigc++/adaptors/bind.h:1122
#63 0x000000000182097e in sigc::internal::slot_call1<sigc::bind_functor<-0x00000000000000001, sigc::bound_mem_functor2<bool, Gtkmm2ext::DnDVBox<ProcessorEntry>, _GdkEventButton*, ProcessorEntry*>, ProcessorEntry*, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, bool, _GdkEventButton*>::call_it (
    rep=0x4f8fb00, a_1=@0x7fffffffd968)
---Type <return> to continue, or q <return> to quit---
    at /usr/include/sigc++-2.0/sigc++/functors/slot.h:137
#64 0x00007fffee3739d5 in ?? () from /usr/lib/libgtkmm-2.4.so.1
#65 0x00007ffff0708578 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#66 0x00007ffff0e2681c in g_closure_invoke ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#67 0x00007ffff0e38205 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#68 0x00007ffff0e40fa9 in g_signal_emit_valist ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#69 0x00007ffff0e4141f in g_signal_emit ()
   from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#70 0x00007ffff08244d1 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#71 0x00007ffff0706763 in gtk_propagate_event ()
   from /usr/lib/libgtk-x11-2.0.so.0
#72 0x00007ffff0706a5b in gtk_main_do_event ()
   from /usr/lib/libgtk-x11-2.0.so.0
#73 0x00007ffff03795cc in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#74 0x00007ffff1f1fbcd in g_main_context_dispatch ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#75 0x00007ffff1f203a8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#76 0x00007ffff1f209f2 in g_main_loop_run ()
---Type <return> to continue, or q <return> to quit---
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#77 0x00007ffff0705af7 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#78 0x00007ffff4e22367 in Gtkmm2ext::UI::run (this=0x23ce860, old_receiver=...)
    at ../libs/gtkmm2ext/gtk_ui.cc:268
#79 0x00000000016918ed in main (argc=1, argv=0x7fffffffe258)
    at ../gtk2_ardour/main.cc:557

issue-4158-backtrace.txt (41,706 bytes)   

pneuman

2011-07-11 23:52

reporter   ~0011079

I did some more testing on this, and the cause seems to be using a synth plugin with stereo output. I had tried two different plugins to make sure it wasn't a plugin-specific issue (Calf Monosynth and Linuxsampler), but both of them happened to be stereo. Retesting with "qin", a simple synth with only a mono output, Ardour did not crash.

The channel count of the bus doesn't seem to matter. I had been using a stereo bus, but both stereo and mono busses either work (with the "qin" synth) or fail (with Calf Monosynth and Linuxsampler).

I've attached a backtrace. I also receive this error message after the crash:

ardour-3.0: ../libs/ardour/panner_shell.cc:272: void ARDOUR::PannerShell::run(ARDOUR::BufferSet&, ARDOUR::BufferSet&, ARDOUR::framepos_t, ARDOUR::framepos_t, ARDOUR::pframes_t): Assertion `inbufs.count().n_audio() == 0' failed.
Aborted

pneuman

2011-07-12 08:02

reporter   ~0011082

Forgot to mention that I'm running Calf from git, in case that's relevant:

http://repo.or.cz/w/calf.git

cth103

2011-07-12 12:22

administrator   ~0011088

Should be fixed in SVN 9845.

pneuman

2011-07-12 12:45

reporter   ~0011089

That fix works for me, thanks!

system

2020-04-19 20:15

developer   ~0022646

Issue has been closed automatically, by Trigger Close Plugin.
Feel free to re-open with additional information if you think the issue is not resolved.

Issue History

Date Modified Username Field Change
2011-07-09 08:00 pneuman New Issue
2011-07-10 16:51 paul Note Added: 0011030
2011-07-10 16:51 paul Status new => feedback
2011-07-10 19:58 cth103 cost => 0.00
2011-07-10 19:58 cth103 Target Version => 3.0-beta1
2011-07-11 23:46 pneuman File Added: issue-4158-backtrace.txt
2011-07-11 23:52 pneuman Note Added: 0011079
2011-07-12 08:02 pneuman Note Added: 0011082
2011-07-12 11:48 cth103 Status feedback => confirmed
2011-07-12 12:22 cth103 Note Added: 0011088
2011-07-12 12:22 cth103 Status confirmed => resolved
2011-07-12 12:22 cth103 Resolution open => fixed
2011-07-12 12:22 cth103 Assigned To => cth103
2011-07-12 12:45 pneuman Note Added: 0011089
2020-04-19 20:15 system Note Added: 0022646
2020-04-19 20:15 system Status resolved => closed