View Issue Details

IDProjectCategoryView StatusLast Update
0001114ardourbugspublic2008-11-20 23:57
Reporterccomb Assigned Topaul  
PrioritynormalSeveritycrashReproducibilityalways
Status closedResolutionfixed 
Product Version0.99 
Summary0001114: crash when dragging a region with right mouse button
Description
This crash is maybe similar to bug 0001086, but it is 99% repeatable
although not fully predictable with a finite set of actions.

- Press the right mouse button inside a region
- drag outside the region
- release the mouse button.
- repeat this many times

=> Ardour crashes just when the mouse button is released
It sometimes happen after repeating 5 or 6 times, sometimes after 50
times.

Since there is no right mouse drag feature, it is probably related to
the context menu.
I could reproduce with two different builds, on two different machines
(a Sarge and a Sid).
It happens much more sooner in debug mode. I just had to drag 3 times.
Not sure, but I also noticed the crash is much easier to reproduce when dragging inside the same track (horizontally)

-------------------------------------------------------------
$ gdb ardour
GNU gdb 6.3-debian
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-linux"...Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so .1".

(gdb) r
Starting program: /usr/bin/ardour
[Thread debugging using libthread_db enabled]
[New Thread -1217503104 (LWP 7760)]
[New Thread -1219740752 (LWP 7763)]
Ardour/GTK 0.99
   (built using 0.604.3 with libardour 0.901.2 and GCC version 3.3.5 (Debian 1:3.3.5-13))
Copyright (C) 1999-2005 Paul Davis
Some portions Copyright (C) Steve Harris, Ari Johnson, Brett Viren, Joel Baker

Ardour comes with ABSOLUTELY NO WARRANTY
not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
This is free software, and you are welcome to redistribute it
under certain conditions; see the source for copying conditions.
Loading UI configuration file /etc/ardour/ardour_ui.rc
Loading system configuration file /etc/ardour/ardour_system.rc
Loading user configuration file /home/touf/.ardour/ardour.rc
ardour: [ERROR]: MIDI: no such port device
ardour: [ERROR]: MIDI: no such port device
ardour: [ERROR]: MIDI: no such port device
ardour: [INFO]: No H/W specific optimizations in use
ardour: [WARNING]: Your system generates "Mod2" when the NumLock key is pressed. This can cause problems when editing so Ardour will use Mod3 to mean Meta rather than Mod2
ardour: [ERROR]: KeyboardTarget: unknown action "toggle-recorder-window"
[New Thread -1234089040 (LWP 7764)]
[New Thread -1242702928 (LWP 7765)]
Loading session /mnt/dadafkas/touf/Musique/___TESTS MUSIQUE/alex tests using snapshot alex tests
[New Thread -1252160592 (LWP 7776)]
[New Thread -1260553296 (LWP 7777)]
[New Thread -1269478480 (LWP 7778)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1217503104 (LWP 7760)]
0xb7e77e83 in gtk_widget_set_sensitive () from /usr/lib/libgtk-1.2.so.0
(gdb) k
Kill the program being debugged? (y or n) y
(gdb) r
Starting program: /usr/bin/ardour
[Thread debugging using libthread_db enabled]
[New Thread -1217503104 (LWP 7779)]
[New Thread -1219740752 (LWP 7780)]
Ardour/GTK 0.99
   (built using 0.604.3 with libardour 0.901.2 and GCC version 3.3.5 (Debian 1:3.3.5-13))
Copyright (C) 1999-2005 Paul Davis
Some portions Copyright (C) Steve Harris, Ari Johnson, Brett Viren, Joel Baker

Ardour comes with ABSOLUTELY NO WARRANTY
not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
This is free software, and you are welcome to redistribute it
under certain conditions; see the source for copying conditions.
Loading UI configuration file /etc/ardour/ardour_ui.rc
Loading system configuration file /etc/ardour/ardour_system.rc
Loading user configuration file /home/touf/.ardour/ardour.rc
ardour: [ERROR]: MIDI: no such port device
ardour: [ERROR]: MIDI: no such port device
ardour: [ERROR]: MIDI: no such port device
ardour: [INFO]: No H/W specific optimizations in use
ardour: [WARNING]: Your system generates "Mod2" when the NumLock key is pressed. This can cause problems when editing so Ardour will use Mod3 to mean Meta rather than Mod2
ardour: [ERROR]: KeyboardTarget: unknown action "toggle-recorder-window"
[New Thread -1234089040 (LWP 7781)]
[New Thread -1242702928 (LWP 7782)]
Loading session /mnt/dadafkas/touf/Musique/___TESTS MUSIQUE/alex tests using snapshot alex tests
[New Thread -1252160592 (LWP 7783)]
[New Thread -1260553296 (LWP 7784)]
[New Thread -1269478480 (LWP 7785)]

Gtk-CRITICAL **: file gtkwidget.c: line 3310 (gtk_widget_set_sensitive): assertion `widget != NULL' failed.

Gtk-CRITICAL **: file gtkwidget.c: line 3311 (gtk_widget_set_sensitive): assertion `GTK_IS_WIDGET (widget)' f ailed.

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1217503104 (LWP 7779)]
0xb7e77e83 in gtk_widget_set_sensitive () from /usr/lib/libgtk-1.2.so.0
(gdb) thread apply all bt

Thread 7 (Thread -1269478480 (LWP 7785)):
#0 0xffffe410 in __kernel_vsyscall ()
0000001 0xb77b71fd in poll () from /lib/tls/i686/cmov/libc.so.6
#2 0x084176ce in ARDOUR::Session::feedback_thread_work (this=0x8a24620)
    at libs/ardour/session_feedback.cc:137
#3 0x084175a5 in ARDOUR::Session::_feedback_thread_work (arg=0x8a24620)
    at libs/ardour/session_feedback.cc:112
0000004 0xb7b0dca3 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
0000005 0xb77bff5a in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 6 (Thread -1260553296 (LWP 7784)):
#0 0xffffe410 in __kernel_vsyscall ()
0000001 0xb77b71fd in poll () from /lib/tls/i686/cmov/libc.so.6
#2 0x0841c4c1 in ARDOUR::Session::midi_thread_work (this=0x8a24620) at libs/ardour/session_midi.cc:1336
#3 0x0841c05b in ARDOUR::Session::_midi_thread_work (arg=0x8a24620) at libs/ardour/session_midi.cc:1257
0000004 0xb7b0dca3 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
0000005 0xb77bff5a in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 5 (Thread -1252160592 (LWP 7783)):
#0 0xffffe410 in __kernel_vsyscall ()
0000001 0xb77b71fd in poll () from /lib/tls/i686/cmov/libc.so.6
#2 0x0840fcbf in ARDOUR::Session::butler_thread_work (this=0x8a24620) at libs/ardour/session_butler.cc:183
#3 0x0840fc1c in ARDOUR::Session::_butler_thread_work (arg=0x8a24620) at libs/ardour/session_butler.cc:158
0000004 0xb7b0dca3 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
0000005 0xb77bff5a in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 4 (Thread -1242702928 (LWP 7782)):
#0 0xffffe410 in __kernel_vsyscall ()
0000001 0xb77b71fd in poll () from /lib/tls/i686/cmov/libc.so.6
#2 0xb78e62f1 in jack_stop_freewheel () from /usr/lib/libjack-0.80.0.so.0
#3 0xb7b0dca3 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
0000004 0xb77bff5a in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 3 (Thread -1234089040 (LWP 7781)):
#0 0xffffe410 in __kernel_vsyscall ()
0000001 0xb77b71fd in poll () from /lib/tls/i686/cmov/libc.so.6
#2 0x0844cc1c in ARDOUR::Source::peak_thread_work (arg=0x0) at libs/ardour/source.cc:161
#3 0xb7b0dca3 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
0000004 0xb77bff5a in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 2 (Thread -1219740752 (LWP 7780)):
#0 0xffffe410 in __kernel_vsyscall ()
0000001 0xb7b13cf4 in do_sigwait () from /lib/tls/i686/cmov/libpthread.so.0
#2 0xb7b13c7c in sigwait () from /lib/tls/i686/cmov/libpthread.so.0
#3 0x0823efbe in signal_thread (arg=0x0) at gtk_ardour/main.cc:156
0000004 0xb7b0dca3 in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
0000005 0xb77bff5a in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 1 (Thread -1217503104 (LWP 7779)):
#0 0xb7e77e83 in gtk_widget_set_sensitive () from /usr/lib/libgtk-1.2.so.0
0000001 0x084f1a8b in Gtk::Widget::set_sensitive (this=0x8c26648, sensitive=false)
    at libs/gtkmm/src/gtk--/widget.cc:382
#2 0x0812916f in Editor::popup_track_context_menu (this=0x89483d0, button=1, time=5109777,
    item_type=RegionItem, with_selection=false, frame=689179) at gtk_ardour/editor.cc:2067
#3 0x08178197 in Editor::button_release_handler (this=0x89483d0, item=0x8b1f3a8, event=0xbffff240,
    item_type=RegionItem) at gtk_ardour/editor_mouse.cc:859
0000004 0x0815731e in Editor::canvas_region_view_event (this=0x89483d0, item=0x8b1f3a8, event=0xbffff240,
    rv=0x8bf3cb8) at gtk_ardour/editor_canvas_events.cc:378
0000005 0x08156916 in Editor::_canvas_region_view_event (this=0x89483d0, item=0x8b1f3a8, event=0xbffff240,
    data=0x8bf3cb8) at gtk_ardour/editor_canvas_events.cc:100
#6 0x082c379f in PublicEditor::canvas_region_view_event (item=0x8b1f3a8, event=0xbffff240, data=0x8bf3cb8)
    at gtk_ardour/public_editor.cc:38
#7 0x08512cdb in gtk_canvas_item_marshal_signal_1 (object=0x8b1f3a8,
    func=0x82c376e <PublicEditor::canvas_region_view_event(_GtkCanvasItem*, _GdkEvent*, void*)>,
    func_data=0x8bf3cb8, args=0xbfffef50) at libs/gtk-canvas/gtk-canvas.c:542
0000008 0xb7e386d5 in gtk_signal_remove_emission_hook () from /usr/lib/libgtk-1.2.so.0
0000009 0xb7e3798b in gtk_signal_set_funcs () from /usr/lib/libgtk-1.2.so.0
0000010 0xb7e35134 in gtk_signal_emit () from /usr/lib/libgtk-1.2.so.0
0000011 0x08517e4d in emit_event (canvas=0x8989e28, event=0x89ff520) at libs/gtk-canvas/gtk-canvas.c:2819
0000012 0x0851865e in gtk_canvas_button (widget=0x8989e28, event=0x89ff520) at libs/gtk-canvas/gtk-canvas.c:3037
0000013 0x084ce40d in gtkmm_marshal_INT__POINTER (object=0x8989e28, func=0x851842b <gtk_canvas_button>,
    func_data=0x0, args=0xbffff3c0) at libs/gtkmm/src/gtk--/marshal.cc:240
0000014 0xb7e377ba in gtk_signal_set_funcs () from /usr/lib/libgtk-1.2.so.0
#15 0xb7e35134 in gtk_signal_emit () from /usr/lib/libgtk-1.2.so.0
0000016 0xb7e76748 in gtk_widget_event () from /usr/lib/libgtk-1.2.so.0
#17 0xb7dffa0f in gtk_propagate_event () from /usr/lib/libgtk-1.2.so.0
0000018 0xb7dfe7d4 in gtk_main_do_event () from /usr/lib/libgtk-1.2.so.0
0000019 0xb7d3efd5 in gdk_wm_protocols_filter () from /usr/lib/libgdk-1.2.so.0
0000020 0x089ff520 in ?? ()
0000021 0x00000000 in ?? ()
0000022 0xbffff738 in ?? ()
0000023 0xb7d19522 in g_slist_free_1 () from /usr/lib/libglib-1.2.so.0
#24 0xb7d1103d in g_get_current_time () from /usr/lib/libglib-1.2.so.0
0000025 0xb7d114f4 in g_get_current_time () from /usr/lib/libglib-1.2.so.0
0000026 0xb7d11724 in g_main_run () from /usr/lib/libglib-1.2.so.0
0000027 0xb7dfe25f in gtk_main () from /usr/lib/libgtk-1.2.so.0
0000028 0x084ccb4f in Gtk::Main::run_impl (this=0x870e2d0) at libs/gtkmm/src/gtk--/main.cc:11
0000029 0x0806f7e6 in Gtk::Main::run () at main.h:168
0000030 0x0846a4b9 in Gtkmmext::UI::run (this=0x870f950, old_receiver=@0x86da7a0) at libs/gtkmmext/gtk_ui.cc:171
0000031 0x08240f01 in main (argc=1, argv=0xbffffa14) at gtk_ardour/main.cc:488
0000032 0xb76fd970 in __libc_start_main () from /lib/tls/i686/cmov/libc.so.6
0000033 0x08062a11 in _start () at ../sysdeps/i386/elf/start.S:102
(gdb)
Additional Information-----------------------
Additional informations from Petter Sundlof, who could reproduce.
-----------------------

Ardour/GTK 0.99
   (kompilerat med 0.604.3 med libardour 0.901.2 and GCC version 4.0.2 (Debian 4.0.1-9))
Copyright (C) 1999-2005 Paul Davis
Some portions Copyright (C) Steve Harris, Ari Johnson, Brett Viren, Joel Baker

Ardour comes with ABSOLUTELY NO WARRANTY
not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
This is free software, and you are welcome to redistribute it
under certain conditions; see the source for copying conditions.
Loading UI configuration file /home/peppo/.ardour/ardour_ui.rc
Loading system configuration file /usr/local/etc/ardour/ardour_system.rc
Loading user configuration file /home/peppo/.ardour/ardour.rc
ardour: [INFO]: No H/W specific optimizations in use
ardour: [WARNING]: Ditt system genererar "Mod2" när NumLock trycks. Detta kan orsaka problem vid redigering, så Ardour kommer att använda Mod3 som Meta snarare än Mod2
ardour: [ERROR]: KeyboardTarget: okänd funktion "toggle-recorder-window"
Loading session /home/peppo/Desktop/musik/akustalatest using snapshot akustalatest

Gtk-CRITICAL **: file gtkwidget.c: line 3311 (gtk_widget_set_sensitive): assertion `GTK_IS_WIDGET (widget)' failed.

Gtk-CRITICAL **: file gtkwidget.c: line 3311 (gtk_widget_set_sensitive): assertion `GTK_IS_WIDGET (widget)' failed.

-----------------------

#0 0xb7e71e72 in gtk_widget_set_sensitive () from /usr/lib/libgtk-1.2.so.0
(gdb) thread apply all bt

Thread 7 (process 11221):
#0 0xb78c73f9 in do_sigwait () from /lib/tls/libpthread.so.0
0000001 0xb78c748f in sigwait () from /lib/tls/libpthread.so.0
#2 0x0829bacc in signal_thread ()
#3 0xb78c1ccd in start_thread () from /lib/tls/libpthread.so.0
0000004 0xb7730b0e in clone () from /lib/tls/libc.so.6

Thread 6 (process 11222):
#0 0xb77265a9 in poll () from /lib/tls/libc.so.6
0000001 0x08518f2f in ARDOUR::Source::peak_thread_work ()
#2 0xb78c1ccd in start_thread () from /lib/tls/libpthread.so.0
#3 0xb7730b0e in clone () from /lib/tls/libc.so.6

Thread 5 (process 11223):
#0 0xb77265a9 in poll () from /lib/tls/libc.so.6
0000001 0xb788d8f3 in jack_client_close () from /usr/lib/libjack-0.100.0.so.0
#2 0xb7891333 in jack_acquire_real_time_scheduling ()
   from /usr/lib/libjack-0.100.0.so.0
#3 0xb78c1ccd in start_thread () from /lib/tls/libpthread.so.0
0000004 0xb7730b0e in clone () from /lib/tls/libc.so.6

Thread 4 (process 11224):
#0 0xb77265a9 in poll () from /lib/tls/libc.so.6
0000001 0x084caa86 in ARDOUR::Session::butler_thread_work ()
#2 0x084cb3e0 in ARDOUR::Session::_butler_thread_work ()
#3 0xb78c1ccd in start_thread () from /lib/tls/libpthread.so.0
0000004 0xb7730b0e in clone () from /lib/tls/libc.so.6

Thread 3 (process 11225):
#0 0xb77265a9 in poll () from /lib/tls/libc.so.6
0000001 0x084de56c in ARDOUR::Session::midi_thread_work ()
#2 0x084df193 in ARDOUR::Session::_midi_thread_work ()
#3 0xb78c1ccd in start_thread () from /lib/tls/libpthread.so.0
0000004 0xb7730b0e in clone () from /lib/tls/libc.so.6

Thread 2 (process 11226):
#0 0xb77265a9 in poll () from /lib/tls/libc.so.6
0000001 0x084d6efe in ARDOUR::Session::feedback_thread_work ()
#2 0xb78c1ccd in start_thread () from /lib/tls/libpthread.so.0
#3 0xb7730b0e in clone () from /lib/tls/libc.so.6

Thread 1 (process 11220):
#0 0xb7e71e72 in gtk_widget_set_sensitive () from /usr/lib/libgtk-1.2.so.0
0000001 0x0812f755 in Editor::popup_track_context_menu ()
#2 0x081b0e9b in Editor::button_release_handler ()
#3 0x08334fbc in PublicEditor::canvas_region_view_event ()
0000004 0x085e7e68 in gtk_canvas_item_marshal_signal_1 ()
0000005 0xb2c565c8 in ?? ()
#6 0xbffff010 in ?? ()
#7 0xb2c56e90 in ?? ()
0000008 0x08334fbc in PublicEditor::canvas_region_view_event ()
0000009 0xbfffed40 in ?? ()
0000010 0x08010400 in ?? ()
0000011 0x00000005 in ?? ()
0000012 0x00000000 in ?? ()
0000013 0xb7e9d420 in ?? () from /usr/lib/libgtk-1.2.so.0
0000014 0xb2c565c8 in ?? ()
#15 0x0000007d in ?? ()
0000016 0xbfffed18 in ?? ()
#17 0xb7e3198b in gtk_signal_set_funcs () from /usr/lib/libgtk-1.2.so.0
0000018 0xb7e3198b in gtk_signal_set_funcs () from /usr/lib/libgtk-1.2.so.0
0000019 0xb7e2f134 in gtk_signal_emit () from /usr/lib/libgtk-1.2.so.0
0000020 0x085e1b70 in emit_event ()
0000021 0x4060e000 in ?? ()
0000022 0xbffff020 in ?? ()
0000023 0xbffff028 in ?? ()
#24 0xb7e69b9e in gtk_widget_get_type () from /usr/lib/libgtk-1.2.so.0
0000025 0x00000007 in ?? ()
TagsNo tags attached.

Activities

ccomb

2005-10-03 15:16

reporter   ~0002354

The crash happens in "range mode" as well. Not only in object mode.

paul

2007-02-23 17:49

administrator   ~0003380

i remember fixing this in ardour2, based on a complaint on IRC. it was caused by not checking whether the mouse release was still on a region.

Issue History

Date Modified Username Field Change
2005-10-03 11:47 ccomb New Issue
2005-10-03 15:16 ccomb Note Added: 0002354
2007-02-23 17:49 paul Status new => resolved
2007-02-23 17:49 paul Resolution open => fixed
2007-02-23 17:49 paul Assigned To => paul
2007-02-23 17:49 paul Note Added: 0003380
2008-11-20 23:57 seablade Status resolved => closed