View Issue Details

IDProjectCategoryView StatusLast Update
0003308ardourbugspublic2010-07-10 10:05
Reporterapmontgo Assigned To 
PrioritynormalSeveritycrashReproducibilityalways
Status newResolutionopen 
Product Version2.8.11 
Target Version2.8.12 
Summary0003308: Using BCF2000 with Mackie and Generic midi w/ feedback crashes Ardour
DescriptionRepro steps:
connect BCF2000 to ardour and vice versa
Create a new project
enable generic midi surface: Options->Control surfaces->Generic Midi
enable mackie surface: OptionsOptions->Control surfaces->Mackie
enable feedback: OptionsOptions->Control surfaces->Feedback

assign master volume fader to a BCF fader:
ctrl+middle click on master fader
move a fader on BCF

crash ardour:
using the mouse, drag the master fader back and forth (fader on BCF should move up and down as you do so) several times.
Let go of mouse button.
Repeat.
Ardour will crash.

If I go nuts on the fader and let it go and retry a couple times, I can consistently crash ardour within 30 seconds.

Backtrace attached.

------

I would guess that you shouldn't really have mackie and generic midi enabled at the same time, but I managed to do this quite accidentally, and obviously the crash without any indication of user error is maddening. I didn't realize I had mackie enabled, and once I disable it I don't seem to get the crash anymore.
Additional Informationardour2 --version
Ardour 2.8.11
(built using 7387 and GCC version 4.4.4)

jackd --version
jackdmp version 1.9.5 tmpdir /dev/shm protocol 7
Tagssurface, surfaces

Activities

2010-07-10 08:29

 

ardourBt.txt (12,727 bytes)   
Program received signal SIGBUS, Bus error.
0x00007fffd43c14a0 in ?? ()
(gdb) thread apply all bt

Thread 16 (Thread 0x7fffd80fd830 (LWP 31787)):
#0  0x0000003b05ca163d in nanosleep () from /lib/libc.so.6
#1  0x0000003b05ccb254 in usleep () from /lib/libc.so.6
#2  0x00007fffcdcdcd87 in MackieControlProtocol::poll_ports (this=0x7fffd4012b80) at libs/surfaces/mackie/mackie_control_protocol_poll.cc:162
#3  0x00007fffcdcdc712 in MackieControlProtocol::monitor_work (this=0x7fffd4012b80) at libs/surfaces/mackie/mackie_control_protocol_poll.cc:54
#4  0x00007fffcdce9562 in MackieControlProtocol::_monitor_work (arg=0x7fffd4012b80) at libs/surfaces/mackie/mackie_control_protocol.cc:800
#5  0x0000003b064068e4 in start_thread () from /lib/libpthread.so.0
#6  0x0000003b05cd127d in clone () from /lib/libc.so.6

Thread 15 (Thread 0x7fffd8178830 (LWP 31786)):
#0  0x0000003b05cc85c3 in poll () from /lib/libc.so.6
#1  0x00007ffff7cb154a in ARDOUR::Session::midi_thread_work (this=0x2773910) at libs/ardour/session_midi.cc:1220
#2  0x00007ffff7cb1032 in ARDOUR::Session::_midi_thread_work (arg=0x2773910) at libs/ardour/session_midi.cc:1138
#3  0x0000003b064068e4 in start_thread () from /lib/libpthread.so.0
#4  0x0000003b05cd127d in clone () from /lib/libc.so.6

Thread 14 (Thread 0x7fffd81f3830 (LWP 31785)):
#0  0x0000003b05cc85c3 in poll () from /lib/libc.so.6
#1  0x00007ffff7c4dd67 in ARDOUR::Session::butler_thread_work (this=0x2773910) at libs/ardour/session_butler.cc:179
#2  0x00007ffff7c4dccc in ARDOUR::Session::_butler_thread_work (arg=0x2773910) at libs/ardour/session_butler.cc:159
#3  0x0000003b064068e4 in start_thread () from /lib/libpthread.so.0
#4  0x0000003b05cd127d in clone () from /lib/libc.so.6

Thread 13 (Thread 0x7fffd826e830 (LWP 31784)):
#0  0x0000003b0640e96d in nanosleep () from /lib/libpthread.so.0
#1  0x0000003b07469b88 in g_usleep () from /usr/lib/libglib-2.0.so.0
#2  0x00007ffff6f88ce0 in Glib::usleep (microseconds=10000) at libs/glibmm2/glibmm/timer.cc:68
#3  0x00007ffff7b168ec in ARDOUR::AudioEngine::meter_thread (this=0x11e6870) at libs/ardour/audioengine.cc:472
#4  0x00007ffff7b1ed2d in sigc::bound_mem_functor0<void, ARDOUR::AudioEngine>::operator() (this=0x275fbc8) at libs/sigc++2/sigc++/functors/mem_fun.h:1787
#5  0x00007ffff7b1eaa4 in sigc::adaptor_functor<sigc::bound_mem_functor0<void, ARDOUR::AudioEngine> >::operator() (this=0x275fbc0) at libs/sigc++2/sigc++/adaptors/adaptor_trait.h:251
#6  0x00007ffff7b1e481 in sigc::internal::slot_call0<sigc::bound_mem_functor0<void, ARDOUR::AudioEngine>, void>::call_it (rep=0x275fb90) at libs/sigc++2/sigc++/functors/slot.h:103
#7  0x0000000000818ae2 in sigc::slot0<void>::operator() (this=0x2625d50) at libs/sigc++2/sigc++/functors/slot.h:440
#8  0x00007ffff6f9c8b8 in call_thread_entry_slot (data=0x2625d50) at libs/glibmm2/glibmm/thread.cc:43
#9  0x0000003b07466fa6 in ?? () from /usr/lib/libglib-2.0.so.0
#10 0x0000003b064068e4 in start_thread () from /lib/libpthread.so.0
#11 0x0000003b05cd127d in clone () from /lib/libc.so.6

Thread 12 (Thread 0x7fffd82f0710 (LWP 31783)):
#0  0x0000003b05cc85c3 in poll () from /lib/libc.so.6
#1  0x0000003ce1229a16 in ?? () from /usr/lib/libjack.so.0
#2  0x0000003ce12110bb in ?? () from /usr/lib/libjack.so.0
#3  0x0000003ce120fe5f in ?? () from /usr/lib/libjack.so.0
#4  0x0000003ce1228460 in ?? () from /usr/lib/libjack.so.0
#5  0x0000003b064068e4 in start_thread () from /lib/libpthread.so.0
#6  0x0000003b05cd127d in clone () from /lib/libc.so.6

Thread 11 (Thread 0x7ffff0112710 (LWP 31782)):
#0  0x0000003b0640e23d in read () from /lib/libpthread.so.0
#1  0x0000003ce122a202 in ?? () from /usr/lib/libjack.so.0
#2  0x0000003ce122c877 in ?? () from /usr/lib/libjack.so.0
#3  0x0000003ce1228460 in ?? () from /usr/lib/libjack.so.0
#4  0x0000003b064068e4 in start_thread () from /lib/libpthread.so.0
#5  0x0000003b05cd127d in clone () from /lib/libc.so.6

Thread 10 (Thread 0x7ffff0193710 (LWP 31781)):
#0  0x0000003b0640b28c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x0000003ce1229e61 in ?? () from /usr/lib/libjack.so.0
#2  0x0000003ce1222d79 in ?? () from /usr/lib/libjack.so.0
#3  0x0000003ce1228460 in ?? () from /usr/lib/libjack.so.0
#4  0x0000003b064068e4 in start_thread () from /lib/libpthread.so.0
---Type <return> to continue, or q <return> to quit---
#5  0x0000003b05cd127d in clone () from /lib/libc.so.6

Thread 4 (Thread 0x7ffff3407710 (LWP 31775)):
#0  0x0000003b0640b28c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007ffff6f9d35d in Glib::Cond::wait (this=0x13345a0, mutex=...) at libs/glibmm2/glibmm/thread.cc:362
#2  0x00007ffff7af50f2 in ARDOUR::Analyser::work () at libs/ardour/analyser.cc:85
#3  0x00007ffff7af4d9d in analyser_work () at libs/ardour/analyser.cc:49
#4  0x0000000000bcccb9 in sigc::pointer_functor0<void>::operator()() const ()
#5  0x0000000000bcc046 in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator()() const ()
#6  0x0000000000bca9f7 in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it(sigc::internal::slot_rep*) ()
#7  0x0000000000818ae2 in sigc::slot0<void>::operator() (this=0x1334600) at libs/sigc++2/sigc++/functors/slot.h:440
#8  0x00007ffff6f9c8b8 in call_thread_entry_slot (data=0x1334600) at libs/glibmm2/glibmm/thread.cc:43
#9  0x0000003b07466fa6 in ?? () from /usr/lib/libglib-2.0.so.0
#10 0x0000003b064068e4 in start_thread () from /lib/libpthread.so.0
#11 0x0000003b05cd127d in clone () from /lib/libc.so.6

Thread 3 (Thread 0x7ffff3c08710 (LWP 31774)):
#0  0x0000003b0640b28c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007ffff6f9d35d in Glib::Cond::wait (this=0x1333ff0, mutex=...) at libs/glibmm2/glibmm/thread.cc:362
#2  0x00007ffff7cecb62 in peak_thread_work () at libs/ardour/source_factory.cc:65
#3  0x0000000000bcccb9 in sigc::pointer_functor0<void>::operator()() const ()
#4  0x0000000000bcc046 in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator()() const ()
#5  0x0000000000bca9f7 in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it(sigc::internal::slot_rep*) ()
#6  0x0000000000818ae2 in sigc::slot0<void>::operator() (this=0x1334320) at libs/sigc++2/sigc++/functors/slot.h:440
#7  0x00007ffff6f9c8b8 in call_thread_entry_slot (data=0x1334320) at libs/glibmm2/glibmm/thread.cc:43
#8  0x0000003b07466fa6 in ?? () from /usr/lib/libglib-2.0.so.0
#9  0x0000003b064068e4 in start_thread () from /lib/libpthread.so.0
#10 0x0000003b05cd127d in clone () from /lib/libc.so.6

Thread 2 (Thread 0x7ffff4409710 (LWP 31773)):
#0  0x0000003b0640b28c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007ffff6f9d35d in Glib::Cond::wait (this=0x1333ff0, mutex=...) at libs/glibmm2/glibmm/thread.cc:362
#2  0x00007ffff7cecb62 in peak_thread_work () at libs/ardour/source_factory.cc:65
#3  0x0000000000bcccb9 in sigc::pointer_functor0<void>::operator()() const ()
#4  0x0000000000bcc046 in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator()() const ()
#5  0x0000000000bca9f7 in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it(sigc::internal::slot_rep*) ()
#6  0x0000000000818ae2 in sigc::slot0<void>::operator() (this=0x1334010) at libs/sigc++2/sigc++/functors/slot.h:440
#7  0x00007ffff6f9c8b8 in call_thread_entry_slot (data=0x1334010) at libs/glibmm2/glibmm/thread.cc:43
#8  0x0000003b07466fa6 in ?? () from /usr/lib/libglib-2.0.so.0
#9  0x0000003b064068e4 in start_thread () from /lib/libpthread.so.0
#10 0x0000003b05cd127d in clone () from /lib/libc.so.6

Thread 1 (Thread 0x7ffff534e880 (LWP 31772)):
#0  0x00007fffd43c14a0 in ?? ()
#1  0x00007fffcdcea88c in MackieControlProtocol::notify_gain_changed (this=0x7fffd4012b80, route_signal=0x7fffd42033f0, force_update=true) at libs/surfaces/mackie/mackie_control_protocol.cc:1039
#2  0x00007fffcdcd8806 in sigc::bound_mem_functor2<void, MackieControlProtocol, Mackie::RouteSignal*, bool>::operator() (this=0x7fffd4203650, _A_a1=@0x7fffd4203670, _A_a2=@0x7fffd4203678) at libs/sigc++2/sigc++/functors/mem_fun.h:1917
#3  0x00007fffcdcd83c9 in sigc::adaptor_functor<sigc::bound_mem_functor2<void, MackieControlProtocol, Mackie::RouteSignal*, bool> >::operator()<Mackie::RouteSignal*&, bool&> (this=0x7fffd4203648, _A_arg1=@0x7fffd4203670, _A_arg2=
    @0x7fffd4203678) at libs/sigc++2/sigc++/adaptors/adaptor_trait.h:103
#4  0x00007fffcdcd7ff0 in sigc::bind_functor<-1, sigc::bound_mem_functor2<void, MackieControlProtocol, Mackie::RouteSignal*, bool>, Mackie::RouteSignal*, bool, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::operator() (this=
    0x7fffd4203640) at libs/sigc++2/sigc++/adaptors/bind.h:1324
#5  0x00007fffcdcd79f1 in sigc::internal::slot_call0<sigc::bind_functor<-1, sigc::bound_mem_functor2<void, MackieControlProtocol, Mackie::RouteSignal*, bool>, Mackie::RouteSignal*, bool, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, void>::call_it (rep=0x7fffd4203610) at libs/sigc++2/sigc++/functors/slot.h:103
#6  0x000000000083ed9b in sigc::internal::signal_emit0<void, sigc::nil>::emit (impl=0x7fffd42035f0) at libs/sigc++2/sigc++/signal.h:772
#7  0x0000000000845380 in sigc::signal0<void, sigc::nil>::emit (this=0x7fffd40110b0) at libs/sigc++2/sigc++/signal.h:2667
#8  0x0000000000842892 in sigc::signal0<void, sigc::nil>::operator() (this=0x7fffd40110b0) at libs/sigc++2/sigc++/signal.h:2675
#9  0x00007ffff7bdae6a in ARDOUR::IO::set_gain (this=0x7fffd4010ec0, val=1.89767694, src=0x2a0b178) at libs/ardour/io.cc:2660
#10 0x00007ffff7c35627 in ARDOUR::Route::set_gain (this=0x7fffd4010ec0, val=1.89767694, src=0x2a0b178) at libs/ardour/route.cc:272
#11 0x0000000000aa0879 in GainMeterBase::gain_adjusted (this=0x2a0b178) at gtk2_ardour/gain_meter.cc:374
#12 0x0000000000aa9cff in sigc::bound_mem_functor0<void, GainMeterBase>::operator() (this=0x2a168c8) at libs/sigc++2/sigc++/functors/mem_fun.h:1787
#13 0x0000000000aa8f54 in sigc::adaptor_functor<sigc::bound_mem_functor0<void, GainMeterBase> >::operator() (this=0x2a168c0) at libs/sigc++2/sigc++/adaptors/adaptor_trait.h:251
#14 0x0000000000aa7b8f in sigc::internal::slot_call0<sigc::bound_mem_functor0<void, GainMeterBase>, void>::call_it (rep=0x2a16890) at libs/sigc++2/sigc++/functors/slot.h:103
---Type <return> to continue, or q <return> to quit---
#15 0x0000000000818ae2 in sigc::slot0<void>::operator() (this=0x2a16868) at libs/sigc++2/sigc++/functors/slot.h:440
#16 0x00007ffff6f917f1 in Glib::SignalProxyNormal::slot0_void_callback (self=0x2a095e0, data=0x2a16860) at libs/glibmm2/glibmm/signalproxy.cc:95
#17 0x0000003b07c0d4fa in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#18 0x0000003b07c21a73 in ?? () from /usr/lib/libgobject-2.0.so.0
#19 0x0000003b07c22b70 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#20 0x0000003b07c23103 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#21 0x0000003cdca7e39a in gtk_adjustment_value_changed () from /usr/lib/libgtk-x11-2.0.so.0
#22 0x00007ffff6b61052 in Gtk::Adjustment::set_value (this=0x2a0b1c0, value=0.98177952559097958) at libs/gtkmm2/gtk/gtkmm/adjustment.cc:275
#23 0x00007ffff66a58f1 in Gtkmm2ext::PixFader::on_motion_notify_event (this=0x2a12600, ev=0x2b3c070) at libs/gtkmm2ext/pixfader.cc:288
#24 0x00007ffff6c1bdda in Gtk::Widget_Class::motion_notify_event_callback (self=0x280cea0, p0=0x2b3c070) at libs/gtkmm2/gtk/gtkmm/widget.cc:3864
#25 0x0000003cdcb3e8d8 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#26 0x0000003b07c0d4fa in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#27 0x0000003b07c212a0 in ?? () from /usr/lib/libgobject-2.0.so.0
#28 0x0000003b07c22988 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#29 0x0000003b07c23103 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#30 0x0000003cdcc548cf in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#31 0x0000003cdcb36dc3 in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0
#32 0x0000003cdcb37e7b in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#33 0x0000003cdd25ca7c in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#34 0x0000003b0743decf in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#35 0x0000003b07441d08 in ?? () from /usr/lib/libglib-2.0.so.0
#36 0x0000003b0744221d in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#37 0x0000003cdcb38317 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#38 0x00007ffff6b7cc97 in Gtk::Main::run_impl (this=0x1102e40) at libs/gtkmm2/gtk/gtkmm/main.cc:503
#39 0x00007ffff6b7ca8b in Gtk::Main::run () at libs/gtkmm2/gtk/gtkmm/main.cc:450
#40 0x00007ffff6698990 in Gtkmm2ext::UI::run (this=0x10fd550, old_receiver=...) at libs/gtkmm2ext/gtk_ui.cc:230
#41 0x0000000000b155a3 in main (argc=1, argv=0x7fffffffda28) at gtk2_ardour/main.cc:398
(gdb) 

ardourBt.txt (12,727 bytes)   

Issue History

Date Modified Username Field Change
2010-07-10 08:29 apmontgo New Issue
2010-07-10 08:29 apmontgo File Added: ardourBt.txt
2010-07-10 08:56 apmontgo Tag Attached: surface
2010-07-10 08:56 apmontgo Tag Attached: surfaces
2010-07-10 10:05 cth103 cost => 0.00
2010-07-10 10:05 cth103 Target Version => 2.8.12