View Issue Details

IDProjectCategoryView StatusLast Update
0003471ardourbugspublic2020-04-19 20:14
Reporterinterferon Assigned Topaul  
PrioritynormalSeveritycrashReproducibilityalways
Status closedResolutionfixed 
Product VersionSVN/2.0-ongoing 
Target Version2.8.12 
Summary0003471: [PATCH] When two overlapped regions are selected, Ardour crashes
DescriptionWhat to do to reproduce the bug:

1) In an audio track, put a block of audio anywhere in the timeline after 8th-9th minute

2) Duplicate the region

3) Overlap the two regions, so that a crossfading exists

4) With 'shift' pressed, left-click on the not overlapped part of the first region, then on the overlapped part

5) Ardour crashes with a Segmentation fault error
Additional InformationArdour 2.0 SVN (rev. 7819)
Kubuntu 10.04.1 64-bit
OpenBox WM
TagsNo tags attached.

Activities

2010-09-21 21:19

 

3471-backtrace.txt (3,590 bytes)   
#0  0x087e0d1a in TimeAxisViewItem::get_time_axis_view (this=0x0) at gtk2_ardour/time_axis_view_item.cc:539
#1  0x08605276 in Editor::set_selected_regionview_from_click (this=0x8d7ad18, press=true, op=Selection::Extend, no_track_remove=true)
    at gtk2_ardour/editor_selection.cc:644
#2  0x085ad6f1 in Editor::button_selection (this=0x8d7ad18, item=0x9106af8, event=0x90822d0, item_type=RegionItem) at gtk2_ardour/editor_mouse.cc:438
#3  0x085adac5 in Editor::button_press_handler (this=0x8d7ad18, item=0x9106af8, event=0x90822d0, item_type=RegionItem) at gtk2_ardour/editor_mouse.cc:520
#4  0x0859075d in Editor::canvas_region_view_event (this=0x8d7ad18, event=0x90822d0, item=0x9106af8, rv=0x9106b18) at gtk2_ardour/editor_canvas_events.cc:254
#5  0x08591309 in Editor::canvas_crossfade_view_event (this=0x8d7ad18, event=0x90822d0, item=0x911e130, xfv=0x911e000) at gtk2_ardour/editor_canvas_events.cc:585
#6  0x084f31ae in sigc::bound_mem_functor3<bool, PublicEditor, _GdkEvent*, Gnome::Canvas::Item*, CrossfadeView*>::operator() (this=0x911e4e8, _A_a1=@0xbfffe674, 
    _A_a2=@0xbfffe5bc, _A_a3=@0x911e4fc) at libs/sigc++2/sigc++/functors/mem_fun.h:1985
#7  0x084f2f5b in sigc::adaptor_functor<sigc::bound_mem_functor3<bool, PublicEditor, _GdkEvent*, Gnome::Canvas::Item*, CrossfadeView*> >::operator()<_GdkEvent* const&, Gnome::Canvas::Group*&, CrossfadeView*&> (this=0x911e4e4, _A_arg1=@0xbfffe674, _A_arg2=@0x911e4f8, _A_arg3=@0x911e4fc)
    at libs/sigc++2/sigc++/adaptors/adaptor_trait.h:123
#8  0x084f2c6c in sigc::bind_functor<-1, sigc::bound_mem_functor3<bool, PublicEditor, _GdkEvent*, Gnome::Canvas::Item*, CrossfadeView*>, Gnome::Canvas::Group*, CrossfadeView*, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::operator()<_GdkEvent* const&> (this=0x911e4e0, _A_arg1=@0xbfffe674)
    at libs/sigc++2/sigc++/adaptors/bind.h:1336
#9  0x084f28a1 in sigc::internal::slot_call1<sigc::bind_functor<-1, sigc::bound_mem_functor3<bool, PublicEditor, _GdkEvent*, Gnome::Canvas::Item*, CrossfadeView*>, Gnome::Canvas::Group*, CrossfadeView*, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, bool, _GdkEvent*>::call_it (rep=0x911e4c8, a_1=@0xbfffe674)
    at libs/sigc++2/sigc++/functors/slot.h:137
#10 0x012fbd83 in sigc::slot1<bool, _GdkEvent*>::operator() (this=0x911c534, _A_a1=@0xbfffe674) at libs/sigc++2/sigc++/functors/slot.h:515
#11 0x015df679 in Item_signal_event_callback (self=0x90bca28, p0=0x90822d0, data=0x911c530) at libs/libgnomecanvasmm/libgnomecanvasmm/item.cc:138
#12 0x01595104 in gnome_canvas_marshal_BOOLEAN__BOXED () from /usr/lib/libgnomecanvas-2.so.0
#13 0x00987252 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#14 0x0099bd90 in ?? () from /usr/lib/libgobject-2.0.so.0
#15 0x0099cc33 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#16 0x0099d256 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#17 0x01590a09 in ?? () from /usr/lib/libgnomecanvas-2.so.0
#18 0x012f2008 in Gtk::Widget_Class::button_press_event_callback (self=0x8db8030, p0=0x9081298) at libs/gtkmm2/gtk/gtkmm/widget.cc:3768
#19 0x00c45424 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#20 0x009858b9 in ?? () from /usr/lib/libgobject-2.0.so.0
#21 0x00987252 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#22 0x0099b5e6 in ?? () from /usr/lib/libgobject-2.0.so.0
#23 0x0099cc33 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#24 0x0099d256 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#25 0x00d72636 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#26 0x00c3da5d in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0

3471-backtrace.txt (3,590 bytes)   

2010-09-22 00:25

 

3471.patch (1,205 bytes)   
diff --git a/gtk2_ardour/editor_selection.cc b/gtk2_ardour/editor_selection.cc
index 37f9968..fd8e5d1 100644
--- a/gtk2_ardour/editor_selection.cc
+++ b/gtk2_ardour/editor_selection.cc
@@ -611,8 +611,8 @@ Editor::set_selected_regionview_from_click (bool press, Selection::Operation op,
 			*/
 			
 			
-			first_frame = entered_regionview->region()->position();
-			last_frame = entered_regionview->region()->last_frame();
+			first_frame = clicked_regionview->region()->position();
+			last_frame = clicked_regionview->region()->last_frame();
 			
 			for (RegionSelection::iterator i = selection->regions.begin(); i != selection->regions.end(); ++i) {
 				if ((*i)->region()->position() < first_frame) {
@@ -639,9 +639,9 @@ Editor::set_selected_regionview_from_click (bool press, Selection::Operation op,
 			   the this one and any selected ones.
 			*/
 
-			if (!selection->selected (entered_regionview)) {
+			if (!selection->selected (clicked_regionview)) {
 
-				AudioTimeAxisView* atv = dynamic_cast<AudioTimeAxisView*> (&entered_regionview->get_time_axis_view());
+				AudioTimeAxisView* atv = dynamic_cast<AudioTimeAxisView*> (&clicked_regionview->get_time_axis_view());
 
 				if (atv) {
 
3471.patch (1,205 bytes)   

cth103

2010-09-22 00:26

administrator   ~0009132

The attached patch should fix this.

interferon

2010-09-22 08:37

reporter   ~0009135

Tried the patch, it perfectly works.
Thank you.

paul

2010-09-22 12:38

administrator   ~0009136

patch applied to 2.X, rev 7829, and 3.0, rev 7830

system

2020-04-19 20:14

developer   ~0022232

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.

Issue History

Date Modified Username Field Change
2010-09-21 20:45 interferon New Issue
2010-09-21 20:59 cth103 Status new => confirmed
2010-09-21 21:19 cth103 File Added: 3471-backtrace.txt
2010-09-22 00:25 cth103 File Added: 3471.patch
2010-09-22 00:26 cth103 cost => 0.00
2010-09-22 00:26 cth103 Note Added: 0009132
2010-09-22 00:26 cth103 Assigned To => paul
2010-09-22 00:26 cth103 Target Version => 2.8.12
2010-09-22 00:26 cth103 Summary When two overlapped regions are selected, Ardour crashes => [PATCH] When two overlapped regions are selected, Ardour crashes
2010-09-22 08:37 interferon Note Added: 0009135
2010-09-22 12:38 paul Note Added: 0009136
2010-09-22 12:38 paul Status confirmed => resolved
2010-09-22 12:38 paul Resolution open => fixed
2020-04-19 20:14 system Note Added: 0022232
2020-04-19 20:14 system Status resolved => closed