View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0007486 | ardour | bugs | public | 2017-10-07 19:02 | 2017-10-11 13:46 |
Reporter | oswaldm | Assigned To | |||
Priority | normal | Severity | major | Reproducibility | random |
Status | new | Resolution | open | ||
Platform | Intel 64bit | OS | Ubuntu Studio | OS Version | 14.04 |
Product Version | 5.12 | ||||
Summary | 0007486: Assertins when cuting regions | ||||
Description | Sometimes Ardour crashes when cutting reagions with the cut tool. When using the split feature, no crashes occur. Assertion: ardour-5.12.0: ../gtk2_ardour/editor_drag.cc:829: virtual void RegionMotionDrag::motion(GdkEvent*, bool): Assertion `!_views.empty ()' failed. See attached backtrace for more information | ||||
Steps To Reproduce | Not always reproducible. Trying to cut a region via click-drag to the exact point and then letting go of the mouse button. On my machine, aber about 5-10 cuts it crashes. | ||||
Additional Information | Backtrace of the assertion is attached. Ardour was compiled with optimization. | ||||
Tags | No tags attached. | ||||
|
Ardour_backtrace.txt (6,412 bytes)
ardour-5.12.0: ../gtk2_ardour/editor_drag.cc:829: virtual void RegionMotionDrag::motion(GdkEvent*, bool): Assertion `!_views.empty ()' failed. Program received signal SIGABRT, Aborted. 0x00007fffef578c37 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory. (gdb) bt #0 0x00007fffef578c37 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 #1 0x00007fffef57c028 in __GI_abort () at abort.c:89 #2 0x00007fffef571bf6 in __assert_fail_base (fmt=0x7fffef6c6018 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x11bf778 "!_views.empty ()", file=file@entry=0x11bf647 "../gtk2_ardour/editor_drag.cc", line=line@entry=829, function=function@entry=0x11c0940 <RegionMotionDrag::motion(_GdkEvent*, bool)::__PRETTY_FUNCTION__> "virtual void RegionMotionDrag::motion(GdkEvent*, bool)") at assert.c:92 #3 0x00007fffef571ca2 in __GI___assert_fail (assertion=0x11bf778 "!_views.empty ()", file=0x11bf647 "../gtk2_ardour/editor_drag.cc", line=829, function=0x11c0940 <RegionMotionDrag::motion(_GdkEvent*, bool)::__PRETTY_FUNCTION__> "virtual void RegionMotionDrag::motion(GdkEvent*, bool)") at assert.c:101 #4 0x00000000008d619d in RegionMotionDrag::motion (this=0x1b0eaab0, event=0x7fffffffd1d0, first_move=true) at ../gtk2_ardour/editor_drag.cc:829 #5 0x00000000008d88fe in RegionMoveDrag::motion (this=0x1b0eaab0, event=0x7fffffffd1d0, first_move=true) at ../gtk2_ardour/editor_drag.cc:1365 #6 0x00000000008d4887 in Drag::motion_handler (this=0x1b0eaab0, event=0x7fffffffd1d0, from_autoscroll=false) at ../gtk2_ardour/editor_drag.cc:480 #7 0x00000000008d3a4f in DragManager::motion_handler (this=0x4febc00, e=0x7fffffffd1d0, from_autoscroll=false) at ../gtk2_ardour/editor_drag.cc:197 #8 0x000000000093508f in Editor::motion_handler (this=0x57b2b30, event=0x7fffffffd1d0, from_autoscroll=false) at ../gtk2_ardour/editor_mouse.cc:2082 #9 0x00000000008cd8c8 in Editor::canvas_region_view_event (this=0x57b2b30, event=0x7fffffffd1d0, item=0x17e29b60, rv=0x17e29840) at ../gtk2_ardour/editor_canvas_events.cc:267 #10 0x0000000000f0664b in RegionView::canvas_group_event (this=0x17e29840, event=0x7fffffffd1d0) at ../gtk2_ardour/region_view.cc:215 #11 0x00000000010a9928 in sigc::bound_mem_functor1<bool, TimeAxisViewItem, _GdkEvent*>::operator() (this=0x17e2aae8, _A_a1=@0x7fffffffd0c0: 0x7fffffffd1d0) at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1851 #12 0x00000000010a95bf in sigc::adaptor_functor<sigc::bound_mem_functor1<bool, TimeAxisViewItem, _GdkEvent*> >::operator()<_GdkEvent* const&> (this=0x17e2aae0, _A_arg1=@0x7fffffffd0c0: 0x7fffffffd1d0) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:84 #13 0x00000000010a905a in sigc::internal::slot_call1<sigc::bound_mem_functor1<bool, TimeAxisViewItem, _GdkEvent*>, bool, _GdkEvent*>::call_it (rep=0x17e2aab0, a_1=@0x7fffffffd0c0: 0x7fffffffd1d0) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:137 #14 0x00007ffff514a565 in sigc::internal::signal_emit1<bool, _GdkEvent*, ArdourCanvas::Item::EventAccumulator<bool> >::operator() (this=0x7fffffffcfc0, _A_slot=...) at /usr/include/sigc++-2.0/sigc++/signal.h:834 #15 0x00007ffff514a18f in sigc::internal::slot_iterator_buf<sigc::internal::signal_emit1<bool, _GdkEvent*, ArdourCanvas::Item::EventAccumulator<bool> >, bool>::operator* (this=0x7fffffffcf60) at /usr/include/sigc++-2.0/sigc++/signal.h:306 #16 0x00007ffff5149bb5 in ArdourCanvas::Item::EventAccumulator<bool>::operator()<sigc::internal::slot_iterator_buf<sigc::internal::signal_emit1<bool, _GdkEvent*, ArdourCanvas::Item::EventAccumulator<bool> >, bool> > (this=0x7fffffffcfaf, first=..., last=...) at /home/oswald/Projects/music/ardour/libs/canvas/canvas/item.h:237 #17 0x00007ffff51492cc in sigc::internal::signal_emit1<bool, _GdkEvent*, ArdourCanvas::Item::EventAccumulator<bool> >::emit ( impl=0x17e2aa60, _A_a1=@0x7fffffffd0c0: 0x7fffffffd1d0) at /usr/include/sigc++-2.0/sigc++/signal.h:854 #18 0x00007ffff5147ee5 in sigc::signal1<bool, _GdkEvent*, ArdourCanvas::Item::EventAccumulator<bool> >::emit (this=0x17e29bd0, _A_a1=@0x7fffffffd0c0: 0x7fffffffd1d0) at /usr/include/sigc++-2.0/sigc++/signal.h:2781 #19 0x00007ffff5146373 in sigc::signal1<bool, _GdkEvent*, ArdourCanvas::Item::EventAccumulator<bool> >::operator() ( this=0x17e29bd0, _A_a1=@0x7fffffffd0c0: 0x7fffffffd1d0) at /usr/include/sigc++-2.0/sigc++/signal.h:2789 ---Type <return> to continue, or q <return> to quit--- #20 0x00007ffff514129b in ArdourCanvas::GtkCanvas::deliver_event (this=0x74c46f8, event=0x7fffffffd1d0) at ../libs/canvas/canvas.cc:751 #21 0x00007ffff5142f2a in ArdourCanvas::GtkCanvas::on_motion_notify_event (this=0x74c46f8, ev=0x2028500) at ../libs/canvas/canvas.cc:1139 #22 0x00007ffff1ff4af4 in Gtk::Widget_Class::motion_notify_event_callback(_GtkWidget*, _GdkEventMotion*) () from /usr/lib/x86_64-linux-gnu/libgtkmm-2.4.so.1 #23 0x00007ffff32ed815 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 #24 0x00007ffff3d1a3b8 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #25 0x00007ffff3d2bafb in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #26 0x00007ffff3d336f9 in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #27 0x00007ffff3d33ce2 in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 #28 0x00007ffff33fd684 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 #29 0x00007ffff32ebfc4 in gtk_propagate_event () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 #30 0x00007ffff32ec37b in gtk_main_do_event () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 #31 0x00007ffff2f663ec in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0 #32 0x00007ffff3845e04 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #33 0x00007ffff3846048 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #34 0x00007ffff384630a in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #35 0x00007ffff32eb447 in gtk_main () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 #36 0x00007ffff4a70a7a in Gtkmm2ext::UI::run (this=0x1cfc8e0, old_receiver=...) at ../libs/gtkmm2ext/gtk_ui.cc:284 #37 0x0000000000bc57a6 in main (argc=1, argv=0x7fffffffdb68) at ../gtk2_ardour/main.cc:426 |
|
I cannot reproduce this issue with 5.12 using the cut tool/mode and splitting regions several hundred times in as many different ways as I can. Is there any other information or steps that might be relevant in order to reproduce this? The backtrace you have attached indicates that a region move is occurring at the time of the crash but AFAICT you cannot move a region in cut mode? |
|
Ok, what might be relevant is that the region to be cut is in a track which is part of a group (think a guitar track and a guitar DI track which should be edited simultanously). The group was sometimes enabled, sometimes disabled when cutting, crashes occured on both occasions (with group enabled/disabled). The split region function never showed the crash, only the cutting tool, so this was the workaround. Also it crashed most often with the click-drag-release for finding the right place to cut (which I could imagine could be the source of the region move?) I also observed this from Ardour 5.8 onwards as I do more often editing of the audio. |
Date Modified | Username | Field | Change |
---|---|---|---|
2017-10-07 19:02 | oswaldm | New Issue | |
2017-10-07 19:02 | oswaldm | File Added: Ardour_backtrace.txt | |
2017-10-11 00:38 | timbyr | Note Added: 0020049 | |
2017-10-11 00:38 | timbyr | Status | new => feedback |
2017-10-11 13:46 | oswaldm | Note Added: 0020053 | |
2017-10-11 13:46 | oswaldm | Status | feedback => new |