View Issue Details

IDProjectCategoryView StatusLast Update
0002388ardourbugspublic2020-04-19 20:13
Reporterrealhangman Assigned Topaul  
PrioritynormalSeveritycrashReproducibilityalways
Status closedResolutionfixed 
Summary0002388: [PATCH] 2.5 crashes again when editing crossfades
DescriptionCreate a new session -> load 2 regions, let them overlap



With a short crossfade, Ardour crashes immediately when selecting "crossfade -> edit"



With a long crossfade, editing the crossfade and clicking on the preconfigured fade-in/out models randomly crashes Ardour.
TagsNo tags attached.

Activities

realhangman

2008-10-15 10:30

reporter   ~0005189

Also happens in ardour2.6-3929, backtrace of the crash when editing the short crossfade:

Thread 8 (process 11164):
#0 0x00007fa30b109d29 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
0000001 0x00007fa30d24924a in Glib::Cond::wait (this=0x315a890,
    mutex=@0x7fa30fbf35c0) at libs/glibmm2/glibmm/thread.cc:362
#2 0x00007fa30f9044f8 in peak_thread_work ()
    at libs/ardour/source_factory.cc:65
#3 0x0000000000be7e2b in sigc::pointer_functor0<void>::operator() (
    this=0x315a948) at libs/sigc++2/sigc++/functors/ptr_fun.h:77
0000004 0x0000000000be7e47 in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator() (this=0x315a940) at libs/sigc++2/sigc++/adaptors/adaptor_trait.h:251
0000005 0x0000000000be7e6a in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it (rep=0x315a910) at libs/sigc++2/sigc++/functors/slot.h:103
#6 0x00000000007f9d4b in sigc::slot0<void>::operator() (this=0x315a8f0)
    at libs/sigc++2/sigc++/functors/slot.h:440
#7 0x00007fa30d249b74 in call_thread_entry_slot (data=0x315a8f0)
    at libs/glibmm2/glibmm/thread.cc:43
0000008 0x00007fa30d4d5454 in ?? () from /usr/lib/libglib-2.0.so.0
0000009 0x00007fa30b105fc7 in start_thread () from /lib/libpthread.so.0
0000010 0x00007fa3082195ad in clone () from /lib/libc.so.6
0000011 0x0000000000000000 in ?? ()
Thread 7 (process 11165):
#0 0x00007fa30b109d29 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
0000001 0x00007fa30d24924a in Glib::Cond::wait (this=0x315a890,
    mutex=@0x7fa30fbf35c0) at libs/glibmm2/glibmm/thread.cc:362
#2 0x00007fa30f9044f8 in peak_thread_work ()
    at libs/ardour/source_factory.cc:65
#3 0x0000000000be7e2b in sigc::pointer_functor0<void>::operator() (
    this=0x315ab38) at libs/sigc++2/sigc++/functors/ptr_fun.h:77
0000004 0x0000000000be7e47 in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator() (this=0x315ab30) at libs/sigc++2/sigc++/adaptors/adaptor_trait.h:251
0000005 0x0000000000be7e6a in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it (rep=0x315ab00) at libs/sigc++2/sigc++/functors/slot.h:103
#6 0x00000000007f9d4b in sigc::slot0<void>::operator() (this=0x315aae0)
    at libs/sigc++2/sigc++/functors/slot.h:440
#7 0x00007fa30d249b74 in call_thread_entry_slot (data=0x315aae0)
    at libs/glibmm2/glibmm/thread.cc:43
0000008 0x00007fa30d4d5454 in ?? () from /usr/lib/libglib-2.0.so.0
0000009 0x00007fa30b105fc7 in start_thread () from /lib/libpthread.so.0
0000010 0x00007fa3082195ad in clone () from /lib/libc.so.6
0000011 0x0000000000000000 in ?? ()

Thread 6 (process 11166):
#0 0x00007fa30b109d29 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
0000001 0x00007fa30d24924a in Glib::Cond::wait (this=0x315acd0,
    mutex=@0x7fa30fbf2dc0) at libs/glibmm2/glibmm/thread.cc:362
#2 0x00007fa30f709ed0 in ARDOUR::Analyser::work ()
    at libs/ardour/analyser.cc:85
#3 0x00007fa30f70a051 in analyser_work () at libs/ardour/analyser.cc:49
0000004 0x0000000000be7e2b in sigc::pointer_functor0<void>::operator() (
    this=0x315ad88) at libs/sigc++2/sigc++/functors/ptr_fun.h:77
0000005 0x0000000000be7e47 in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator() (this=0x315ad80) at libs/sigc++2/sigc++/adaptors/adaptor_trait.h:251
#6 0x0000000000be7e6a in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it (rep=0x315ad50) at libs/sigc++2/sigc++/functors/slot.h:103
#7 0x00000000007f9d4b in sigc::slot0<void>::operator() (this=0x315ad30)
    at libs/sigc++2/sigc++/functors/slot.h:440
0000008 0x00007fa30d249b74 in call_thread_entry_slot (data=0x315ad30)
    at libs/glibmm2/glibmm/thread.cc:43
0000009 0x00007fa30d4d5454 in ?? () from /usr/lib/libglib-2.0.so.0
0000010 0x00007fa30b105fc7 in start_thread () from /lib/libpthread.so.0
0000011 0x00007fa3082195ad in clone () from /lib/libc.so.6
0000012 0x0000000000000000 in ?? ()

Thread 5 (process 11170):#0 0x00007fa308210b66 in poll () from /lib/libc.so.6
0000001 0x00007fa30b32281e in ?? () from /usr/lib/libjack.so.0
#2 0x00007fa30b322dd9 in jack_thread_wait () from /usr/lib/libjack.so.0
#3 0x00007fa30b3231c7 in ?? () from /usr/lib/libjack.so.0
0000004 0x00007fa30b105fc7 in start_thread () from /lib/libpthread.so.0
0000005 0x00007fa3082195ad in clone () from /lib/libc.so.6
#6 0x0000000000000000 in ?? ()

Thread 4 (process 11171):
#0 0x00007fa30b10d0e1 in nanosleep () from /lib/libpthread.so.0
0000001 0x00007fa30d4d75f8 in g_usleep () from /usr/lib/libglib-2.0.so.0
#2 0x00007fa30d241205 in Glib::usleep (microseconds=10000)
    at libs/glibmm2/glibmm/timer.cc:68
#3 0x00007fa30f72a140 in ARDOUR::AudioEngine::meter_thread (this=0x2fdbec0)
    at libs/ardour/audioengine.cc:434
0000004 0x00007fa30f72e84d in sigc::bound_mem_functor0<void, ARDOUR::AudioEngine>::operator() (this=0x3af8098) at libs/sigc++2/sigc++/functors/mem_fun.h:1787
0000005 0x00007fa30f72e869 in sigc::adaptor_functor<sigc::bound_mem_functor0<void, ARDOUR::AudioEngine> >::operator() (this=0x3af8090)
    at libs/sigc++2/sigc++/adaptors/adaptor_trait.h:251
#6 0x00007fa30f72e88c in sigc::internal::slot_call0<sigc::bound_mem_functor0<void, ARDOUR::AudioEngine>, void>::call_it (rep=0x3af8060)
    at libs/sigc++2/sigc++/functors/slot.h:103
#7 0x00000000007f9d4b in sigc::slot0<void>::operator() (this=0x3af8040)
    at libs/sigc++2/sigc++/functors/slot.h:440
0000008 0x00007fa30d249b74 in call_thread_entry_slot (data=0x3af8040)
    at libs/glibmm2/glibmm/thread.cc:43
0000009 0x00007fa30d4d5454 in ?? () from /usr/lib/libglib-2.0.so.0
0000010 0x00007fa30b105fc7 in start_thread () from /lib/libpthread.so.0
0000011 0x00007fa3082195ad in clone () from /lib/libc.so.6
0000012 0x0000000000000000 in ?? ()

Thread 3 (process 11172):
#0 0x00007fa308210b66 in poll () from /lib/libc.so.6
0000001 0x00007fa30f86632f in ARDOUR::Session::butler_thread_work (this=0x3b24be0)
    at libs/ardour/session_butler.cc:179
#2 0x00007fa30f86731a in ARDOUR::Session::_butler_thread_work (arg=0x3b24be0)
    at libs/ardour/session_butler.cc:159
#3 0x00007fa30b105fc7 in start_thread () from /lib/libpthread.so.0
0000004 0x00007fa3082195ad in clone () from /lib/libc.so.6
0000005 0x0000000000000000 in ?? ()

Thread 2 (process 11173):
#0 0x00007fa308210b66 in poll () from /lib/libc.so.6
0000001 0x00007fa30f8c6f26 in ARDOUR::Session::midi_thread_work (this=0x3b24be0)
    at libs/ardour/session_midi.cc:1223
#2 0x00007fa30f8c74b1 in ARDOUR::Session::_midi_thread_work (arg=0x3b24be0)
    at libs/ardour/session_midi.cc:1141
#3 0x00007fa30b105fc7 in start_thread () from /lib/libpthread.so.0
0000004 0x00007fa3082195ad in clone () from /lib/libc.so.6
0000005 0x0000000000000000 in ?? ()

Thread 1 (process 11162):
#0 0x00007fa3081c02eb in ?? () from /lib/libc.so.6
0000001 0x00007fa3081c1a78 in malloc () from /lib/libc.so.6
#2 0x00000000008e358d in gnome_canvas_waveview_ensure_cache (
    waveview=0x3c15700, start_sample=31349665, end_sample=31350037)
    at gtk2_ardour/canvas-waveview.c:626
#3 0x00000000008e50f4 in gnome_canvas_waveview_render (item=0x3c15700,
    buf=0x7fff17e0df40) at gtk2_ardour/canvas-waveview.c:1225
0000004 0x00007fa30aa8f38e in Gnome::Canvas::Item::render_vfunc (this=0x4776360,
    buf=0x7fff17e0df40) at libs/libgnomecanvasmm/libgnomecanvasmm/item.cc:877
0000005 0x00007fa30aa909c5 in Gnome::Canvas::Item_Class::render_vfunc_callback (
    self=0x3c15700, buf=0x7fff17e0df40)
    at libs/libgnomecanvasmm/libgnomecanvasmm/item.cc:497
#6 0x00007fa30aeed7de in ?? () from /usr/lib/libgnomecanvas-2.so.0
#7 0x00007fa30aef2377 in ?? () from /usr/lib/libgnomecanvas-2.so.0
0000008 0x00007fa30bb6197e in Gtk::Widget_Class::expose_event_callback (
    self=0x3c1f750, p0=0x7fff17e0e620) at libs/gtkmm2/gtk/gtkmm/widget.cc:3953
0000009 0x00007fa30cd7a688 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
0000010 0x00007fa30df55e9d in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
0000011 0x00007fa30df688dc in ?? () from /usr/lib/libgobject-2.0.so.0
0000012 0x00007fa30df69f71 in g_signal_emit_valist ()
   from /usr/lib/libgobject-2.0.so.0
0000013 0x00007fa30df6a5f3 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
0000014 0x00007fa30ce8f19e in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#15 0x00007fa30aeec32e in ?? () from /usr/lib/libgnomecanvas-2.so.0
0000016 0x00007fa30aeed0b0 in ?? () from /usr/lib/libgnomecanvas-2.so.0
#17 0x00007fa30d4ac78b in g_main_context_dispatch ()
   from /usr/lib/libglib-2.0.so.0
0000018 0x00007fa30d4aff5d in ?? () from /usr/lib/libglib-2.0.so.0
0000019 0x00007fa30d4b048d in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
0000020 0x00007fa30ccf5ff4 in gtk_dialog_run () from /usr/lib/libgtk-x11-2.0.so.0
0000021 0x00007fa30baad32f in Gtk::Dialog::run (this=0x7fff17e0e900)
    at libs/gtkmm2/gtk/gtkmm/dialog.cc:277
0000022 0x000000000090de55 in Editor::edit_xfade (this=0x3734cf0, wxfade=
        {px = 0x7fff17e0f3a0, pn = {pi_ = 0x3734cf0}})
    at gtk2_ardour/editor.cc:3747
0000023 0x0000000000968f89 in sigc::bound_mem_functor1<void, Editor, boost::weak_ptr<ARDOUR::Crossfade> >::operator() (this=0x4367c10, _A_a1=@0x4367c30)
    at libs/sigc++2/sigc++/functors/mem_fun.h:1851
#24 0x0000000000968fe1 in sigc::adaptor_functor<sigc::bound_mem_functor1<void, E
ditor, boost::weak_ptr<ARDOUR::Crossfade> > >::operator()<boost::weak_ptr<ARDOUR::Crossfade>&> (this=0x4367c08, _A_arg1=@0x4367c30)
    at libs/sigc++2/sigc++/adaptors/adaptor_trait.h:84
0000025 0x000000000096900d in sigc::bind_functor<-1, sigc::bound_mem_functor1<void, Editor, boost::weak_ptr<ARDOUR::Crossfade> >, boost::weak_ptr<ARDOUR::Crossfade>, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::operator()
    (this=0x4367c00) at libs/sigc++2/sigc++/adaptors/bind.h:1110
0000026 0x0000000000969030 in sigc::internal::slot_call0<sigc::bind_functor<-1, sigc::bound_mem_functor1<void, Editor, boost::weak_ptr<ARDOUR::Crossfade> >, boost::weak_ptr<ARDOUR::Crossfade>, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, void>::call_it (rep=0x4367bd0)
    at libs/sigc++2/sigc++/functors/slot.h:103
0000027 0x00000000007f9d4b in sigc::slot0<void>::operator() (this=0x4672158)
    at libs/sigc++2/sigc++/functors/slot.h:440
0000028 0x00007fa30d24beeb in Glib::SignalProxyNormal::slot0_void_callback (
    self=0x3816970, data=0x4672150) at libs/glibmm2/glibmm/signalproxy.cc:95
0000029 0x00007fa30df55e9d in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
0000030 0x00007fa30df6911e in ?? () from /usr/lib/libgobject-2.0.so.0
0000031 0x00007fa30df6a0ee in g_signal_emit_valist ()
   from /usr/lib/libgobject-2.0.so.0
0000032 0x00007fa30df6a5f3 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
0000033 0x00007fa30ce939ab in gtk_widget_activate ()
   from /usr/lib/libgtk-x11-2.0.so.0
0000034 0x00007fa30cd871ed in gtk_menu_shell_activate_item ()
   from /usr/lib/libgtk-x11-2.0.so.0
0000035 0x00007fa30cd88ec5 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
0000036 0x00007fa30bb61de6 in Gtk::Widget_Class::button_release_event_callback (
    self=0x3dab400, p0=0x7fa2fc02d8e0) at libs/gtkmm2/gtk/gtkmm/widget.cc:3805
0000037 0x00007fa30cd7a688 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
0000038 0x00007fa30df55e9d in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
0000039 0x00007fa30df688dc in ?? () from /usr/lib/libgobject-2.0.so.0
0000040 0x00007fa30df69f71 in g_signal_emit_valist ()
   from /usr/lib/libgobject-2.0.so.0
0000041 0x00007fa30df6a5f3 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
0000042 0x00007fa30ce8f19e in ?? () from /usr/lib/libgtk-x11-2.0.so.0
0000043 0x00007fa30cd73203 in gtk_propagate_event ()
   from /usr/lib/libgtk-x11-2.0.so.0
0000044 0x00007fa30cd7424b in gtk_main_do_event ()
   from /usr/lib/libgtk-x11-2.0.so.0
0000045 0x00007fa30c9d5f8c in ?? () from /usr/lib/libgdk-x11-2.0.so.0
0000046 0x00007fa30d4ac78b in g_main_context_dispatch ()
   from /usr/lib/libglib-2.0.so.0
0000047 0x00007fa30d4aff5d in ?? () from /usr/lib/libglib-2.0.so.0
0000048 0x00007fa30d4b048d in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
0000049 0x00007fa30cd74667 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
0000050 0x00007fa30ba89539 in Gtk::Main::run_impl (this=0x2e063b0)
 at libs/gtkmm2/gtk/gtkmm/main.cc:503
0000051 0x00007fa30ba893d6 in Gtk::Main::run ()
    at libs/gtkmm2/gtk/gtkmm/main.cc:450
0000052 0x00007fa30b5e0009 in Gtkmm2ext::UI::run (this=0x2e00bb0,
    old_receiver=@0x10e0960) at libs/gtkmm2ext/gtk_ui.cc:222
0000053 0x0000000000b28355 in main (argc=1, argv=0x7fff17e10528)
    at gtk2_ardour/main.cc:321

realhangman

2008-10-15 10:40

reporter   ~0005190

backtrace of random crash when editing long crossfades (clicking around in the fade-out models), maybe while playing back:

Thread 8 (process 11628):
#0 0x00007f3f91c8ed29 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
0000001 0x00007f3f93dce24a in Glib::Cond::wait (this=0x14d3890,
    mutex=@0x7f3f967785c0) at libs/glibmm2/glibmm/thread.cc:362
#2 0x00007f3f964894f8 in peak_thread_work ()
    at libs/ardour/source_factory.cc:65
#3 0x0000000000be7e2b in sigc::pointer_functor0<void>::operator() (
    this=0x14d3948) at libs/sigc++2/sigc++/functors/ptr_fun.h:77
0000004 0x0000000000be7e47 in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator() (this=0x14d3940) at libs/sigc++2/sigc++/adaptors/adaptor_trait.h:251
0000005 0x0000000000be7e6a in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it (rep=0x14d3910) at libs/sigc++2/sigc++/functors/slot.h:103
#6 0x00000000007f9d4b in sigc::slot0<void>::operator() (this=0x14d38f0)
    at libs/sigc++2/sigc++/functors/slot.h:440
#7 0x00007f3f93dceb74 in call_thread_entry_slot (data=0x14d38f0)
    at libs/glibmm2/glibmm/thread.cc:43
0000008 0x00007f3f9405a454 in ?? () from /usr/lib/libglib-2.0.so.0
0000009 0x00007f3f91c8afc7 in start_thread () from /lib/libpthread.so.0
0000010 0x00007f3f8ed9e5ad in clone () from /lib/libc.so.6
0000011 0x0000000000000000 in ?? ()
Thread 7 (process 11629):
#0 0x00007f3f91c8ed29 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
0000001 0x00007f3f93dce24a in Glib::Cond::wait (this=0x14d3890,
    mutex=@0x7f3f967785c0) at libs/glibmm2/glibmm/thread.cc:362
#2 0x00007f3f964894f8 in peak_thread_work ()
    at libs/ardour/source_factory.cc:65
#3 0x0000000000be7e2b in sigc::pointer_functor0<void>::operator() (
    this=0x14d3b38) at libs/sigc++2/sigc++/functors/ptr_fun.h:77
0000004 0x0000000000be7e47 in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator() (this=0x14d3b30) at libs/sigc++2/sigc++/adaptors/adaptor_trait.h:251
0000005 0x0000000000be7e6a in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it (rep=0x14d3b00) at libs/sigc++2/sigc++/functors/slot.h:103
#6 0x00000000007f9d4b in sigc::slot0<void>::operator() (this=0x14d3ae0)
    at libs/sigc++2/sigc++/functors/slot.h:440
#7 0x00007f3f93dceb74 in call_thread_entry_slot (data=0x14d3ae0)
    at libs/glibmm2/glibmm/thread.cc:43
0000008 0x00007f3f9405a454 in ?? () from /usr/lib/libglib-2.0.so.0
0000009 0x00007f3f91c8afc7 in start_thread () from /lib/libpthread.so.0
0000010 0x00007f3f8ed9e5ad in clone () from /lib/libc.so.6
0000011 0x0000000000000000 in ?? ()

Thread 6 (process 11630):
#0 0x00007f3f91c8ed29 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
0000001 0x00007f3f93dce24a in Glib::Cond::wait (this=0x14d3cd0,
    mutex=@0x7f3f96777dc0) at libs/glibmm2/glibmm/thread.cc:362
#2 0x00007f3f9628eed0 in ARDOUR::Analyser::work ()
    at libs/ardour/analyser.cc:85
#3 0x00007f3f9628f051 in analyser_work () at libs/ardour/analyser.cc:49
0000004 0x0000000000be7e2b in sigc::pointer_functor0<void>::operator() (
    this=0x14d3d88) at libs/sigc++2/sigc++/functors/ptr_fun.h:77
0000005 0x0000000000be7e47 in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator() (this=0x14d3d80) at libs/sigc++2/sigc++/adaptors/adaptor_trait.h:251
#6 0x0000000000be7e6a in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it (rep=0x14d3d50) at libs/sigc++2/sigc++/functors/slot.h:103
#7 0x00000000007f9d4b in sigc::slot0<void>::operator() (this=0x14d3d30)
    at libs/sigc++2/sigc++/functors/slot.h:440
0000008 0x00007f3f93dceb74 in call_thread_entry_slot (data=0x14d3d30)
    at libs/glibmm2/glibmm/thread.cc:43
0000009 0x00007f3f9405a454 in ?? () from /usr/lib/libglib-2.0.so.0
0000010 0x00007f3f91c8afc7 in start_thread () from /lib/libpthread.so.0
0000011 0x00007f3f8ed9e5ad in clone () from /lib/libc.so.6
0000012 0x0000000000000000 in ?? ()

Thread 5 (process 11636):
#0 0x00007f3f8ed95b66 in poll () from /lib/libc.so.6
0000001 0x00007f3f91ea781e in ?? () from /usr/lib/libjack.so.0
#2 0x00007f3f91ea7dd9 in jack_thread_wait () from /usr/lib/libjack.so.0
#3 0x00007f3f91ea81c7 in ?? () from /usr/lib/libjack.so.0
0000004 0x00007f3f91c8afc7 in start_thread () from /lib/libpthread.so.0
0000005 0x00007f3f8ed9e5ad in clone () from /lib/libc.so.6
#6 0x0000000000000000 in ?? ()

Thread 4 (process 11637):
#0 0x00007f3f91c920e1 in nanosleep () from /lib/libpthread.so.0
0000001 0x00007f3f9405c5f8 in g_usleep () from /usr/lib/libglib-2.0.so.0
#2 0x00007f3f93dc6205 in Glib::usleep (microseconds=10000)
    at libs/glibmm2/glibmm/timer.cc:68
#3 0x00007f3f962af140 in ARDOUR::AudioEngine::meter_thread (this=0x1354e40)
    at libs/ardour/audioengine.cc:434
0000004 0x00007f3f962b384d in sigc::bound_mem_functor0<void, ARDOUR::AudioEngine>::operator() (this=0x1c09b68) at libs/sigc++2/sigc++/functors/mem_fun.h:1787
0000005 0x00007f3f962b3869 in sigc::adaptor_functor<sigc::bound_mem_functor0<void, ARDOUR::AudioEngine> >::operator() (this=0x1c09b60)
    at libs/sigc++2/sigc++/adaptors/adaptor_trait.h:251
#6 0x00007f3f962b388c in sigc::internal::slot_call0<sigc::bound_mem_functor0<void, ARDOUR::AudioEngine>, void>::call_it (rep=0x1c09b30)
    at libs/sigc++2/sigc++/functors/slot.h:103
#7 0x00000000007f9d4b in sigc::slot0<void>::operator() (this=0x1bf1270)
    at libs/sigc++2/sigc++/functors/slot.h:440
0000008 0x00007f3f93dceb74 in call_thread_entry_slot (data=0x1bf1270)
    at libs/glibmm2/glibmm/thread.cc:43
0000009 0x00007f3f9405a454 in ?? () from /usr/lib/libglib-2.0.so.0
0000010 0x00007f3f91c8afc7 in start_thread () from /lib/libpthread.so.0
0000011 0x00007f3f8ed9e5ad in clone () from /lib/libc.so.6
0000012 0x0000000000000000 in ?? ()

Thread 3 (process 11638):
#0 0x00007f3f8ed95b66 in poll () from /lib/libc.so.6
0000001 0x00007f3f963eb32f in ARDOUR::Session::butler_thread_work (this=0x1c17b10)
    at libs/ardour/session_butler.cc:179
#2 0x00007f3f963ec31a in ARDOUR::Session::_butler_thread_work (arg=0x1c17b10)
    at libs/ardour/session_butler.cc:159
#3 0x00007f3f91c8afc7 in start_thread () from /lib/libpthread.so.0
0000004 0x00007f3f8ed9e5ad in clone () from /lib/libc.so.6
0000005 0x0000000000000000 in ?? ()

Thread 2 (process 11639):
#0 0x00007f3f8ed95b66 in poll () from /lib/libc.so.6
0000001 0x00007f3f9644bf26 in ARDOUR::Session::midi_thread_work (this=0x1c17b10)
    at libs/ardour/session_midi.cc:1223
#2 0x00007f3f9644c4b1 in ARDOUR::Session::_midi_thread_work (arg=0x1c17b10)
    at libs/ardour/session_midi.cc:1141
#3 0x00007f3f91c8afc7 in start_thread () from /lib/libpthread.so.0
0000004 0x00007f3f8ed9e5ad in clone () from /lib/libc.so.6
0000005 0x0000000000000000 in ?? ()

Thread 1 (process 11625):
#0 0x00007f3f8ed00ed5 in raise () from /lib/libc.so.6
0000001 0x00007f3f8ed023f3 in abort () from /lib/libc.so.6
#2 0x00007f3f8ed3d3a8 in ?? () from /lib/libc.so.6
#3 0x00007f3f8ed42948 in ?? () from /lib/libc.so.6
0000004 0x00007f3f8ed4517c in ?? () from /lib/libc.so.6
0000005 0x00007f3f8ed46a78 in malloc () from /lib/libc.so.6
#6 0x00007f3f91844236 in art_svp_intersector ()
   from /usr/lib/libart_lgpl_2.so.2
#7 0x00007f3f91847567 in art_svp_vpath_stroke ()
   from /usr/lib/libart_lgpl_2.so.2
0000008 0x00007f3f91a63856 in ?? () from /usr/lib/libgnomecanvas-2.so.0
0000009 0x00007f3f916146f0 in Gnome::Canvas::Item::update_vfunc (this=0x1950eb0,
    affine=0x7fff9e990ec0, clip_path=0x0, flags=1)
    at libs/libgnomecanvasmm/libgnomecanvasmm/item.cc:804
0000010 0x00007f3f91615fb9 in Gnome::Canvas::Item_Class::update_vfunc_callback (
    self=0x1791cc0, affine=0x7fff9e990ec0, clip_path=0x0, flags=1)
    at libs/libgnomecanvasmm/libgnomecanvasmm/item.cc:255
0000011 0x00007f3f91a700f8 in ?? () from /usr/lib/libgnomecanvas-2.so.0
0000012 0x00007f3f91a74a5e in ?? () from /usr/lib/libgnomecanvas-2.so.0
0000013 0x00007f3f916146f0 in Gnome::Canvas::Item::update_vfunc (this=0x194d160,
    affine=0x7fff9e991040, clip_path=0x0, flags=1)
    at libs/libgnomecanvasmm/libgnomecanvasmm/item.cc:804
0000014 0x00007f3f91615fb9 in Gnome::Canvas::Item_Class::update_vfunc_callback (
    self=0x194c4b0, affine=0x7fff9e991040, clip_path=0x0, flags=1)
    at libs/libgnomecanvasmm/libgnomecanvasmm/item.cc:255
#15 0x00007f3f91a700f8 in ?? () from /usr/lib/libgnomecanvas-2.so.0
0000016 0x00007f3f91a74a5e in ?? () from /usr/lib/libgnomecanvas-2.so.0
#17 0x00007f3f91a700f8 in ?? () from /usr/lib/libgnomecanvas-2.so.0
0000018 0x00007f3f91a71192 in ?? () from /usr/lib/libgnomecanvas-2.so.0
0000019 0x00007f3f91a720b0 in ?? () from /usr/lib/libgnomecanvas-2.so.0
0000020 0x00007f3f9403178b in g_main_context_dispatch ()
   from /usr/lib/libglib-2.0.so.0
0000021 0x00007f3f94034f5d in ?? () from /usr/lib/libglib-2.0.so.0
0000022 0x00007f3f9403548d in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
0000023 0x00007f3f9387aff4 in gtk_dialog_run () from /usr/lib/libgtk-x11-2.0.so.0
#24 0x00007f3f9263232f in Gtk::Dialog::run (this=0x7fff9e991470)
    at libs/gtkmm2/gtk/gtkmm/dialog.cc:277
0000025 0x000000000090de55 in Editor::edit_xfade (this=0x1833f90, wxfade=
        {px = 0x7fff9e991f10, pn = {pi_ = 0x1833f90}}) at gtk2_ardour/editor.cc:3747
0000026 0x0000000000968f89 in sigc::bound_mem_functor1<void, Editor, boost::weak_ptr<ARDOUR::Crossfade> >::operator() (this=0x40e2060, _A_a1=@0x40e2080)
    at libs/sigc++2/sigc++/functors/mem_fun.h:1851
0000027 0x0000000000968fe1 in sigc::adaptor_functor<sigc::bound_mem_functor1<void, Editor, boost::weak_ptr<ARDOUR::Crossfade> > >::operator()<boost::weak_ptr<ARDOUR::Crossfade>&> (this=0x40e2058, _A_arg1=@0x40e2080)
    at libs/sigc++2/sigc++/adaptors/adaptor_trait.h:84
0000028 0x000000000096900d in sigc::bind_functor<-1, sigc::bound_mem_functor1<void, Editor, boost::weak_ptr<ARDOUR::Crossfade> >, boost::weak_ptr<ARDOUR::Crossfade>, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::operator()
    (this=0x40e2050) at libs/sigc++2/sigc++/adaptors/bind.h:1110
0000029 0x0000000000969030 in sigc::internal::slot_call0<sigc::bind_functor<-1, sigc::bound_mem_functor1<void, Editor, boost::weak_ptr<ARDOUR::Crossfade> >, boost::weak_ptr<ARDOUR::Crossfade>, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, void>::call_it (rep=0x40e2020)
    at libs/sigc++2/sigc++/functors/slot.h:103
0000030 0x00000000007f9d4b in sigc::slot0<void>::operator() (this=0x43423b8)
    at libs/sigc++2/sigc++/functors/slot.h:440
0000031 0x00007f3f93dd0eeb in Glib::SignalProxyNormal::slot0_void_callback (
    self=0x408e720, data=0x43423b0) at libs/glibmm2/glibmm/signalproxy.cc:95
0000032 0x00007f3f94adae9d in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
0000033 0x00007f3f94aee11e in ?? () from /usr/lib/libgobject-2.0.so.0
0000034 0x00007f3f94aef0ee in g_signal_emit_valist ()
   from /usr/lib/libgobject-2.0.so.0
0000035 0x00007f3f94aef5f3 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
0000036 0x00007f3f93a189ab in gtk_widget_activate ()
   from /usr/lib/libgtk-x11-2.0.so.0
0000037 0x00007f3f9390c1ed in gtk_menu_shell_activate_item ()
   from /usr/lib/libgtk-x11-2.0.so.0
0000038 0x00007f3f9390dec5 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
0000039 0x00007f3f926e6de6 in Gtk::Widget_Class::button_release_event_callback (
    self=0x40db9c0, p0=0x7f3f78acd5f0) at libs/gtkmm2/gtk/gtkmm/widget.cc:3805
0000040 0x00007f3f938ff688 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
0000041 0x00007f3f94adae9d in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
0000042 0x00007f3f94aed8dc in ?? () from /usr/lib/libgobject-2.0.so.0
0000043 0x00007f3f94aeef71 in g_signal_emit_valist ()
   from /usr/lib/libgobject-2.0.so.0
0000044 0x00007f3f94aef5f3 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
0000045 0x00007f3f93a1419e in ?? () from /usr/lib/libgtk-x11-2.0.so.0
0000046 0x00007f3f938f8203 in gtk_propagate_event ()
   from /usr/lib/libgtk-x11-2.0.so.0
0000047 0x00007f3f938f924b in gtk_main_do_event ()
   from /usr/lib/libgtk-x11-2.0.so.0
0000048 0x00007f3f9355af8c in ?? () from /usr/lib/libgdk-x11-2.0.so.0
0000049 0x00007f3f9403178b in g_main_context_dispatch ()
   from /usr/lib/libglib-2.0.so.0
0000050 0x00007f3f94034f5d in ?? () from /usr/lib/libglib-2.0.so.0
0000051 0x00007f3f9403548d in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
0000052 0x00007f3f938f9667 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
0000053 0x00007f3f9260e539 in Gtk::Main::run_impl (this=0x117f3b0)
    at libs/gtkmm2/gtk/gtkmm/main.cc:503
0000054 0x00007f3f9260e3d6 in Gtk::Main::run ()
    at libs/gtkmm2/gtk/gtkmm/main.cc:450
0000055 0x00007f3f92165009 in Gtkmm2ext::UI::run (this=0x1179bb0,
    old_receiver=@0x10e0960) at libs/gtkmm2ext/gtk_ui.cc:222
0000056 0x0000000000b28355 in main (argc=1, argv=0x7fff9e993098)
    at gtk2_ardour/main.cc:321

realhangman

2009-03-29 08:13

reporter   ~0005847

2.8:

I thought this was fixed, but 2.8 defintely crashes immediately when editing a short crossfade -> segmentation fault.

Is there a possibility for a test-tarball before the next release? I am sorry, but I am always ending up with a crash after 2 minutes of testing a new realease...

cth103

2009-10-19 22:14

administrator   ~0006736

This should be fixed by the attached patch. Would you like to try it out?

realhangman

2009-10-20 16:18

reporter   ~0006773

Hi cth103,

thanks a lot, it works! Applied to 2.8.3 which originally crashed. Now it's fixed!

Best,
realhangman

realhangman

2009-10-20 18:53

reporter   ~0006778

Hi,

unfortunately this patch causes Ardour to crash when scrolling vertically in the editor window. I cannot reproduce this with a new session, but it happens in a session of mine which works fine with unpatched 2.8.3.

Best
realhangman

cth103

2009-10-20 18:58

administrator   ~0006779

Rats. Can you get a backtrace?

2009-10-20 20:07

 

2388-2.patch (1,327 bytes)   
diff --git a/libs/ardour/audiosource.cc b/libs/ardour/audiosource.cc
index 36a667d..1bdf541 100644
--- a/libs/ardour/audiosource.cc
+++ b/libs/ardour/audiosource.cc
@@ -286,6 +286,8 @@ AudioSource::read_peaks_with_fpp (PeakData *peaks, nframes_t npeaks, nframes_t s
 	Sample* raw_staging = 0;
 	int _peakfile = -1;
 
+	nframes_t const peaks_size = npeaks;
+
 	expected_peaks = (cnt / (double) samples_per_file_peak);
 	scale = npeaks/expected_peaks;
 
@@ -374,7 +376,7 @@ AudioSource::read_peaks_with_fpp (PeakData *peaks, nframes_t npeaks, nframes_t s
 		}
 
 		if (zero_fill) {
-			memset (&peaks[npeaks], 0, sizeof (PeakData) * zero_fill);
+			memset (peaks + peaks_size - zero_fill, 0, sizeof (PeakData) * zero_fill);
 		}
 
 		return 0;
@@ -485,7 +487,7 @@ AudioSource::read_peaks_with_fpp (PeakData *peaks, nframes_t npeaks, nframes_t s
 		}
 
 		if (zero_fill) {
- 			memset (&peaks[npeaks], 0, sizeof (PeakData) * zero_fill);
+ 			memset (peaks + peaks_size - zero_fill, 0, sizeof (PeakData) * zero_fill);
  		}
 		
 		ret = 0;
@@ -562,7 +564,7 @@ AudioSource::read_peaks_with_fpp (PeakData *peaks, nframes_t npeaks, nframes_t s
 		}
 		
 		if (zero_fill) {
-			memset (&peaks[npeaks], 0, sizeof (PeakData) * zero_fill);
+			memset (peaks + peaks_size - zero_fill, 0, sizeof (PeakData) * zero_fill);
 		}
 
 		ret = 0;
2388-2.patch (1,327 bytes)   

cth103

2009-10-20 20:08

administrator   ~0006783

Attached an updated version of the patch for testing.

cth103

2009-10-20 20:21

administrator   ~0006785

realhangman reports that the updated patch seems to work.

paul

2009-10-26 01:05

administrator   ~0006889

carl's patch committed (rev 5920). could be awesome!

system

2020-04-19 20:13

developer   ~0021786

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
2008-09-17 19:30 realhangman New Issue
2008-10-15 10:30 realhangman Note Added: 0005189
2008-10-15 10:40 realhangman Note Added: 0005190
2009-03-29 08:13 realhangman Note Added: 0005847
2009-10-19 22:13 cth103 File Added: 2388.patch
2009-10-19 22:14 cth103 Note Added: 0006736
2009-10-19 22:14 cth103 Status new => assigned
2009-10-19 22:14 cth103 Assigned To => paul
2009-10-19 22:14 cth103 cost => 0.00
2009-10-19 22:14 cth103 Summary 2.5 crashes again when editing crossfades => [PATCH] 2.5 crashes again when editing crossfades
2009-10-20 16:18 realhangman Note Added: 0006773
2009-10-20 18:53 realhangman Note Added: 0006778
2009-10-20 18:58 cth103 Note Added: 0006779
2009-10-20 20:07 cth103 File Deleted: 2388.patch
2009-10-20 20:07 cth103 File Added: 2388-2.patch
2009-10-20 20:08 cth103 Note Added: 0006783
2009-10-20 20:21 cth103 Note Added: 0006785
2009-10-26 01:05 paul Note Added: 0006889
2009-10-26 01:05 paul Status assigned => resolved
2009-10-26 01:05 paul Resolution open => fixed
2020-04-19 20:13 system Note Added: 0021786
2020-04-19 20:13 system Status resolved => closed