View Issue Details

IDCategoryLast Update
0003601bugs2016-10-29 19:30
ReporterqharleyAssigned To 
Reproducibilityalways 
Status confirmedResolutionopen 
Product Version 
Fixed in Version 
Summary0003601: Crash on enabling generic midi control surface feedback (for motorised faders)
DescriptionThe moment feedback is ebabled, ardour crash happens.

Backtrace included
TagsNo tags attached.

Activities

2010-12-13 14:19

 

Contol_surface_feedback_crash.txt (27,797 bytes)
 
thread apply all bt

Thread 12 (Thread 5037):
#0  0x00007f6b3ac33f83 in poll () from /lib/libc.so.6
#1  0x00007f6b4469b202 in ARDOUR::Butler::thread_work (this=0x5e49770) at ../libs/ardour/butler.cc:159
#2  0x00007f6b4469b176 in ARDOUR::Butler::_thread_work (arg=0x5e49770) at ../libs/ardour/butler.cc:140
#3  0x00007f6b45a66694 in fake_thread_start (arg=0x5e8c980) at ../libs/pbd/pthread_utils.cc:81
#4  0x00007f6b3aee39ca in start_thread () from /lib/libpthread.so.0
#5  0x00007f6b3ac406fd in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 11 (Thread 5004):
#0  0x00007f6b3ac33f83 in poll () from /lib/libc.so.6
#1  0x00007f6b3683129a in ?? () from /usr/lib/libxcb.so.1
#2  0x00007f6b36832c2c in xcb_wait_for_reply () from /usr/lib/libxcb.so.1
#3  0x00007f6b384048d3 in _XReply () from /usr/lib/libX11.so.6
#4  0x00007f6b383f9c8d in XTranslateCoordinates () from /usr/lib/libX11.so.6
#5  0x00007f6b3f1ef6cd in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#6  0x00007f6b3f1c092f in gdk_window_get_origin () from /usr/lib/libgdk-x11-2.0.so.0
#7  0x00007f6b33c812f6 in ca_gtk_proplist_set_for_widget () from /usr/lib/libcanberra-gtk.so.0
#8  0x00007f6b33c8174b in ca_gtk_proplist_set_for_event () from /usr/lib/libcanberra-gtk.so.0
#9  0x00007f6b33c81e2b in ca_gtk_play_for_event () from /usr/lib/libcanberra-gtk.so.0
#10 0x00007f6b33e87397 in ?? () from /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so
#11 0x00007f6b33e88333 in ?? () from /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so
#12 0x00007f6b3f1a0db6 in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#13 0x00007f6b40f488c2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#14 0x00007f6b40f4c748 in ?? () from /lib/libglib-2.0.so.0
#15 0x00007f6b40f4cc55 in g_main_loop_run () from /lib/libglib-2.0.so.0
#16 0x00007f6b3f56abb7 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#17 0x00007f6b435ca49b in Gtkmm2ext::UI::run (this=0x388c700, old_receiver=...) at ../libs/gtkmm2ext/gtk_ui.cc:265
#18 0x000000000139f644 in main (argc=1, argv=0x7fffc8a70298) at ../gtk2_ardour/main.cc:602

Thread 10 (Thread 5034):
#0  0x00007f6b3aeeb93d in read () from /lib/libpthread.so.0
#1  0x00007f6b41212592 in ?? () from /usr/lib/libjack.so.0
#2  0x00007f6b41214d34 in ?? () from /usr/lib/libjack.so.0
#3  0x00007f6b412106e0 in ?? () from /usr/lib/libjack.so.0
#4  0x00007f6b3aee39ca in start_thread () from /lib/libpthread.so.0
#5  0x00007f6b3ac406fd in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 9 (Thread 5039):
#0  0x00007f6b3b65f67e in __cxxabiv1::__si_class_type_info::__do_dyncast(long, __cxxabiv1::__class_type_info::__sub_kind, __cxxabiv1::__class_type_info const*, void const*, __cxxabiv1::__class_type_info const*, void const*, __cxxabiv1::__class_type_info::__dyncast_result&) const () from /usr/lib/libstdc++.so.6
#1  0x00007f6b3b65d45d in __dynamic_cast () from /usr/lib/libstdc++.so.6
#2  0x0000000001530ba7 in shared_ptr<ARDOUR::Processor> (this=0x7f6b046e7820, r=...) at /usr/include/boost/smart_ptr/shared_ptr.hpp:259
#3  0x000000000152c6cf in boost::dynamic_pointer_cast<ARDOUR::Send, ARDOUR::Processor> (r=...) at /usr/include/boost/smart_ptr/shared_ptr.hpp:522
#4  0x00007f6b44931c4a in ARDOUR::Route::meter (this=0x7f6b2f5ce740) at ../libs/ardour/route.cc:3424
#5  0x00007f6b4494a8a3 in boost::_mfi::mf0<void, ARDOUR::Route>::operator()(ARDOUR::Route*) const () from /usr/local/lib/ardour3/libardour.so.3
#6  0x00007f6b44946b3e in void boost::_bi::list1<boost::_bi::value<ARDOUR::Route*> >::operator()<boost::_mfi::mf0<void, ARDOUR::Route>, boost::_bi::list0>(boost::_bi::type<void>, boost::_mfi::mf0<void, ARDOUR::Route>&, boost::_bi::list0&, int) () from /usr/local/lib/ardour3/libardour.so.3
#7  0x00007f6b4494312f in boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::Route>, boost::_bi::list1<boost::_bi::value<ARDOUR::Route*> > >::operator()()
    () from /usr/local/lib/ardour3/libardour.so.3
#8  0x00007f6b449404cf in boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::Route>, boost::_bi::list1<boost::_bi::value<ARDOUR::Route*> > >, void>::invoke(boost::detail::function::function_buffer&) () from /usr/local/lib/ardour3/libardour.so.3
#9  0x0000000000f6fa4d in boost::function0<void>::operator() (this=0x7f6b2f79e558) at /usr/include/boost/function/function_template.hpp:1013
#10 0x0000000000f6abdd in boost::signals2::detail::signal0_impl<void, boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void ()()>, boost::function<void ()(boost::signals2::connection const&)>, boost::signals2::mutex>::slot_invoker::m_invoke(boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot0<void, boost::function<void ()()> >, boost::signals2::mutex> > const&, boost::signals2::detail::void_type const*) const (this=0x7f6b046e7ce0, connectionBody=...)
    at /usr/include/boost/signals2/detail/signal_template.hpp:351
#11 0x0000000000f64457 in boost::signals2::detail::signal0_impl<void, boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void ()()>, boost::function<void ()(boost::signals2::connection const&)>, boost::signals2::mutex>::slot_invoker::operator()(boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot0<void, boost::function<void ()()> >, boost::signals2::mutex> > const&) const (this=0x7f6b046e7ce0, connectionBody=...) at /usr/include/boost/signals2/detail/signal_template.hpp:340
---Type <return> to continue, or q <return> to quit---
#12 0x0000000000f5d4f9 in boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::signal0_impl<void, boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void ()()>, boost::function<void ()(boost::signals2::connection const&)>, 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::slot0<void, boost::function<void ()()> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot0<void, boost::function<void ()()> >, boost::signals2::mutex> >::dereference() const (this=0x7f6b046e7ae0)
    at /usr/include/boost/signals2/detail/slot_call_iterator.hpp:82
#13 0x0000000000f56bac in boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::signal0_impl<void, boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void ()()>, boost::function<void ()(boost::signals2::connection const&)>, 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::slot0<void, boost::function<void ()()> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot0<void, boost::function<void ()()> >, boost::signals2::mutex> >::reference boost::iterator_core_access::dereference<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::signal0_impl<void, boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void ()()>, boost::function<void ()(boost::signals2::connection const&)>, 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::slot0<void, boost::function<void ()()> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot0<void, boost::function<void ()()> >, boost::signals2::mutex> > >(boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::signal0_impl<void, boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void ()()>, boost::function<void ()(boost::signals2::connection const&)>, 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::slot0<void, boost::function<void ()()> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot0<void, boost::function<void ()()> >, boost::signals2::mutex> > const&) (f=...) at /usr/include/boost/iterator/iterator_facade.hpp:516
#14 0x0000000000f503fe in boost::iterator_facade<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::signal0_impl<void, boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void ()()>, boost::function<void ()(boost::signals2::connection const&)>, 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::slot0<void, boost::function<void ()()> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot0<void, boost::function<void ()()> >, boost::signals2::mutex> >, boost::signals2::detail::void_type, boost::single_pass_traversal_tag, boost::signals2::detail::void_type const&, long>::operator*() const (this=0x7f6b046e7ae0)
    at /usr/include/boost/iterator/iterator_facade.hpp:634
#15 0x0000000000f4b43a in void boost::signals2::optional_last_value<void>::operator()<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::signal0_impl<void, boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void ()()>, boost::function<void ()(boost::signals2::connection const&)>, 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::slot0<void, boost::function<void ()()> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot0<void, boost::function<void ()()> >, boost::signals2::mutex> > >(boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::signal0_impl<void, boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void ()()>, boost::function<void ()(boost::signals2::connection const&)>, 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::slot0<void, boost::function<void ()()> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot0<void, boost::function<void ()()> >, boost::signals2::mutex> >, boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::signal0_impl<void, boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void ()()>, boost::function<void ()(boost::signals2::connection const&)>, 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::slot0<void, boost::function<void ()()> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot0<void, boost::function<void ()()> >, boost::signals2::mutex> >) const (this=0x38590c0, first=..., last=...) at /usr/include/boost/signals2/optional_last_value.hpp:55
#16 0x0000000000f461ab in void boost::signals2::detail::combiner_invoker<void>::operator()<boost::signals2::optional_last_value<void>, boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::signal0_impl<void, boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void ()()>, boost::function<void ()(boost::signals2::connection const&)>, 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::slot0<void, boost::function<void ()()> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot0<void, boost::function<void ()()> >, boost::signals2::mutex> > >(boost::signals2::optional_last_value<void>&, boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::signal0_impl<void, boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void ()()>, boost::function<void ()(boost::signals2::connection const&)>, 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::slot0<void, boost::function<void ()()> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot0<void, boost::function<void ()()> >, boost::signals2::mutex> >, boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::signal0_impl<void, boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void ()()>, boost::function<void ()(boost::signals2::connection const&)>, 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::slot0<void, boost::function<void ()()> >, boost::signals2::mutex> > >, boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot0<void, boost::function<void ()()> >, boost::signals2::mutex> >) const (this=0x7f6b046e7c1e, combiner=..., 
    first=..., last=...) at /usr/include/boost/signals2/detail/result_type_wrapper.hpp:64
#17 0x0000000000f409f8 in boost::signals2::detail::signal0_impl<void, boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void ()()>, boost::function<void ()(boost::signals2::connection const&)>, boost::signals2::mutex>::operator()() (this=0x3858fd0)
    at /usr/include/boost/signals2/detail/signal_template.hpp:246
#18 0x0000000000f3ad22 in boost::signals2::signal0<void, boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void ()()>, boost::function<void ()(boost::signals2::connection const&)>, boost::signals2::mutex>::operator()() (this=0x7f6b45189b50)
---Type <return> to continue, or q <return> to quit---
    at /usr/include/boost/signals2/detail/signal_template.hpp:675
#19 0x0000000000f36a84 in PBD::Signal0<void>::operator() (this=0x7f6b45189b50) at ../libs/pbd/pbd/signals.h:104
#20 0x00007f6b446236bd in ARDOUR::AudioEngine::meter_thread (this=0x3ea9200) at ../libs/ardour/audioengine.cc:682
#21 0x00007f6b4463cf29 in boost::_mfi::mf0<void, ARDOUR::AudioEngine>::operator() (this=0x7f6b001629d0, p=0x3ea9200)
    at /usr/include/boost/bind/mem_fn_template.hpp:49
#22 0x00007f6b446396ac in boost::_bi::list1<boost::_bi::value<ARDOUR::AudioEngine*> >::operator()<boost::_mfi::mf0<void, ARDOUR::AudioEngine>, boost::_bi::list0> (this=0x7f6b001629e0, f=..., a=...) at /usr/include/boost/bind/bind.hpp:246
#23 0x00007f6b446362df in boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::AudioEngine>, boost::_bi::list1<boost::_bi::value<ARDOUR::AudioEngine*> > >::operator() (this=0x7f6b001629d0) at /usr/include/boost/bind/bind_template.hpp:20
#24 0x00007f6b4463293c 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=0x7f6b001629d0) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
#25 0x00007f6b4462f566 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=0x7f6b001629a0) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
#26 0x00007f6b400dc862 in ?? () from /usr/lib/libglibmm-2.4.so.1
#27 0x00007f6b40f71b84 in ?? () from /lib/libglib-2.0.so.0
#28 0x00007f6b3aee39ca in start_thread () from /lib/libpthread.so.0
#29 0x00007f6b3ac406fd in clone () from /lib/libc.so.6
#30 0x0000000000000000 in ?? ()

Thread 8 (Thread 5033):
#0  0x00007f6b3aee885c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f6b412121f1 in ?? () from /usr/lib/libjack.so.0
#2  0x00007f6b4120ae59 in ?? () from /usr/lib/libjack.so.0
#3  0x00007f6b412106e0 in ?? () from /usr/lib/libjack.so.0
#4  0x00007f6b3aee39ca in start_thread () from /lib/libpthread.so.0
#5  0x00007f6b3ac406fd in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 7 (Thread 5028):
#0  0x00007f6b3aee8bc9 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f6b3fc5b602 in ?? () from /usr/lib/libgthread-2.0.so.0
#2  0x00007f6b40f23851 in ?? () from /lib/libglib-2.0.so.0
#3  0x00007f6b40f23997 in g_async_queue_timed_pop () from /lib/libglib-2.0.so.0
#4  0x00007f6b40f739c8 in ?? () from /lib/libglib-2.0.so.0
#5  0x00007f6b40f71b84 in ?? () from /lib/libglib-2.0.so.0
#6  0x00007f6b3aee39ca in start_thread () from /lib/libpthread.so.0
#7  0x00007f6b3ac406fd in clone () from /lib/libc.so.6
#8  0x0000000000000000 in ?? ()

Thread 6 (Thread 5024):
#0  0x00007f6b3aee885c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f6b445b2e21 in ARDOUR::Analyser::work () at ../libs/ardour/analyser.cc:85
#2  0x00007f6b445b2b51 in analyser_work () at ../libs/ardour/analyser.cc:49
#3  0x000000000153e7c5 in sigc::pointer_functor0<void>::operator()() const ()
#4  0x000000000153c9d2 in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator()() const ()
#5  0x0000000001539f1b in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it(sigc::internal::slot_rep*) ()
#6  0x00007f6b400dc862 in ?? () from /usr/lib/libglibmm-2.4.so.1
#7  0x00007f6b40f71b84 in ?? () from /lib/libglib-2.0.so.0
#8  0x00007f6b3aee39ca in start_thread () from /lib/libpthread.so.0
#9  0x00007f6b3ac406fd in clone () from /lib/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 5 (Thread 5023):
#0  0x00007f6b3aee885c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f6b44a6e4a7 in peak_thread_work () at ../libs/ardour/source_factory.cc:69
#2  0x000000000153e7c5 in sigc::pointer_functor0<void>::operator()() const ()
#3  0x000000000153c9d2 in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator()() const ()
#4  0x0000000001539f1b in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it(sigc::internal::slot_rep*) ()
#5  0x00007f6b400dc862 in ?? () from /usr/lib/libglibmm-2.4.so.1
#6  0x00007f6b40f71b84 in ?? () from /lib/libglib-2.0.so.0
#7  0x00007f6b3aee39ca in start_thread () from /lib/libpthread.so.0
#8  0x00007f6b3ac406fd in clone () from /lib/libc.so.6
#9  0x0000000000000000 in ?? ()

---Type <return> to continue, or q <return> to quit---
Thread 4 (Thread 5022):
#0  0x00007f6b3aee885c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f6b44a6e4a7 in peak_thread_work () at ../libs/ardour/source_factory.cc:69
#2  0x000000000153e7c5 in sigc::pointer_functor0<void>::operator()() const ()
#3  0x000000000153c9d2 in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator()() const ()
#4  0x0000000001539f1b in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it(sigc::internal::slot_rep*) ()
#5  0x00007f6b400dc862 in ?? () from /usr/lib/libglibmm-2.4.so.1
#6  0x00007f6b40f71b84 in ?? () from /lib/libglib-2.0.so.0
#7  0x00007f6b3aee39ca in start_thread () from /lib/libpthread.so.0
#8  0x00007f6b3ac406fd in clone () from /lib/libc.so.6
#9  0x0000000000000000 in ?? ()

Thread 3 (Thread 5036):
#0  0x00007f6b3aeeab50 in sem_wait () from /lib/libpthread.so.0
#1  0x00007f6b4478e422 in PBD::ProcessSemaphore::wait (this=0x5e86588) at ../libs/pbd/pbd/semutils.h:41
#2  0x00007f6b4478bb6b in ARDOUR::Graph::restart_cycle (this=0x5e864b0) at ../libs/ardour/graph.cc:206
#3  0x00007f6b4478bb35 in ARDOUR::Graph::dec_ref (this=0x5e864b0) at ../libs/ardour/graph.cc:192
#4  0x00007f6b447927f2 in ARDOUR::GraphNode::finish (this=0x7f6b2c4ac6f0, chain=0) at ../libs/ardour/graphnode.cc:61
#5  0x00007f6b4478cad3 in ARDOUR::Graph::run_one (this=0x5e864b0) at ../libs/ardour/graph.cc:352
#6  0x00007f6b4478ce00 in ARDOUR::Graph::main_thread (this=0x5e864b0) at ../libs/ardour/graph.cc:412
#7  0x00007f6b44791b73 in boost::_mfi::mf0<void, ARDOUR::Graph>::operator() (this=0x7f6b047e4d58, p=0x5e864b0) at /usr/include/boost/bind/mem_fn_template.hpp:49
#8  0x00007f6b447917e6 in boost::_bi::list1<boost::_bi::value<ARDOUR::Graph*> >::operator()<boost::_mfi::mf0<void, ARDOUR::Graph>, boost::_bi::list0> (
    this=0x7f6b047e4d68, f=..., a=...) at /usr/include/boost/bind/bind.hpp:246
#9  0x00007f6b4479150d in boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::Graph>, boost::_bi::list1<boost::_bi::value<ARDOUR::Graph*> > >::operator() (
    this=0x7f6b047e4d58) at /usr/include/boost/bind/bind_template.hpp:20
#10 0x00007f6b447910b5 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
#11 0x0000000000f6fa4d in boost::function0<void>::operator() (this=0x7f6b047e4d50) at /usr/include/boost/function/function_template.hpp:1013
#12 0x00007f6b446268a3 in ARDOUR::AudioEngine::_start_process_thread (arg=0x5e86970) at ../libs/ardour/audioengine.cc:1483
#13 0x00007f6b3aee39ca in start_thread () from /lib/libpthread.so.0
#14 0x00007f6b3ac406fd in clone () from /lib/libc.so.6
#15 0x0000000000000000 in ?? ()

Thread 2 (Thread 5035):
#0  0x00007f6b3ac33f83 in poll () from /lib/libc.so.6
#1  0x00007f6b41211da6 in ?? () from /usr/lib/libjack.so.0
#2  0x00007f6b411f926a in ?? () from /usr/lib/libjack.so.0
#3  0x00007f6b411f6647 in ?? () from /usr/lib/libjack.so.0
#4  0x00007f6b446228cb in ARDOUR::AudioEngine::process_thread (this=0x3ea9200) at ../libs/ardour/audioengine.cc:437
#5  0x00007f6b4462269e in ARDOUR::AudioEngine::_process_thread (arg=0x3ea9200) at ../libs/ardour/audioengine.cc:379
#6  0x00007f6b411f7f3b in ?? () from /usr/lib/libjack.so.0
#7  0x00007f6b412106e0 in ?? () from /usr/lib/libjack.so.0
#8  0x00007f6b3aee39ca in start_thread () from /lib/libpthread.so.0
#9  0x00007f6b3ac406fd in clone () from /lib/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 1 (Thread 5038):
#0  0x00007f6b0441c4ec in PBD::Controllable::is_gain_like (this=0x0) at ../libs/pbd/pbd/controllable.h:72
#1  0x00007f6b0441b9bc in MIDIControllable::write_feedback (this=0x7f6b001675b0, buf=0x7f6b29a68893 "", bufsize=@0x7f6b29a68828)
    at ../libs/surfaces/generic_midi/midicontrollable.cc:377
#2  0x00007f6b043e2dea in GenericMidiControlProtocol::_send_feedback (this=0x7f6b2c3f4480) at ../libs/surfaces/generic_midi/generic_midi_control_protocol.cc:257
#3  0x00007f6b043e2d41 in GenericMidiControlProtocol::send_feedback (this=0x7f6b2c3f4480) at ../libs/surfaces/generic_midi/generic_midi_control_protocol.cc:243
#4  0x00007f6b043f85ad in boost::_mfi::mf0<void, GenericMidiControlProtocol>::operator() (this=0x7f6af81184a8, p=0x7f6b2c3f4480)
    at /usr/include/boost/bind/mem_fn_template.hpp:49
#5  0x00007f6b043f4bac in boost::_bi::list1<boost::_bi::value<GenericMidiControlProtocol*> >::operator()<boost::_mfi::mf0<void, GenericMidiControlProtocol>, boost::_bi::list0> (this=0x7f6af81184b8, f=..., a=...) at /usr/include/boost/bind/bind.hpp:246
#6  0x00007f6b043f1a27 in boost::_bi::bind_t<void, boost::_mfi::mf0<void, GenericMidiControlProtocol>, boost::_bi::list1<boost::_bi::value<GenericMidiControlProtocol*> > >::operator() (this=0x7f6af81184a8) at /usr/include/boost/bind/bind_template.hpp:20
#7  0x00007f6b043ef868 in boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void, boost::_mfi::mf0<void, GenericMidiControlProtocol>, boost::_bi::list1<boost::_bi::value<GenericMidiControlProtocol*> > >, void>::invoke (function_obj_ptr=...) at /usr/include/boost/function/function_template.hpp:153
#8  0x0000000000f6fa4d in boost::function0<void>::operator() (this=0x7f6af81184a0) at /usr/include/boost/function/function_template.hpp:1013
#9  0x00007f6b44841f31 in ARDOUR::MidiControlUI::do_request (this=0x602bf20, req=0x7f6af8118490) at ../libs/ardour/midi_ui.cc:78
#10 0x00007f6b4484caae in AbstractUI<ARDOUR::MidiUIRequest>::handle_ui_requests (this=0x602bf20) at ../libs/pbd/pbd/abstract_ui.cc:151
#11 0x00007f6b45a3119d in BaseUI::request_handler (this=0x602bf20, ioc=Glib::IO_IN) at ../libs/pbd/base_ui.cc:121
---Type <return> to continue, or q <return> to quit---
#12 0x00007f6b45a322a6 in sigc::bound_mem_functor1<bool, BaseUI, Glib::IOCondition>::operator() (this=0x5e8cef8, _A_a1=@0x7f6b29a6cb3c)
    at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1851
#13 0x00007f6b45a32083 in sigc::adaptor_functor<sigc::bound_mem_functor1<bool, BaseUI, Glib::IOCondition> >::operator()<Glib::IOCondition const&> (
    this=0x5e8cef0, _A_arg1=@0x7f6b29a6cb3c) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:84
#14 0x00007f6b45a31d98 in sigc::internal::slot_call1<sigc::bound_mem_functor1<bool, BaseUI, Glib::IOCondition>, bool, Glib::IOCondition>::call_it (
    rep=0x5e8cec0, a_1=@0x7f6b29a6cb3c) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:137
#15 0x00007f6b400dfb6e in Glib::IOSource::dispatch(sigc::slot_base*) () from /usr/lib/libglibmm-2.4.so.1
#16 0x00007f6b400dfcbf in Glib::Source::dispatch_vfunc(_GSource*, int (*)(void*), void*) () from /usr/lib/libglibmm-2.4.so.1
#17 0x00007f6b40f488c2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#18 0x00007f6b40f4c748 in ?? () from /lib/libglib-2.0.so.0
#19 0x00007f6b40f4cc55 in g_main_loop_run () from /lib/libglib-2.0.so.0
#20 0x00007f6b45a30ebb in BaseUI::main_thread (this=0x602bf20) at ../libs/pbd/base_ui.cc:76
#21 0x00007f6b45a32367 in sigc::bound_mem_functor0<void, BaseUI>::operator() (this=0x602c838) at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1787
#22 0x00007f6b45a321c2 in sigc::adaptor_functor<sigc::bound_mem_functor0<void, BaseUI> >::operator() (this=0x602c830)
    at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
#23 0x00007f6b45a31f1b in sigc::internal::slot_call0<sigc::bound_mem_functor0<void, BaseUI>, void>::call_it (rep=0x602c800)
    at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
#24 0x00007f6b400dc862 in ?? () from /usr/lib/libglibmm-2.4.so.1
#25 0x00007f6b40f71b84 in ?? () from /lib/libglib-2.0.so.0
#26 0x00007f6b3aee39ca in start_thread () from /lib/libpthread.so.0
#27 0x00007f6b3ac406fd in clone () from /lib/libc.so.6
#28 0x0000000000000000 in ?? ()

qharley

2010-12-13 14:22

reporter   ~0009610

This is when the DDX3216 midi map is used with a ddx3216 mixer

qharley

2010-12-13 14:42

reporter   ~0009611

Program terminated with signal 11, Segmentation fault.
#0 0x00007f6b0441c4ec in PBD::Controllable::is_gain_like (this=0x0) at ../libs/pbd/pbd/controllable.h:72
72 bool is_gain_like() const { return _flags & GainLike; }

qharley

2010-12-14 05:22

reporter   ~0009623

After updating to svn this morning,. the problem moved.
It is now possible to activate the feedback, but on any control that required feedback a new crash occurs. Backtrace attached.

2010-12-14 05:22

 

Control_surface_feedback_crash_2.txt (23,511 bytes)
 
Core was generated by `/usr/local/lib/ardour3/ardour-3.0'.
Program terminated with signal 11, Segmentation fault.
#0  0x0000000000f56f9b in boost::detail::function::basic_vtable0<void>::clear (this=0x7f1b17559bc0, functor=...)
    at /usr/include/boost/function/function_template.hpp:503
503               if (base.manager)
(gdb) 
(gdb) 
(gdb) thread apply all bt

Thread 11 (Thread 7453):
#0  0x00007f1b4ebb985c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f1b58484ec1 in ARDOUR::Analyser::work () at ../libs/ardour/analyser.cc:85
#2  0x00007f1b58484bf1 in analyser_work () at ../libs/ardour/analyser.cc:49
#3  0x000000000155a119 in sigc::pointer_functor0<void>::operator()() const ()
#4  0x0000000001558326 in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator()() const ()
#5  0x000000000155586f in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it(sigc::internal::slot_rep*) ()
#6  0x00007f1b53dad862 in ?? () from /usr/lib/libglibmm-2.4.so.1
#7  0x00007f1b54c42b84 in ?? () from /lib/libglib-2.0.so.0
#8  0x00007f1b4ebb49ca in start_thread () from /lib/libpthread.so.0
#9  0x00007f1b4e9116fd in clone () from /lib/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 10 (Thread 7451):
#0  0x00007f1b4ebb985c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f1b58940547 in peak_thread_work () at ../libs/ardour/source_factory.cc:69
#2  0x000000000155a119 in sigc::pointer_functor0<void>::operator()() const ()
#3  0x0000000001558326 in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator()() const ()
#4  0x000000000155586f in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it(sigc::internal::slot_rep*) ()
#5  0x00007f1b53dad862 in ?? () from /usr/lib/libglibmm-2.4.so.1
#6  0x00007f1b54c42b84 in ?? () from /lib/libglib-2.0.so.0
#7  0x00007f1b4ebb49ca in start_thread () from /lib/libpthread.so.0
#8  0x00007f1b4e9116fd in clone () from /lib/libc.so.6
#9  0x0000000000000000 in ?? ()

Thread 9 (Thread 7461):
#0  0x00007f1b4ebb985c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f1b54ee31f1 in ?? () from /usr/lib/libjack.so.0
#2  0x00007f1b54edbe59 in ?? () from /usr/lib/libjack.so.0
#3  0x00007f1b54ee16e0 in ?? () from /usr/lib/libjack.so.0
#4  0x00007f1b4ebb49ca in start_thread () from /lib/libpthread.so.0
#5  0x00007f1b4e9116fd in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 8 (Thread 7470):
#0  0x00007f1b4ebbd11d in nanosleep () from /lib/libpthread.so.0
#1  0x00007f1b54c457d8 in g_usleep () from /lib/libglib-2.0.so.0
#2  0x00007f1b584f5736 in ARDOUR::AudioEngine::meter_thread (this=0x2f85f00) at ../libs/ardour/audioengine.cc:678
#3  0x00007f1b5850efc9 in boost::_mfi::mf0<void, ARDOUR::AudioEngine>::operator() (this=0x50f6120, p=0x2f85f00)
    at /usr/include/boost/bind/mem_fn_template.hpp:49
#4  0x00007f1b5850b74c in boost::_bi::list1<boost::_bi::value<ARDOUR::AudioEngine*> >::operator()<boost::_mfi::mf0<void, ARDOUR::AudioEngine>, boost::_bi::list0> (this=0x50f6130, f=..., a=...) at /usr/include/boost/bind/bind.hpp:246
#5  0x00007f1b5850837f in boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::AudioEngine>, boost::_bi::list1<boost::_bi::value<ARDOUR::AudioEngine*> > >::operator() (this=0x50f6120) at /usr/include/boost/bind/bind_template.hpp:20
#6  0x00007f1b585049dc 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=0x50f6120) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
#7  0x00007f1b58501606 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=0x50f60f0) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
#8  0x00007f1b53dad862 in ?? () from /usr/lib/libglibmm-2.4.so.1
#9  0x00007f1b54c42b84 in ?? () from /lib/libglib-2.0.so.0
#10 0x00007f1b4ebb49ca in start_thread () from /lib/libpthread.so.0
#11 0x00007f1b4e9116fd in clone () from /lib/libc.so.6
#12 0x0000000000000000 in ?? ()

Thread 7 (Thread 7452):
#0  0x00007f1b4ebb985c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f1b58940547 in peak_thread_work () at ../libs/ardour/source_factory.cc:69
#2  0x000000000155a119 in sigc::pointer_functor0<void>::operator()() const ()
#3  0x0000000001558326 in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator()() const ()
#4  0x000000000155586f in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it(sigc::internal::slot_rep*) ()
#5  0x00007f1b53dad862 in ?? () from /usr/lib/libglibmm-2.4.so.1
#6  0x00007f1b54c42b84 in ?? () from /lib/libglib-2.0.so.0
#7  0x00007f1b4ebb49ca in start_thread () from /lib/libpthread.so.0
---Type <return> to continue, or q <return> to quit---
#8  0x00007f1b4e9116fd in clone () from /lib/libc.so.6
#9  0x0000000000000000 in ?? ()

Thread 6 (Thread 7468):
#0  0x00007f1b4e904f83 in poll () from /lib/libc.so.6
#1  0x00007f1b5856d2a2 in ARDOUR::Butler::thread_work (this=0x4eb38d0) at ../libs/ardour/butler.cc:159
#2  0x00007f1b5856d216 in ARDOUR::Butler::_thread_work (arg=0x4eb38d0) at ../libs/ardour/butler.cc:140
#3  0x00007f1b59939694 in fake_thread_start (arg=0x4f57980) at ../libs/pbd/pthread_utils.cc:81
#4  0x00007f1b4ebb49ca in start_thread () from /lib/libpthread.so.0
#5  0x00007f1b4e9116fd in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 5 (Thread 7462):
#0  0x00007f1b4ebbc93d in read () from /lib/libpthread.so.0
#1  0x00007f1b54ee3592 in ?? () from /usr/lib/libjack.so.0
#2  0x00007f1b54ee5d34 in ?? () from /usr/lib/libjack.so.0
#3  0x00007f1b54ee16e0 in ?? () from /usr/lib/libjack.so.0
#4  0x00007f1b4ebb49ca in start_thread () from /lib/libpthread.so.0
#5  0x00007f1b4e9116fd in clone () from /lib/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 4 (Thread 7467):
#0  0x00007f1b4ebbbb50 in sem_wait () from /lib/libpthread.so.0
#1  0x00007f1b586604c2 in PBD::ProcessSemaphore::wait (this=0x4f51588) at ../libs/pbd/pbd/semutils.h:41
#2  0x00007f1b5865dc0b in ARDOUR::Graph::restart_cycle (this=0x4f514b0) at ../libs/ardour/graph.cc:206
#3  0x00007f1b5865dbd5 in ARDOUR::Graph::dec_ref (this=0x4f514b0) at ../libs/ardour/graph.cc:192
#4  0x00007f1b58664892 in ARDOUR::GraphNode::finish (this=0x7f1b3c1584b0, chain=1) at ../libs/ardour/graphnode.cc:61
#5  0x00007f1b5865eb73 in ARDOUR::Graph::run_one (this=0x4f514b0) at ../libs/ardour/graph.cc:352
#6  0x00007f1b5865eea0 in ARDOUR::Graph::main_thread (this=0x4f514b0) at ../libs/ardour/graph.cc:412
#7  0x00007f1b58663c13 in boost::_mfi::mf0<void, ARDOUR::Graph>::operator() (this=0x7f1b17d2fd58, p=0x4f514b0) at /usr/include/boost/bind/mem_fn_template.hpp:49
#8  0x00007f1b58663886 in boost::_bi::list1<boost::_bi::value<ARDOUR::Graph*> >::operator()<boost::_mfi::mf0<void, ARDOUR::Graph>, boost::_bi::list0> (
    this=0x7f1b17d2fd68, f=..., a=...) at /usr/include/boost/bind/bind.hpp:246
#9  0x00007f1b586635ad in boost::_bi::bind_t<void, boost::_mfi::mf0<void, ARDOUR::Graph>, boost::_bi::list1<boost::_bi::value<ARDOUR::Graph*> > >::operator() (
    this=0x7f1b17d2fd58) at /usr/include/boost/bind/bind_template.hpp:20
#10 0x00007f1b58663155 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
#11 0x0000000000f8a5df in boost::function0<void>::operator() (this=0x7f1b17d2fd50) at /usr/include/boost/function/function_template.hpp:1013
#12 0x00007f1b584f8943 in ARDOUR::AudioEngine::_start_process_thread (arg=0x4f51970) at ../libs/ardour/audioengine.cc:1483
#13 0x00007f1b4ebb49ca in start_thread () from /lib/libpthread.so.0
#14 0x00007f1b4e9116fd in clone () from /lib/libc.so.6
#15 0x0000000000000000 in ?? ()

Thread 3 (Thread 7466):
#0  0x00007f1b4e904f83 in poll () from /lib/libc.so.6
#1  0x00007f1b54ee2da6 in ?? () from /usr/lib/libjack.so.0
#2  0x00007f1b54eca26a in ?? () from /usr/lib/libjack.so.0
#3  0x00007f1b54ec7647 in ?? () from /usr/lib/libjack.so.0
#4  0x00007f1b584f496b in ARDOUR::AudioEngine::process_thread (this=0x2f85f00) at ../libs/ardour/audioengine.cc:437
#5  0x00007f1b584f473e in ARDOUR::AudioEngine::_process_thread (arg=0x2f85f00) at ../libs/ardour/audioengine.cc:379
#6  0x00007f1b54ec8f3b in ?? () from /usr/lib/libjack.so.0
#7  0x00007f1b54ee16e0 in ?? () from /usr/lib/libjack.so.0
#8  0x00007f1b4ebb49ca in start_thread () from /lib/libpthread.so.0
#9  0x00007f1b4e9116fd in clone () from /lib/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 2 (Thread 7469):
#0  0x00007f1b4e904f83 in poll () from /lib/libc.so.6
#1  0x00007f1b54c1d4a9 in ?? () from /lib/libglib-2.0.so.0
#2  0x00007f1b54c1dc55 in g_main_loop_run () from /lib/libglib-2.0.so.0
#3  0x00007f1b59903ebb in BaseUI::main_thread (this=0x4f57e10) at ../libs/pbd/base_ui.cc:76
#4  0x00007f1b59905367 in sigc::bound_mem_functor0<void, BaseUI>::operator() (this=0x4f588f8) at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1787
#5  0x00007f1b599051c2 in sigc::adaptor_functor<sigc::bound_mem_functor0<void, BaseUI> >::operator() (this=0x4f588f0)
    at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
#6  0x00007f1b59904f1b in sigc::internal::slot_call0<sigc::bound_mem_functor0<void, BaseUI>, void>::call_it (rep=0x4f588c0)
---Type <return> to continue, or q <return> to quit---
    at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
#7  0x00007f1b53dad862 in ?? () from /usr/lib/libglibmm-2.4.so.1
#8  0x00007f1b54c42b84 in ?? () from /lib/libglib-2.0.so.0
#9  0x00007f1b4ebb49ca in start_thread () from /lib/libpthread.so.0
#10 0x00007f1b4e9116fd in clone () from /lib/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 1 (Thread 7433):
#0  0x0000000000f56f9b in boost::detail::function::basic_vtable0<void>::clear (this=0x7f1b17559bc0, functor=...)
    at /usr/include/boost/function/function_template.hpp:503
#1  0x0000000000f514ad in boost::function0<void>::clear (this=0x7f1b10ad5580) at /usr/include/boost/function/function_template.hpp:856
#2  0x0000000000f4cd7e in ~function0 (this=0x7f1b10ad5580, __in_chrg=<value optimized out>) at /usr/include/boost/function/function_template.hpp:752
#3  0x0000000000f48a4c in ~function (this=0x7f1b10ad5580, __in_chrg=<value optimized out>) at /usr/include/boost/function/function_fwd.hpp:33
#4  0x0000000000f4d748 in ~value (this=0x7f1b10ad5580, __in_chrg=<value optimized out>) at /usr/include/boost/bind/bind.hpp:113
#5  0x0000000000f4d766 in ~storage3 (this=0x7f1b10ad5570, __in_chrg=<value optimized out>) at /usr/include/boost/bind/storage.hpp:126
#6  0x0000000000f4d780 in ~list3 (this=0x7f1b10ad5570, __in_chrg=<value optimized out>) at /usr/include/boost/bind/bind.hpp:346
#7  0x0000000000f4d79e in ~bind_t (this=0x7f1b10ad5560, __in_chrg=<value optimized out>) at /usr/include/boost/bind/bind.hpp:854
#8  0x0000000000f85e24 in boost::detail::function::functor_manager<boost::_bi::bind_t<void, boost::_mfi::mf2<void, PBD::EventLoop, PBD::EventLoop::InvalidationRecord*, boost::function<void ()()> const&>, boost::_bi::list3<boost::_bi::value<PBD::EventLoop*>, boost::_bi::value<PBD::EventLoop::InvalidationRecord*>, boost::_bi::value<boost::function<void ()()> > > > >::manager(boost::detail::function::function_buffer const&, boost::detail::function::function_buffer&, boost::detail::function::functor_manager_operation_type, mpl_::bool_<false>) (in_buffer=..., out_buffer=..., op=boost::detail::function::destroy_functor_tag)
    at /usr/include/boost/function/function_base.hpp:381
#9  0x0000000000f7f3e8 in boost::detail::function::functor_manager<boost::_bi::bind_t<void, boost::_mfi::mf2<void, PBD::EventLoop, PBD::EventLoop::InvalidationRecord*, boost::function<void ()()> const&>, boost::_bi::list3<boost::_bi::value<PBD::EventLoop*>, boost::_bi::value<PBD::EventLoop::InvalidationRecord*>, boost::_bi::value<boost::function<void ()()> > > > >::manager(boost::detail::function::function_buffer const&, boost::detail::function::function_buffer&, boost::detail::function::functor_manager_operation_type, boost::detail::function::function_obj_tag) (in_buffer=..., out_buffer=..., 
    op=boost::detail::function::destroy_functor_tag) at /usr/include/boost/function/function_base.hpp:404
#10 0x0000000000f7702a in boost::detail::function::functor_manager<boost::_bi::bind_t<void, boost::_mfi::mf2<void, PBD::EventLoop, PBD::EventLoop::InvalidationRecord*, boost::function<void ()()> const&>, boost::_bi::list3<boost::_bi::value<PBD::EventLoop*>, boost::_bi::value<PBD::EventLoop::InvalidationRecord*>, boost::_bi::value<boost::function<void ()()> > > > >::manage(boost::detail::function::function_buffer const&, boost::detail::function::function_buffer&, boost::detail::function::functor_manager_operation_type) (in_buffer=..., out_buffer=..., op=boost::detail::function::destroy_functor_tag)
    at /usr/include/boost/function/function_base.hpp:432
#11 0x0000000000f56fbf in boost::detail::function::basic_vtable0<void>::clear (this=0x1f2a890, functor=...)
    at /usr/include/boost/function/function_template.hpp:504
#12 0x0000000000f514ad in boost::function0<void>::clear (this=0x7f1b10ab5aa8) at /usr/include/boost/function/function_template.hpp:856
#13 0x0000000000f4cd7e in ~function0 (this=0x7f1b10ab5aa8, __in_chrg=<value optimized out>) at /usr/include/boost/function/function_template.hpp:752
#14 0x0000000000f48a4c in ~function (this=0x7f1b10ab5aa8, __in_chrg=<value optimized out>) at /usr/include/boost/function/function_fwd.hpp:33
#15 0x0000000000f4d7d9 in ~slot0 (this=0x7f1b10ab5a90, __in_chrg=<value optimized out>) at /usr/include/boost/signals2/detail/slot_template.hpp:36
#16 0x0000000000f7f721 in ~connection_body (this=0x7f1b10ab5a70, __in_chrg=<value optimized out>) at /usr/include/boost/signals2/connection.hpp:90
#17 0x0000000000f7726c in void boost::checked_delete<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot0<void, boost::function<void ()()> >, boost::signals2::mutex> >(boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot0<void, boost::function<void ()()> >, boost::signals2::mutex>*) (x=0x7f1b10ab5a70)
    at /usr/include/boost/checked_delete.hpp:34
#18 0x0000000000f91af2 in boost::detail::sp_counted_impl_p<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot0<void, boost::function<void ()()> >, boost::signals2::mutex> >::dispose() (this=0x7f1b10ad5900)
    at /usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp:78
#19 0x0000000000f0d566 in boost::detail::sp_counted_base::release (this=0x7f1b10ad5900) at /usr/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp:145
#20 0x0000000000f0d5f5 in ~shared_count (this=0x7f1b10ac71f8, __in_chrg=<value optimized out>) at /usr/include/boost/smart_ptr/detail/shared_count.hpp:217
#21 0x0000000000f5da86 in ~shared_ptr (this=0x7f1b10ac71f0, __in_chrg=<value optimized out>) at /usr/include/boost/smart_ptr/shared_ptr.hpp:169
#22 0x0000000000f6e014 in __gnu_cxx::new_allocator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot0<void, boost::function<void ()()> >, boost::signals2::mutex> > >::destroy(boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot0<void, boost::function<void ()()> >, boost::signals2::mutex> >*) (this=0x7fff11deb6ef, __p=0x7f1b10ac71f0) at /usr/include/c++/4.4/ext/new_allocator.h:115
#23 0x0000000000f75d37 in std::list<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot0<void, boost::function<void ()()> >, boost::signals2::mutex> >, std::allocator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot0<void, boost::function<void ()()> >, boost::signals2::mutex> > > >::_M_erase(std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot0<void, boost::function<void ()()> >, boost::signals2::mutex> > >) (this=0x7f1b3c095e30, __position=...)
    at /usr/include/c++/4.4/bits/stl_list.h:1429
#24 0x0000000000f6e737 in std::list<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot0<void, boost::function<void ()()> >, boost::signals2::mutex> >, std::allocator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot0<void, boost::function<void ()()> >, boost::signals2::mutex> > > >::erase(std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot0<void, boost::function<void ()()> >, boost::signals2::mutex> > >) (this=0x7f1b3c095e30, __position=...)
---Type <return> to continue, or q <return> to quit---
    at /usr/include/c++/4.4/bits/list.tcc:111
#25 0x0000000000f6729f in boost::signals2::detail::grouped_list<int, std::less<int>, boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot0<void, boost::function<void ()()> >, boost::signals2::mutex> > >::erase(std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> > const&, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot0<void, boost::function<void ()()> >, boost::signals2::mutex> > > const&) (this=0x7f1b3c095e30, key=..., it=...) at /usr/include/boost/signals2/detail/slot_groups.hpp:159
#26 0x0000000000f61db3 in boost::signals2::detail::signal0_impl<void, boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void ()()>, boost::function<void ()(boost::signals2::connection const&)>, boost::signals2::mutex>::nolock_cleanup_connections(bool, std::_List_iterator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<boost::signals2::detail::slot_meta_group, boost::optional<int> >, boost::signals2::slot0<void, boost::function<void ()()> >, boost::signals2::mutex> > > const&, bool) const (this=0x7f1b3c095db0, grab_tracked=false, begin=..., break_on_connected=true)
    at /usr/include/boost/signals2/detail/signal_template.hpp:431
#27 0x0000000000f5caa5 in boost::signals2::detail::signal0_impl<void, boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void ()()>, boost::function<void ()(boost::signals2::connection const&)>, boost::signals2::mutex>::nolock_cleanup_connections(bool) const (this=0x7f1b3c095db0, 
    grab_tracked=false) at /usr/include/boost/signals2/detail/signal_template.hpp:452
#28 0x0000000000f5721e in boost::signals2::detail::signal0_impl<void, boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void ()()>, boost::function<void ()(boost::signals2::connection const&)>, boost::signals2::mutex>::operator()() (this=0x7f1b3c095db0)
    at /usr/include/boost/signals2/detail/signal_template.hpp:232
#29 0x0000000000f5150a in boost::signals2::signal0<void, boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void ()()>, boost::function<void ()(boost::signals2::connection const&)>, boost::signals2::mutex>::operator()() (this=0x7f1b3c0956b8)
    at /usr/include/boost/signals2/detail/signal_template.hpp:675
#30 0x0000000000f4cfc8 in PBD::Signal0<void>::operator() (this=0x7f1b3c0956b8) at ../libs/pbd/pbd/signals.h:104
#31 0x00007f1b5854f720 in ARDOUR::AutomationControl::set_value (this=0x7f1b3c0955e0, value=0.91037708520889282) at ../libs/ardour/automation_control.cc:66
#32 0x00007f1b5846dd85 in ARDOUR::Amp::GainControl::set_value (this=0x7f1b3c0955e0, val=0.91037708520889282) at ../libs/ardour/amp.cc:421
#33 0x00007f1b5846dbac in ARDOUR::Amp::set_gain (this=0x7f1b3c093a20, val=0.910377085, src=0x7f1b3c154d28) at ../libs/ardour/amp.cc:377
#34 0x00007f1b587f270b in ARDOUR::Route::set_gain (this=0x7f1b3c089fa0, val=0.910377085, src=0x7f1b3c154d28) at ../libs/ardour/route.cc:370
#35 0x00000000013458ab in GainMeterBase::gain_adjusted (this=0x7f1b3c154d28) at ../gtk2_ardour/gain_meter.cc:406
#36 0x00000000013501ad in sigc::bound_mem_functor0<void, GainMeterBase>::operator() (this=0x7f1b3c150c78)
    at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1787
#37 0x000000000134f2ac in sigc::adaptor_functor<sigc::bound_mem_functor0<void, GainMeterBase> >::operator() (this=0x7f1b3c150c70)
    at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
#38 0x000000000134de13 in sigc::internal::slot_call0<sigc::bound_mem_functor0<void, GainMeterBase>, void>::call_it (rep=0x7f1b3c150c40)
    at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
#39 0x00007f1b53db5c52 in Glib::SignalProxyNormal::slot0_void_callback(_GObject*, void*) () from /usr/lib/libglibmm-2.4.so.1
#40 0x00007f1b53b3c5de in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#41 0x00007f1b53b509a4 in ?? () from /usr/lib/libgobject-2.0.so.0
#42 0x00007f1b53b51a76 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#43 0x00007f1b53b52033 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#44 0x00007f1b5318155a in gtk_adjustment_value_changed () from /usr/lib/libgtk-x11-2.0.so.0
#45 0x00007f1b574c45d7 in Gtkmm2ext::PixFader::on_motion_notify_event (this=0x7f1b3f808880, ev=0x5a5a5d0) at ../libs/gtkmm2ext/pixfader.cc:290
#46 0x00007f1b50f975f3 in Gtk::Widget_Class::motion_notify_event_callback(_GtkWidget*, _GdkEventMotion*) () from /usr/lib/libgtkmm-2.4.so.1
#47 0x00007f1b53242178 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#48 0x00007f1b53b3c5de in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#49 0x00007f1b53b501dd in ?? () from /usr/lib/libgobject-2.0.so.0
#50 0x00007f1b53b518b9 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#51 0x00007f1b53b52033 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#52 0x00007f1b533590bf in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#53 0x00007f1b5323a643 in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0
#54 0x00007f1b5323b71b in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#55 0x00007f1b52eaf86c in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#56 0x00007f1b54c198c2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#57 0x00007f1b54c1d748 in ?? () from /lib/libglib-2.0.so.0
#58 0x00007f1b54c1dc55 in g_main_loop_run () from /lib/libglib-2.0.so.0
#59 0x00007f1b5323bbb7 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#60 0x00007f1b5749f49b in Gtkmm2ext::UI::run (this=0x2600700, old_receiver=...) at ../libs/gtkmm2ext/gtk_ui.cc:265
#61 0x00000000013bafc4 in main (argc=1, argv=0x7fff11deca18) at ../gtk2_ardour/main.cc:602

qharley

2010-12-14 20:37

reporter   ~0009630

The problem lies at the implementation of the DDX3216 midi map. I am busy making a new version of it that should behave.

paul

2010-12-14 23:18

administrator   ~0009631

i don't think it has anything to do with your map. we haven't been testing the feedback mechanism at all so far.

qharley

2010-12-18 06:20

reporter   ~0009657

Yes, you are quite right. Feedback itself works great (if you disregard the fighting from the desk - other bug), only if you have more controllable tracks than you have controllable tracks on the control surface. I suspected my midi map, because by chance I got it working by selecting one of the other midi maps, and even though the controls were messed up it worked.

The segfault happens in any generic midi control surface.

So to recap: to make it fail you need
- More controllable faders on your control desk than you have controllable tracks in your project
- Switched to a bank that tries to address tracks that are not present.

I am looking for the code that does the actual control and fails, but cannot seem to find it yet. The same code works fine if you turn off midi feedback.

I am testing the feedback mechanism for you ;-) We'll get there, soon!

qharley

2010-12-18 06:21

reporter   ~0009658

You can recreate the segfault even in the absence of an control desk.

See notes for conditions

ovenwerks

2015-07-05 05:49

reporter   ~0016842

Last edited: 2015-07-06 04:08

Wow, Looks like this is still here in 2015. Is this still a problem? It seems to work for me with anything I can throw at it.

Issue History

Date Modified Username Field Change
2010-12-13 14:19 qharley New Issue
2010-12-13 14:19 qharley File Added: Contol_surface_feedback_crash.txt
2010-12-13 14:22 qharley Note Added: 0009610
2010-12-13 14:42 qharley Note Added: 0009611
2010-12-13 22:02 cth103 cost => 0.00
2010-12-13 22:03 cth103 Target Version => 3.0-alpha1
2010-12-14 05:22 qharley Note Added: 0009623
2010-12-14 05:22 qharley File Added: Control_surface_feedback_crash_2.txt
2010-12-14 20:37 qharley Note Added: 0009630
2010-12-14 20:45 qharley Status new => assigned
2010-12-14 23:18 paul Note Added: 0009631
2010-12-18 06:20 qharley Note Added: 0009657
2010-12-18 06:21 qharley Note Added: 0009658
2010-12-18 06:21 qharley Status assigned => confirmed
2015-07-05 05:49 ovenwerks Note Added: 0016842
2015-07-06 04:08 ovenwerks Note Edited: 0016842