View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0006057 | ardour | bugs | public | 2014-12-03 21:55 | 2020-04-19 20:16 |
| Reporter | pablomme | Assigned To | drobilla | ||
| Priority | normal | Severity | crash | Reproducibility | sometimes |
| Status | closed | Resolution | fixed | ||
| Summary | 0006057: Crash when recording audio and MIDI | ||||
| Description | I have encountered a crashing bug when recording audio and MIDI simultaneously (namely three audio tracks and one MIDI track attached to an electronic drumkit) with more-or-less recent GIT versions of Ardour. The crash occurs when I press the spacebar to stop the recording 3--5 minutes after starting. The resulting .mid file is often of zero length, while the .wav files seem to contain the audio all the way to the point where the crash occured. I've tried to reproduce this bug with an un-optimized compilation but I didn't seem to be able to trigger it. However I have managed to reproduce the crash with an optimized build with debugging symbols run under gdb; the backtrace is under "additional information". I'm running Ardour on 64-bit Ubuntu 14.04, and I'm using a Presonus Audiobox 1818VSL, in case that helps. | ||||
| Additional Information | Backtrace (GIT commit b52d8e5): Program received signal SIGSEGV, Segmentation fault. MidiStreamView::display_region (this=this@entry=0x5702800, region_view=region_view@entry=0xa973600, load_model=load_model@entry=true) at ../gtk2_ardour/midi_streamview.cc:188 188 source->model()->highest_note()); (gdb) bt #0 MidiStreamView::display_region (this=this@entry=0x5702800, region_view=region_view@entry=0xa973600, load_model=load_model@entry=true) at ../gtk2_ardour/midi_streamview.cc:188 0000001 0x0000000000904600 in MidiStreamView::add_region_view_internal ( this=0x5702800, r=..., wait_for_data=<optimised out>, recording=<optimised out>) at ../gtk2_ardour/midi_streamview.cc:155 #2 0x0000000000b27aa0 in StreamView::add_region_view (this=0x5702800, wr=...) at ../gtk2_ardour/streamview.cc:171 #3 0x0000000000b2ad85 in operator() (a1=..., p=<optimised out>, this=<optimised out>) at /usr/include/boost/bind/mem_fn_template.hpp:165 0000004 operator()<boost::_mfi::mf1<void, StreamView, boost::weak_ptr<ARDOUR::Region> >, boost::_bi::list1<boost::weak_ptr<ARDOUR::Region>&> > ( a=<synthetic pointer>, f=..., this=<optimised out>) at /usr/include/boost/bind/bind.hpp:313 0000005 operator()<boost::weak_ptr<ARDOUR::Region> > (a1=..., this=<optimised out>) at /usr/include/boost/bind/bind_template.hpp:32 #6 boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void, boost::_mfi::mf1<void, StreamView, boost::weak_ptr<ARDOUR::Region> >, boost::_bi::list2<boost::_bi::value<StreamView*>, boost::arg<1> > >, void, boost::weak_ptr<ARDOUR::Region> >::invoke (function_obj_ptr=..., a0=...) at /usr/include/boost/function/function_template.hpp:153 #7 0x0000000000b0c437 in operator() (a0=..., this=<optimised out>) at /usr/include/boost/function/function_template.hpp:767 0000008 operator()<boost::function<void(boost::weak_ptr<ARDOUR::Region>)>, boost::_bi::list0> (a=<synthetic pointer>, f=..., this=<optimised out>) at /usr/include/boost/bind/bind.hpp:253 0000009 operator() (this=<optimised out>) at /usr/include/boost/bind/bind_template.hpp:20 0000010 boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<boost::_bi::unspecified, boost::function<void (boost::weak_ptr<ARDOUR::Region>)>, boost::_bi::list1<boost::_bi::value<boost::weak_ptr<ARDOUR::Region> > > >, void>::invoke(boost::detail::function::function_buffer&) (function_obj_ptr=...) at /usr/include/boost/function/function_template.hpp:153 0000011 0x00002aaaabec08e0 in operator() (this=0x2aab283efd30) at /usr/include/boost/function/function_template.hpp:767 0000012 Gtkmm2ext::UI::do_request (this=<optimised out>, req=0x2aab283efd20) at ../libs/gtkmm2ext/gtk_ui.cc:453 0000013 0x00002aaaabec545a in AbstractUI<Gtkmm2ext::UIRequest>::handle_ui_requests (this=0x15e5920) at /large/pablo/tmp/ardour/libs/pbd/pbd/abstract_ui.cc:301 0000014 0x00002aaaac158be7 in BaseUI::request_handler (this=0x15e5920, ioc=<optimised out>) at ../libs/pbd/base_ui.cc:164 #15 0x00002aaaac83688c in Glib::IOSource::dispatch(sigc::slot_base*) () from /usr/lib/x86_64-linux-gnu/libglibmm-2.4.so.1 0000016 0x00002aaaac83635f in Glib::Source::dispatch_vfunc(_GSource*, int (*)(void*), void*) () from /usr/lib/x86_64-linux-gnu/libglibmm-2.4.so.1 #17 0x00002aaaacef9ce5 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 0000018 0x00002aaaacefa048 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 0000019 0x00002aaaacefa30a in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 0000020 0x00002aaaad2e4447 in gtk_main () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 0000021 0x00002aaaabebf2f6 in Gtkmm2ext::UI::run (this=this@entry=0x15e5920, old_receiver=...) at ../libs/gtkmm2ext/gtk_ui.cc:278 0000022 0x000000000064557d in main (argc=1, argv=0x7fffffffe138) at ../gtk2_ardour/main.cc:281 | ||||
| Tags | No tags attached. | ||||
|
|
I can't reproduce this issue, but at least fixed the crash in 9f5023175f60d0c9470f799530e2c6077629f65e The issue may persist but only result in a region not being shown. Please amend ticket if you find some more information or a reliable reproduction. |
|
|
Thanks for the fix. Could this be a race condition with a thread trying to access the contents of the MIDI track when the other is not yet done instantiating it? In any case, this is a minor problem now that it doesn't crash Ardour. |
|
|
Something like that. It was a locking issue. I'm pretty sure this should be truly fixed now. Feel free to re-open if not. |
|
|
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. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2014-12-03 21:55 | pablomme | New Issue | |
| 2014-12-06 21:49 | drobilla | Note Added: 0016021 | |
| 2014-12-06 21:49 | drobilla | Assigned To | => drobilla |
| 2014-12-06 21:49 | drobilla | Status | new => feedback |
| 2014-12-06 21:49 | drobilla | Resolution | open => fixed |
| 2014-12-10 16:27 | pablomme | Note Added: 0016022 | |
| 2014-12-23 19:25 | drobilla | Note Added: 0016079 | |
| 2014-12-23 19:25 | drobilla | Status | feedback => resolved |
| 2020-04-19 20:16 | system | Note Added: 0023346 | |
| 2020-04-19 20:16 | system | Status | resolved => closed |