View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0006836 | ardour | bugs | public | 2016-03-26 00:32 | 2016-10-03 08:57 |
Reporter | ap1325 | Assigned To | |||
Priority | high | Severity | crash | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Platform | Linux | OS | KXStudio | OS Version | Ubuntu 14.04.4 |
Product Version | 4.7 | ||||
Summary | 0006836: Ardour crashes when pressing and releasing the delete key while dragging a note. | ||||
Description | On a midi track if you try to drag notes on internal edit mode, but then realize you want to delete a key and press and release the delete key while you are still dragging the note, Ardour crashes. I happes almost every time if not always. You would be surprised of how often this happens to some people while editing midi in a rush. | ||||
Steps To Reproduce | 1.- Just open Ardour and make a MIDI track. 2.- Record or draw notes on it. 3.- Click on a midi note without releasing the left mouse button, and move the MIDI note to another position on the screen on the same MIDI track it was before. 4.- Without having released the left mouse button press and release the delete key. 5.- Now release the left mouse button and see how Ardour closes without a warning. It happened five out of seven times the last time I checked on my computer so you should have no problem to reproduce the crash. | ||||
Additional Information | Intel core i3, 16gb DDR3 ram memory, two HDDs (180Gb and 500Gb) , GT520 Nvidia Graphics card, USB Mbox2 audio interface. | ||||
Tags | No tags attached. | ||||
related to | 0006602 | new | crash in undo if two operations are performed at the same time |
|
Maybe related to 0006602. See also https://github.com/Ardour/ardour/pull/150 |
|
I can't reproduce this issue with version 5.3, can you please re-test and confirm whether this is now fixed. |
|
I can still reproduce this issue with 5.3.70 compiled on Fedora 24 x86_64. I will try to apply this patch https://github.com/Ardour/ardour/pull/150/commits/a66b6f5cc5bea3e56e2705a9ece2a2355b771dc2 and check again. This is the backtrace: Thread 1 "ardour-5.3.70" received signal SIGSEGV, Segmentation fault. 0x00000000006c083f in boost::detail::atomic_increment (pw=0x89c718 <SimpleMementoCommandBinder<SelectionMemento>::object_died()+8>) at /usr/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp:66 66 ); #0 0x00000000006c083f in boost::detail::atomic_increment(int*) (pw=0x89c718 <SimpleMementoCommandBinder<SelectionMemento>::object_died()+8>) at /usr/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp:66 0000001 0x00000000006c0862 in boost::detail::sp_counted_base::add_ref_copy() (this=0x89c710 <SimpleMementoCommandBinder<SelectionMemento>::object_died()>) at /usr/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp:134 #2 0x00000000006c08b5 in boost::detail::shared_count::shared_count(boost::detail::shared_count const&) (this=0x7fffffffc1b8, r=...) at /usr/include/boost/smart_ptr/detail/shared_count.hpp:484 #3 0x0000000000846c83 in boost::shared_ptr<Evoral::Note<Evoral::Beats> >::shared_ptr(boost::shared_ptr<Evoral::Note<Evoral::Beats> > const&) (this=0x7fffffffc1b0, r=...) at /usr/include/boost/smart_ptr/shared_ptr.hpp:405 0000004 0x0000000000846c43 in NoteBase::note() const (this=0x6cd7f50) at ../gtk2_ardour/note_base.h:100 0000005 0x0000000000932482 in NoteDrag::total_dx(unsigned int) const (this=0x1e57e60, state=256) at ../gtk2_ardour/editor_drag.cc:5588 #6 0x0000000000932de9 in NoteDrag::finished(_GdkEvent*, bool) (this=0x1e57e60, ev=0x1dd9ea0, moved=true) at ../gtk2_ardour/editor_drag.cc:5723 #7 0x0000000000915991 in Drag::end_grab(_GdkEvent*) (this=0x1e57e60, event=0x1dd9ea0) at ../gtk2_ardour/editor_drag.cc:318 0000008 0x0000000000915212 in DragManager::end_grab(_GdkEvent*) (this=0x39abec0, e=0x1dd9ea0) at ../gtk2_ardour/editor_drag.cc:157 0000009 0x000000000090e8ac in Editor::track_canvas_button_release_event(_GdkEventButton*) (this=0x3aa4130, event=0x1dd9ea0) at ../gtk2_ardour/editor_canvas_events.cc:183 0000010 0x00000000008b291c in sigc::bound_mem_functor1<bool, Editor, _GdkEventButton*>::operator()(_GdkEventButton* const&) const (this=0x3865308, _A_a1=@0x7fffffffc398: 0x1dd9ea0) at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:2064 0000011 0x00000000008a9387 in sigc::adaptor_functor<sigc::bound_mem_functor1<bool, Editor, _GdkEventButton*> >::operator()<_GdkEventButton* const&>(_GdkEventButton* const&) const (this=0x3865300, _A_arg1=@0x7fffffffc398: 0x1dd9ea0) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:89 0000012 0x00000000008a0794 in sigc::internal::slot_call1<sigc::bound_mem_functor1<bool, Editor, _GdkEventButton*>, bool, _GdkEventButton*>::call_it(sigc::internal::slot_rep*, _GdkEventButton* const&) (rep=0x38652d0, a_1=@0x7fffffffc398: 0x1dd9ea0) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:149 0000013 0x00007ffff115642b in (anonymous namespace)::Widget_signal_button_release_event_callback(_GtkWidget*, _GdkEventButton*, void*) () at /lib64/libgtkmm-2.4.so.1 0000014 0x00007ffff307d54e in _gtk_marshal_BOOLEAN__BOXED () at /lib64/libgtk-x11-2.0.so.0 #15 0x00007ffff3ce73e5 in g_closure_invoke () at /lib64/libgobject-2.0.so.0 0000016 0x00007ffff3cf9503 in signal_emit_unlocked_R () at /lib64/libgobject-2.0.so.0 #17 0x00007ffff3d01b8f in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0 0000018 0x00007ffff3d0243f in g_signal_emit () at /lib64/libgobject-2.0.so.0 0000019 0x00007ffff31ae01c in gtk_widget_event_internal () at /lib64/libgtk-x11-2.0.so.0 0000020 0x00007ffff307b7f4 in gtk_propagate_event () at /lib64/libgtk-x11-2.0.so.0 0000021 0x00007ffff307bbc3 in gtk_main_do_event () at /lib64/libgtk-x11-2.0.so.0 0000022 0x00007ffff2cd757c in gdk_event_dispatch () at /lib64/libgdk-x11-2.0.so.0 0000023 0x00007ffff3a136ba in g_main_context_dispatch () at /lib64/libglib-2.0.so.0 #24 0x00007ffff3a13a70 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0 0000025 0x00007ffff3a13d92 in g_main_loop_run () at /lib64/libglib-2.0.so.0 0000026 0x00007ffff307ac0a in gtk_main () at /lib64/libgtk-x11-2.0.so.0 |
|
I applied my patch https://github.com/Ardour/ardour/pull/150/commits/a66b6f5cc5bea3e56e2705a9ece2a2355b771dc2 and the crash is gone, but because you can no more delete the midi note while dragging. That was a workaround... |
|
OK, I can easily reproduce this. PEBKAC on my part. I'll have a look at your fix at first opportunity. |
|
I recently upgraded to Ubuntu 16.04.1 LTS and on self compiled Ardour 5.3.30 "Music for Films" (rev 5.3-30-gab76a49) Intel 64-bit - debug. I can still reproduce this crash. I have not tried your fix because I do not know how to apply patches. |
|
I have committed tartina's fix for this issue to master as e2b72419 which should be included in a nightly build >= 5.3.113 So this issue should now be fixed, please confirm and if so set bug status to resolved, thanks. |
|
I have just compiled Ardour 5.4.5 "In a Land of Clear Colours" (rev 5.4-5-g52b6ad1) Intel 64-bit-debug and the issue has being fixed. Setting bug status to resolved. Thank you Ardour developers for the hard work. |
|
Confirming Tried Ardour 5.4.5 "In a Land of Clear Colours" (rev 5.4-5-g52b6ad1) Intel 64-bit - debug And the issue has being fixed. |
Date Modified | Username | Field | Change |
---|---|---|---|
2016-03-26 00:32 | ap1325 | New Issue | |
2016-03-28 13:32 | tartina | Note Added: 0018082 | |
2016-03-29 18:58 | x42 | Relationship added | related to 0006602 |
2016-09-11 23:26 | timbyr | Note Added: 0018601 | |
2016-09-12 12:03 | tartina | Note Added: 0018612 | |
2016-09-12 12:20 | tartina | Note Added: 0018614 | |
2016-09-13 11:50 | timbyr | Note Added: 0018625 | |
2016-09-13 11:50 | timbyr | Status | new => confirmed |
2016-09-17 02:21 | ap1325 | Note Added: 0018670 | |
2016-09-17 02:23 | ap1325 | Note Edited: 0018670 | |
2016-09-17 04:37 | timbyr | Note Added: 0018671 | |
2016-10-03 08:54 | ap1325 | Note Added: 0018746 | |
2016-10-03 08:57 | ap1325 | Note Added: 0018747 | |
2016-10-03 08:57 | ap1325 | Status | confirmed => closed |
2016-10-03 08:57 | ap1325 | Resolution | open => fixed |