View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0009217 | ardour | bugs | public | 2023-01-31 19:32 | 2023-02-08 00:01 |
Reporter | slash42 | Assigned To | x42 | ||
Priority | normal | Severity | crash | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Platform | Ubuntu | OS | Linux | OS Version | (any) |
Summary | 0009217: Segfault when moving a wave region using the middle mouse button and also clicking/releasing the left mouse button while moving | ||||
Description | Hi. A while ago I reported a similar bug: https://tracker.ardour.org/view.php?id=8529 It is fixed in KDE neon / Ubuntu 22.04 / Ardour 6.9, thanks for that! However, I found a variant of it which again leads to a reproducible crash. | ||||
Steps To Reproduce | - open a blank session, no plugins - add 3 or more wave tracks - record something into the 1st track - click and hold middle mouse button on the recorded region - drag region to the 2nd wave track - now click and hold also the left mouse button - drag region further down to the 3rd wave track - the region starts to jump back to the first and then to the 2nd track, although the mouse pointer is now inside the 3rd. - release the left mouse button - release the middle mouse button => crash | ||||
Additional Information | The Ardour version I'm using is 1:6.9.0+ds0-1build1 In my recording and cutting process I mostly use the middle mouse button to drag regions around, especially if I want to keep the positions of them. But sometimes, due to sloppiness, it happens to me that my finger slips off the mouse wheel and also presses the left mouse button. | ||||
Tags | No tags attached. | ||||
|
Confirmed, starting a new action while one is already in progress: Dragging region(s) from 1 different track(s), max dist: 0 An UNDO transaction was started while a prior command was underway. Aborting command (fixed time region drag) and prior (fixed time region drag) ardour-7.2.214: ../libs/ardour/session_state.cc:3326: void ARDOUR::Session::begin_reversible_command(GQuark): Assertion `false' failed. --Type <RET> for more, q to quit, c to continue without paging-- Thread 1 "ArdourGUI" received signal SIGABRT, Aborted. __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 50 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory. (gdb) bt #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 0000001 0x00007ffff37f9537 in __GI_abort () at abort.c:79 #2 0x00007ffff37f940f in __assert_fail_base (fmt=0x7ffff39716a8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x7ffff6d3a1bf "false", file=0x7ffff6d38c30 "../libs/ardour/session_state.cc", line=3326, function=<optimized out>) at assert.c:92 #3 0x00007ffff3808662 in __GI___assert_fail (assertion=0x7ffff6d3a1bf "false", file=0x7ffff6d38c30 "../libs/ardour/session_state.cc", line=3326, function=0x7ffff6d3a188 "void ARDOUR::Session::begin_reversible_command(GQuark)") at assert.c:101 0000004 0x00007ffff7981230 in ARDOUR::Session::begin_reversible_command(unsigned int) (this=0x55555d220800, q=5476) at ../libs/ardour/session_state.cc:3326 0000005 0x00007ffff798114a in ARDOUR::Session::begin_reversible_command(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (this=0x55555d220800, name="fixed time region drag") at ../libs/ardour/session_state.cc:3309 #6 0x00005555575d4d0a in Editor::begin_reversible_command(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) (this= 0x55555eb631f0, name="fixed time region drag") at ../gtk2_ardour/editor.cc:3735 #7 0x0000555557688ac3 in RegionMoveDrag::motion(_GdkEvent*, bool) (this=0x5555672ba820, event=0x7fffffffc1d0, first_move=true) at ../gtk2_ardour/editor_drag.cc:1594 0000008 0x00005555576830a2 in Drag::motion_handler(_GdkEvent*, bool) (this=0x5555672ba820, event=0x7fffffffc1d0, from_autoscroll=false) at ../gtk2_ardour/editor_drag.cc:522 0000009 0x0000555557681f6c in DragManager::motion_handler(_GdkEvent*, bool) (this=0x555559b02b10, e=0x7fffffffc1d0, from_autoscroll=false) at ../gtk2_ardour/editor_drag.cc:231 0000010 0x00005555576f5e42 in Editor::motion_handler(ArdourCanvas::Item*, _GdkEvent*, bool) (this=0x55555eb631f0, event=0x7fffffffc1d0, from_autoscroll=false) at ../gtk2_ardour/editor_mouse.cc:2299 0000011 0x000055555767b4e4 in Editor::canvas_region_view_event(_GdkEvent*, ArdourCanvas::Item*, RegionView*) (this=0x55555eb631f0, event=0x7fffffffc1d0, item=0x555566f6c420, rv=0x555559cd2040) at ../gtk2_ardour/editor_canvas_events.cc:273 0000012 0x0000555557eabe92 in RegionView::canvas_group_event(_GdkEvent*) (this=0x555559cd2040, event=0x7fffffffc1d0) at ../gtk2_ardour/region_view.cc:277 0000013 0x00005555580ac4d5 in sigc::bound_mem_functor1<bool, TimeAxisViewItem, _GdkEvent*>::operator()(_GdkEvent* const&) const (this=0x555564c05e38, _A_a1=@0x7fffffffbf70: 0x7fffffffc1d0) at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:2066 0000014 0x00005555580abf85 in sigc::adaptor_functor<sigc::bound_mem_functor1<bool, TimeAxisViewItem, _GdkEvent*> >::operator()<_GdkEvent* const&>(_GdkEvent* const&) const (this=0x555564c05e30, _A_arg1=@0x7fffffffbf70: 0x7fffffffc1d0) at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:89 #15 0x00005555580ab620 in sigc::internal::slot_call<sigc::bound_mem_functor1<bool, TimeAxisViewItem, _GdkEvent*>, bool, _GdkEvent*>::call_it(sigc::internal::slot_rep*, _GdkEvent* const&) (rep=0x555564c05e00, a_#0=@0x7fffffffbf70: 0x7fffffffc1d0) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:451 0000016 0x000055555815d56f in sigc::internal::signal_emit1<bool, _GdkEvent*, ArdourCanvas::Item::EventAccumulator<bool> >::operator()(sigc::slot<bool (_GdkEvent*), sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil> const&) const (this=0x7fffffffbe48, _A_slot=...) at /usr/include/sigc++-2.0/sigc++/signal.h:860 #17 0x000055555815cb49 in sigc::internal::slot_iterator_buf<sigc::internal::signal_emit1<bool, _GdkEvent*, ArdourCanvas::Item::EventAccumulator<bool> >, bool>::operator*() const (this=0x7fffffffbe00) at /usr/include/sigc++-2.0/sigc++/signal.h:319 0000018 0x000055555815be8f in ArdourCanvas::Item::EventAccumulator<bool>::operator()<sigc::internal::slot_iterator_buf<sigc::internal::signal_emit1<bool, _GdkEvent*, ArdourCanvas::Item::EventAccumulator<bool> >, bool> >(sigc::internal::slot_iterator_buf<sigc::internal::signal_emit1<bool, _GdkEvent*, ArdourCanvas::Item::EventAccumulator<bool> >, bool>, sigc::internal::slot_iterator_buf<sigc::internal::signal_emit1<bool, _GdkEvent*, ArdourCanvas::Item::EventAccumulator<bool> >, bool>) (this=0x7fffffffbe6f, first=..., last=...) at ../libs/canvas/canvas/item.h:257 0000019 0x000055555815b0b8 in sigc::internal::signal_emit1<bool, _GdkEvent*, ArdourCanvas::Item::EventAccumulator<bool> >::emit(sigc::internal::signal_impl*, _GdkEvent* const&) (impl=0x5555654228d0, _A_a1=@0x7fffffffbf70: 0x7fffffffc1d0) at /usr/include/sigc++-2.0/sigc++/signal.h:879 0000020 0x000055555815a101 in sigc::signal1<bool, _GdkEvent*, ArdourCanvas::Item::EventAccumulator<bool> >::emit(_GdkEvent* const&) const (this=0x555566f6c490, _A_a1=@0x7fffffffbf70: 0x7fffffffc1d0) at /usr/include/sigc++-2.0/sigc++/signal.h:2955 0000021 0x0000555558159527 in sigc::signal1<bool, _GdkEvent*, ArdourCanvas::Item::EventAccumulator<bool> >::operator()(_GdkEvent* const&) const (this=0x555566f6c490, _A_a1=@0x7fffffffbf70: 0x7fffffffc1d0) at /usr/include/sigc++-2.0/sigc++/signal.h:2971 0000022 0x00007ffff5849c8f in ArdourCanvas::GtkCanvas::deliver_event(_GdkEvent*) (this=0x55555e49fcb8, event=0x7fffffffc1d0) at ../libs/canvas/canvas.cc:866 0000023 0x00007ffff584b915 in ArdourCanvas::GtkCanvas::on_motion_notify_event(_GdkEventMotion*) (this=0x55555e49fcb8, ev=0x55555873fad0) at ../libs/canvas/canvas.cc:1238 #24 0x00007ffff4500df4 in Gtk::Widget_Class::motion_notify_event_callback(_GtkWidget*, _GdkEventMotion*) () at /lib/x86_64-linux-gnu/libgtkmm-2.4.so.1 0000025 0x00007ffff4b391ab in () at /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 0000026 0x00007ffff505f0a2 in g_closure_invoke () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 0000027 0x00007ffff5070e6e in () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 0000028 0x00007ffff5077259 in g_signal_emit_valist () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 0000029 0x00007ffff5077c3f in g_signal_emit () at /lib/x86_64-linux-gnu/libgobject-2.0.so.0 0000030 0x00007ffff4c58fe4 in () at /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 0000031 0x00007ffff4b377d4 in gtk_propagate_event () at /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 0000032 0x00007ffff4b37c4b in gtk_main_do_event () at /lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 |
|
Fixed in 7.2-239-g48efbb4cc5 |
Date Modified | Username | Field | Change |
---|---|---|---|
2023-01-31 19:32 | slash42 | New Issue | |
2023-02-05 00:09 | x42 | Relationship added | related to 0008529 |
2023-02-07 01:27 | x42 | Note Added: 0027305 | |
2023-02-07 01:28 | x42 | Assigned To | => x42 |
2023-02-07 01:28 | x42 | Status | new => confirmed |
2023-02-08 00:01 | x42 | Status | confirmed => resolved |
2023-02-08 00:01 | x42 | Resolution | open => fixed |
2023-02-08 00:01 | x42 | Note Added: 0027315 |