View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0001913 | ardour | bugs | public | 2007-10-09 11:25 | 2008-11-21 00:04 |
| Reporter | nowhiskey | Assigned To | cth103 | ||
| Priority | normal | Severity | crash | Reproducibility | always |
| Status | closed | Resolution | fixed | ||
| Product Version | 2.0 | ||||
| Summary | 0001913: crash while trying to move a newly created 'tempo marker' | ||||
| Description | simply to reproduce: -create new session -create new tempo marker (i did at about 5. bar, with 140bpm) -grab the new marker with left-click and try to move to the left or right -ardour crashes here, creating a core dump ..... -ardour will not crash if i first create a new location marker and move them on the time line and than create the tempo marker and do the steps above. in this case it is important to 'move' the location marker, if i just create it an do not move, ardour will crash. this is all happening on ongoing-rev2531 with jackd running no-realtime. here is the backtrace: Thread 7 (process 26065): #0 0xb6ab1451 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 0000001 0xb6db445d in Glib::Cond::wait (this=0x8a024a8, mutex=@0xb7fdbd8c) at #libs/glibmm2/glibmm/thread.cc:362 #2 0xb7f4edb1 in peak_thread_work () at libs/ardour/source_factory.cc:61 #3 0x086a3f8f in sigc::pointer_functor0<void>::operator() (this=0x8a0deb4) #at libs/sigc++2/sigc++/functors/ptr_fun.h:77 0000004 0x086a3fa6 in sigc::adaptor_functor<sigc::pointer_functor0<void> #>::operator() (this=0x8a0deb0) at #>libs/sigc++2/sigc++/adaptors/adaptor_trait.h:251 0000005 0x086a3fc2 in sigc::internal::slot_call0<sigc::pointer_functor0<void>, #void>::call_it (rep=0x8a0de98) at libs/sigc++2/sigc++/functors/slot.h:103 #6 0x0839b6e2 in sigc::slot0<void>::operator() (this=0x8a0d990) at #libs/sigc++2/sigc++/functors/slot.h:440 #7 0xb6db4ff1 in call_thread_entry_slot (data=0x8a0d990) at #libs/glibmm2/glibmm/thread.cc:43 0000008 0xb765f0af in ?? () from /usr/share/qt4/lib/libglib-2.0.so.0 0000009 0x08a0d990 in ?? () 0000010 0x08a0dec0 in ?? () 0000011 0xb6aa8000 in ?? () 0000012 0x00014084 in ?? () 0000013 0xb6871a6c in ?? () from /lib/libc.so.6 0000014 0xb6abbff4 in ?? () from /lib/libpthread.so.0 #15 0xb6aaf340 in ?? () from /lib/libpthread.so.0 0000016 0xb6abbff4 in ?? () from /lib/libpthread.so.0 #17 0x00000000 in ?? () Thread 6 (process 26066): #0 0xb6ab1451 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 0000001 0xb6db445d in Glib::Cond::wait (this=0x8a024a8, mutex=@0xb7fdbd8c) at #libs/glibmm2/glibmm/thread.cc:362 #2 0xb7f4edb1 in peak_thread_work () at libs/ardour/source_factory.cc:61 #3 0x086a3f8f in sigc::pointer_functor0<void>::operator() (this=0x8a0dfac) #at libs/sigc++2/sigc++/functors/ptr_fun.h:77 0000004 0x086a3fa6 in sigc::adaptor_functor<sigc::pointer_functor0<void> #>::operator() (this=0x8a0dfa8) at #>libs/sigc++2/sigc++/adaptors/adaptor_trait.h:251 0000005 0x086a3fc2 in sigc::internal::slot_call0<sigc::pointer_functor0<void>, #void>::call_it (rep=0x8a0df90) at libs/sigc++2/sigc++/functors/slot.h:103 #6 0x0839b6e2 in sigc::slot0<void>::operator() (this=0x8a0df80) at #libs/sigc++2/sigc++/functors/slot.h:440 #7 0xb6db4ff1 in call_thread_entry_slot (data=0x8a0df80) at #libs/glibmm2/glibmm/thread.cc:43 0000008 0xb765f0af in ?? () from /usr/share/qt4/lib/libglib-2.0.so.0 0000009 0x08a0df80 in ?? () 0000010 0x08a0dfb8 in ?? () 0000011 0x00000000 in ?? () Thread 5 (process 26080): #0 0xb6ab44fc in nanosleep () from /lib/libpthread.so.0 0000001 0xb7661462 in g_usleep () from /usr/share/qt4/lib/libglib-2.0.so.0 #libs/glibmm2/glibmm/timer.cc:68 #3 0xb7dcbbe8 in ARDOUR::AudioEngine::meter_thread (this=0x8cb9d80) at #libs/ardour/audioengine.cc:413 0000004 0xb7dce8b2 in sigc::bound_mem_functor0<void, #ARDOUR::AudioEngine>::operator() (this=0x8cc493c) at #libs/sigc++2/sigc++/functors/mem_fun.h:1781 0000005 0xb7dce8d4 in sigc::adaptor_functor<sigc::bound_mem_functor0<void, #ARDOUR::AudioEngine> >::operator() (this=0x8cc4938) at libs/sigc++2/sigc++/adaptors/adaptor_trait.h:251 #6 0xb7dce900 in sigc::internal::slot_call0<sigc::bound_mem_functor0<void, ARDOUR::AudioEngine>, void>::call_it (rep=0x8cc4920) at libs/sigc++2/sigc++/functors/slot.h:103 #7 0x0839b6e2 in sigc::slot0<void>::operator() (this=0x8cb0270) at libs/sigc++2/sigc++/functors/slot.h:440 0000008 0xb6db4ff1 in call_thread_entry_slot (data=0x8cb0270) at libs/glibmm2/glibmm/thread.cc:43 0000009 0xb765f0af in ?? () from /usr/share/qt4/lib/libglib-2.0.so.0 0000010 0x08cb0270 in ?? () 0000011 0x08cb8dc0 in ?? () 0000012 0x00000000 in ?? () Thread 4 (process 26081): #0 0xb693345d in poll () from /lib/libc.so.6 0000001 0xb6ac54bb in jack_client_thread (arg=0x8cb2b00) at client.c:1309 #2 0xb6aad2d3 in start_thread () from /lib/libpthread.so.0 #3 0xb693d2fe in clone () from /lib/libc.so.6 Thread 3 (process 26082): #0 0xb693345d in poll () from /lib/libc.so.6 0000001 0xb7ef6963 in ARDOUR::Session::butler_thread_work (this=0x8ec6020) at #libs/ardour/session_butler.cc:176 #2 0xb7ef772f in ARDOUR::Session::_butler_thread_work (arg=0x8ec6020) at #libs/ardour/session_butler.cc:157 #3 0xb6aad2d3 in start_thread () from /lib/libpthread.so.0 0000004 0xb693d2fe in clone () from /lib/libc.so.6 Thread 2 (process 26083): #0 0xb693345d in poll () from /lib/libc.so.6 0000001 0xb7f14938 in ARDOUR::Session::midi_thread_work (this=0x8ec6020) at #libs/ardour/session_midi.cc:1220 #2 0xb7f14e8b in ARDOUR::Session::_midi_thread_work (arg=0x8ec6020) at #libs/ardour/session_midi.cc:1141 #3 0xb6aad2d3 in start_thread () from /lib/libpthread.so.0 0000004 0xb693d2fe in clone () from /lib/libc.so.6 Thread 1 (process 26063): #0 0x00000039 in ?? () 0000001 0x0856534e in idle_delete<Marker> (obj=0x8f05560) at #libs/gtkmm2ext/gtkmm2ext/doi.h:27 #2 0x08565d4d in sigc::pointer_functor1<Marker*, int>::operator() #(this=0x8fd2d18, _A_a1=@0x8fd2d1c) at #libs/sigc++2/sigc++/functors/ptr_fun.h:111 #3 0x08565d6b in sigc::adaptor_functor<sigc::pointer_functor1<Marker*, int> #>::operator()<Marker*&> (this=0x8fd2d14, _A_arg1=@0x8fd2d1c) at libs/sigc++2/sigc++/adaptors/adaptor_trait.h:84 0000004 0x08565d8c in sigc::bind_functor<-1, sigc::pointer_functor1<Marker*, int>, Marker*, sigc::nil_, sigc::nil_, sigc::nil_, sigc::nil_, sigc::nil_, #sigc::nil_>::operator() (this=0x8fd2d10) at libs/sigc++2/sigc++/adaptors/bind.h:1269 0000005 0x08565da8 in sigc::internal::slot_call0<sigc::bind_functor<-1, sigc::pointer_functor1<Marker*, int>, Marker*, sigc::nil_, sigc::nil_, #sigc::nil_, sigc::nil_, sigc::nil_, sigc::nil_>, bool>::call_it (rep=0x8fd2cf8) at libs/sigc++2/sigc++/functors/slot.h:103 #6 0xb7f178d8 in sigc::slot0<bool>::operator() (this=0x8e500b0) at libs/sigc++2/sigc++/functors/slot.h:440 #7 0xb6d97644 in glibmm_source_callback (data=0x8e500b0) at libs/glibmm2/glibmm/main.cc:195 0000008 0xb763a1a1 in ?? () from /usr/share/qt4/lib/libglib-2.0.so.0 0000009 0x08e500b0 in ?? () 0000010 0x00000000 in ?? () ........ cheers, doc | ||||
| Tags | No tags attached. | ||||
|
|
here i believe are some additional lines, which belongs in the front of the backtrace and i missed to copy&paste before: Failed to read a valid object file image from memory. Core was generated by `/usr/local/lib/ardour2/ardour-2.1'. Program terminated with signal 11, Segmentation fault. #0 0x00000039 in ?? () (gdb) thread apply all bt ... cheers, doc |
|
2007-11-15 17:35
|
fix-meter-tempo-marker-drag-crash.patch (714 bytes)
Index: gtk2_ardour/editor_mouse.cc =================================================================== --- gtk2_ardour/editor_mouse.cc (revision 2655) +++ gtk2_ardour/editor_mouse.cc (working copy) @@ -2327,6 +2327,7 @@ } drag_info.item = item; + drag_info.copy = false; drag_info.data = marker; drag_info.motion_callback = &Editor::meter_marker_drag_motion_callback; drag_info.finished_callback = &Editor::meter_marker_drag_finished_callback; @@ -2456,6 +2457,7 @@ } drag_info.item = item; + drag_info.copy = false; drag_info.data = marker; drag_info.motion_callback = &Editor::tempo_marker_drag_motion_callback; drag_info.finished_callback = &Editor::tempo_marker_drag_finished_callback; |
|
|
I found this bug a couple of weeks ago, and I just sent a patch to ardour-dev@lists.ardour.org earlier today that fixes it for me. I've now uploaded it here too. |
|
|
all right, i just applied the patch to ongoing@2679 and it is working good, no more crashes when moving tempo/meter marker. thanks for the patch and cheers, doc |
|
|
Bug confirmed, patch applied to 2.0-ongoing. Thanks very much for the report and the fix! |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2007-10-09 11:25 | nowhiskey | New Issue | |
| 2007-10-11 12:40 | nowhiskey | Note Added: 0004469 | |
| 2007-11-15 17:35 | colinf | File Added: fix-meter-tempo-marker-drag-crash.patch | |
| 2007-11-15 17:37 | colinf | Note Added: 0004567 | |
| 2007-11-15 17:56 | nowhiskey | Note Added: 0004568 | |
| 2007-11-17 20:54 | cth103 | Status | new => resolved |
| 2007-11-17 20:54 | cth103 | Resolution | open => fixed |
| 2007-11-17 20:54 | cth103 | Assigned To | => cth103 |
| 2007-11-17 20:54 | cth103 | Note Added: 0004571 | |
| 2008-11-21 00:04 | seablade | Status | resolved => closed |