View Issue Details

IDProjectCategoryView StatusLast Update
0002906ardourbugspublic2010-04-24 10:31
Reportermrshit Assigned To 
PrioritynormalSeveritycrashReproducibilityalways
Status newResolutionopen 
Product VersionSVN/2.0-ongoing 
Summary0002906: Consolidating range causes crash
DescriptionI'm exporting tracks from Ardour into my colleaques Sonar so he could work with them.

I use the range tool and consolidation (habit from protools?) to create the bounce wav files and transfer them. I have 10+ sessions and few of them causes crashes when doing this.

I managed to isolate one crash and I can reproduce it every time. Only one of the tracks in this session causes the crash and it doesn't matter where the range is marked.

I'm using the SVN version of 2.0 (Rev 6047). This is the error message:

--
ardour-2.8.4: /usr/include/boost/smart_ptr/shared_ptr.hpp:409: T* boost::shared_ptr< <template-parameter-1-1> >::operator->() const [with T = ARDOUR::Region]: Assertion `px != 0' failed.
--

Here is the GDB dump:
-----
Program received signal SIGABRT, Aborted.
0x00007fffef48df15 in raise () from /lib/libc.so.6
(gdb) thread apply all bt

Thread 16 (Thread 0x7fffe4212a30 (LWP 4440)):
#0 0x00007fffef51f133 in poll () from /lib/libc.so.6
0000001 0x00007ffff7a9ae10 in ARDOUR::Session::midi_thread_work (this=0x1b10110) at libs/ardour/session_midi.cc:1220
#2 0x00007ffff7a9a8f8 in ARDOUR::Session::_midi_thread_work (arg=0x1b10110) at libs/ardour/session_midi.cc:1138
#3 0x00007fffef7b557a in start_thread () from /lib/libpthread.so.0
0000004 0x00007fffef5278ed in clone () from /lib/libc.so.6
0000005 0x0000000000000000 in ?? ()

Thread 15 (Thread 0x7fffe428da30 (LWP 4439)):
#0 0x00007fffef51f133 in poll () from /lib/libc.so.6
0000001 0x00007ffff7a380df in ARDOUR::Session::butler_thread_work (this=0x1b10110) at libs/ardour/session_butler.cc:179
#2 0x00007ffff7a38044 in ARDOUR::Session::_butler_thread_work (arg=0x1b10110) at libs/ardour/session_butler.cc:159
#3 0x00007fffef7b557a in start_thread () from /lib/libpthread.so.0
0000004 0x00007fffef5278ed in clone () from /lib/libc.so.6
0000005 0x0000000000000000 in ?? ()

Thread 14 (Thread 0x7fffe4475a30 (LWP 4438)):
#0 0x00007fffef7bcf81 in nanosleep () from /lib/libpthread.so.0
0000001 0x00007ffff5a201f8 in g_usleep () from /usr/lib/libglib-2.0.so.0
#2 0x00007ffff57966c4 in Glib::usleep (microseconds=10000) at libs/glibmm2/glibmm/timer.cc:68
#3 0x00007ffff79047fa in ARDOUR::AudioEngine::meter_thread (this=0x182eda0) at libs/ardour/audioengine.cc:453
0000004 0x00007ffff790c421 in sigc::bound_mem_functor0<void, ARDOUR::AudioEngine>::operator() (this=0x1afbb58)
    at libs/sigc++2/sigc++/functors/mem_fun.h:1787
0000005 0x00007ffff790c198 in sigc::adaptor_functor<sigc::bound_mem_functor0<void, ARDOUR::AudioEngine> >::operator() (this=0x1afbb50)
    at libs/sigc++2/sigc++/adaptors/adaptor_trait.h:251
#6 0x00007ffff790bb75 in sigc::internal::slot_call0<sigc::bound_mem_functor0<void, ARDOUR::AudioEngine>, void>::call_it (
    rep=0x1afbb20) at libs/sigc++2/sigc++/functors/slot.h:103
#7 0x0000000000815192 in sigc::slot0<void>::operator() (this=0x1afbb00) at libs/sigc++2/sigc++/functors/slot.h:440
0000008 0x00007ffff57949d8 in call_thread_entry_slot (data=0x1afbb00) at libs/glibmm2/glibmm/thread.cc:43
0000009 0x00007ffff5a1deb4 in g_thread_create_proxy () from /usr/lib/libglib-2.0.so.0
0000010 0x00007fffef7b557a in start_thread () from /lib/libpthread.so.0
0000011 0x00007fffef5278ed in clone () from /lib/libc.so.6
0000012 0x0000000000000000 in ?? ()

Thread 13 (Thread 0x7fffe45c9910 (LWP 4437)):
#0 0x00007fffef51f133 in poll () from /lib/libc.so.6
0000001 0x00007ffff312dfc6 in Jack::JackFifo::TimedWait(long) () from /usr/local/lib/libjack.so.0
#2 0x00007ffff3119a2a in Jack::JackConnectionManager::SuspendRefNum(Jack::JackClientControl*, Jack::JackFifo*, Jack::JackClientTiming*, long) () from /usr/local/lib/libjack.so.0
#3 0x00007ffff31186df in Jack::JackClient::Execute() () from /usr/local/lib/libjack.so.0
0000004 0x00007ffff312cd60 in Jack::JackPosixThread::ThreadHandler(void*) () from /usr/local/lib/libjack.so.0
0000005 0x00007fffef7b557a in start_thread () from /lib/libpthread.so.0
#6 0x00007fffef5278ed in clone () from /lib/libc.so.6
#7 0x0000000000000000 in ?? ()

Thread 12 (Thread 0x7fffe49ca910 (LWP 4436)):
#0 0x00007fffef7bc75b in read () from /lib/libpthread.so.0
0000001 0x00007ffff312e9e2 in Jack::JackClientSocket::Read(void*, int) () from /usr/local/lib/libjack.so.0
#2 0x00007ffff3130d37 in Jack::JackSocketClientChannel::Execute() () from /usr/local/lib/libjack.so.0
#3 0x00007ffff312cd60 in Jack::JackPosixThread::ThreadHandler(void*) () from /usr/local/lib/libjack.so.0
0000004 0x00007fffef7b557a in start_thread () from /lib/libpthread.so.0
0000005 0x00007fffef5278ed in clone () from /lib/libc.so.6
---Type <return> to continue, or q <return> to quit---
#6 0x0000000000000000 in ?? ()

Thread 11 (Thread 0x7fffe4a4b910 (LWP 4435)):
#0 0x00007fffef7b9dd9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
0000001 0x00007ffff312e411 in Jack::JackProcessSync::Wait() () from /usr/local/lib/libjack.so.0
#2 0x00007ffff3129dc9 in Jack::JackMessageBuffer::Execute() () from /usr/local/lib/libjack.so.0
#3 0x00007ffff312cd60 in Jack::JackPosixThread::ThreadHandler(void*) () from /usr/local/lib/libjack.so.0
0000004 0x00007fffef7b557a in start_thread () from /lib/libpthread.so.0
0000005 0x00007fffef5278ed in clone () from /lib/libc.so.6
#6 0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7fffe901d910 (LWP 4428)):
#0 0x00007fffef7b9dd9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
0000001 0x00007ffff579545d in Glib::Cond::wait (this=0x135e670, mutex=...) at libs/glibmm2/glibmm/thread.cc:362
#2 0x00007ffff78e4002 in ARDOUR::Analyser::work () at libs/ardour/analyser.cc:85
#3 0x00007ffff78e3cad in analyser_work () at libs/ardour/analyser.cc:49
0000004 0x0000000000bc2ceb in sigc::pointer_functor0<void>::operator()() const ()
0000005 0x0000000000bc2078 in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator()() const ()
#6 0x0000000000bc0a29 in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it(sigc::internal::slot_rep*) ()
#7 0x0000000000815192 in sigc::slot0<void>::operator() (this=0x135e690) at libs/sigc++2/sigc++/functors/slot.h:440
0000008 0x00007ffff57949d8 in call_thread_entry_slot (data=0x135e690) at libs/glibmm2/glibmm/thread.cc:43
0000009 0x00007ffff5a1deb4 in g_thread_create_proxy () from /usr/lib/libglib-2.0.so.0
0000010 0x00007fffef7b557a in start_thread () from /lib/libpthread.so.0
0000011 0x00007fffef5278ed in clone () from /lib/libc.so.6
0000012 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7fffe981e910 (LWP 4427)):
#0 0x00007fffef7b9dd9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
0000001 0x00007ffff579545d in Glib::Cond::wait (this=0x135e0f0, mutex=...) at libs/glibmm2/glibmm/thread.cc:362
#2 0x00007ffff7ad58ae in peak_thread_work () at libs/ardour/source_factory.cc:65
#3 0x0000000000bc2ceb in sigc::pointer_functor0<void>::operator()() const ()
0000004 0x0000000000bc2078 in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator()() const ()
0000005 0x0000000000bc0a29 in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it(sigc::internal::slot_rep*) ()
#6 0x0000000000815192 in sigc::slot0<void>::operator() (this=0x135e300) at libs/sigc++2/sigc++/functors/slot.h:440
#7 0x00007ffff57949d8 in call_thread_entry_slot (data=0x135e300) at libs/glibmm2/glibmm/thread.cc:43
0000008 0x00007ffff5a1deb4 in g_thread_create_proxy () from /usr/lib/libglib-2.0.so.0
0000009 0x00007fffef7b557a in start_thread () from /lib/libpthread.so.0
0000010 0x00007fffef5278ed in clone () from /lib/libc.so.6
0000011 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fffea01f910 (LWP 4426)):
#0 0x00007fffef7b9dd9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
0000001 0x00007ffff579545d in Glib::Cond::wait (this=0x135e0f0, mutex=...) at libs/glibmm2/glibmm/thread.cc:362
#2 0x00007ffff7ad58ae in peak_thread_work () at libs/ardour/source_factory.cc:65
#3 0x0000000000bc2ceb in sigc::pointer_functor0<void>::operator()() const ()
0000004 0x0000000000bc2078 in sigc::adaptor_functor<sigc::pointer_functor0<void> >::operator()() const ()
0000005 0x0000000000bc0a29 in sigc::internal::slot_call0<sigc::pointer_functor0<void>, void>::call_it(sigc::internal::slot_rep*) ()
#6 0x0000000000815192 in sigc::slot0<void>::operator() (this=0x135e110) at libs/sigc++2/sigc++/functors/slot.h:440
#7 0x00007ffff57949d8 in call_thread_entry_slot (data=0x135e110) at libs/glibmm2/glibmm/thread.cc:43
0000008 0x00007ffff5a1deb4 in g_thread_create_proxy () from /usr/lib/libglib-2.0.so.0
0000009 0x00007fffef7b557a in start_thread () from /lib/libpthread.so.0
0000010 0x00007fffef5278ed in clone () from /lib/libc.so.6
0000011 0x0000000000000000 in ?? ()
---Type <return> to continue, or q <return> to quit---

Thread 1 (Thread 0x7ffff7fba7f0 (LWP 4425)):
#0 0x00007fffef48df15 in raise () from /lib/libc.so.6
0000001 0x00007fffef48f340 in abort () from /lib/libc.so.6
#2 0x00007fffef486f9a in __assert_fail () from /lib/libc.so.6
#3 0x00000000008b46e5 in boost::shared_ptr<ARDOUR::Region>::operator-> (this=0x7fffffffd300)
    at /usr/include/boost/smart_ptr/shared_ptr.hpp:409
0000004 0x00007ffff79f2b2c in ARDOUR::Playlist::add_region_internal (this=0x7fffe0971120, region=..., position=5319184)
    at libs/ardour/playlist.cc:562
0000005 0x00007ffff79f2441 in ARDOUR::Playlist::add_region (this=0x7fffe0971120, region=..., position=5319184, times=1)
    at libs/ardour/playlist.cc:508
#6 0x0000000000a15af2 in Editor::bounce_range_selection (this=0x18418e0, replace=true, enable_processing=false)
    at gtk2_ardour/editor_ops.cc:3681
#7 0x0000000000982814 in sigc::bound_mem_functor2<void, Editor, bool, bool>::operator() (this=0x7fffe17b67e0, _A_a1=@0x7fffe17b6800,
    _A_a2=@0x7fffe17b6801) at libs/sigc++2/sigc++/functors/mem_fun.h:1917
0000008 0x0000000000980519 in sigc::adaptor_functor<sigc::bound_mem_functor2<void, Editor, bool, bool> >::operator()<bool&, bool&> (
    this=0x7fffe17b67d8, _A_arg1=@0x7fffe17b6800, _A_arg2=@0x7fffe17b6801) at libs/sigc++2/sigc++/adaptors/adaptor_trait.h:103
0000009 0x000000000097c12e in sigc::bind_functor<-1, sigc::bound_mem_functor2<void, Editor, bool, bool>, bool, bool, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::operator() (this=0x7fffe17b67d0) at libs/sigc++2/sigc++/adaptors/bind.h:1324
0000010 0x0000000000975c7f in sigc::internal::slot_call0<sigc::bind_functor<-1, sigc::bound_mem_functor2<void, Editor, bool, bool>, bool, bool, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>, void>::call_it (rep=0x7fffe17b67a0)
    at libs/sigc++2/sigc++/functors/slot.h:103
0000011 0x0000000000815192 in sigc::slot0<void>::operator() (this=0x7fffe18c2aa8) at libs/sigc++2/sigc++/functors/slot.h:440
0000012 0x00007ffff57899b1 in Glib::SignalProxyNormal::slot0_void_callback (self=0x7fffe1f32ee0, data=0x7fffe18c2aa0)
    at libs/glibmm2/glibmm/signalproxy.cc:95
0000013 0x00007ffff629991e in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
0000014 0x00007ffff62adfb9 in signal_emit_unlocked_R () from /usr/lib/libgobject-2.0.so.0
#15 0x00007ffff62aed89 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
0000016 0x00007ffff62af283 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#17 0x00007ffff538d90e in gtk_widget_activate () from /usr/lib/libgtk-x11-2.0.so.0
0000018 0x00007ffff528eb8d in gtk_menu_shell_activate_item () from /usr/lib/libgtk-x11-2.0.so.0
0000019 0x00007ffff5290389 in gtk_menu_shell_button_release () from /usr/lib/libgtk-x11-2.0.so.0
0000020 0x00007ffff38ce248 in Gtk::Widget_Class::button_release_event_callback (self=0x16b77f0, p0=0x25ca320)
    at libs/gtkmm2/gtk/gtkmm/widget.cc:3805
0000021 0x00007ffff5280b68 in _gtk_marshal_BOOLEAN__BOXED () from /usr/lib/libgtk-x11-2.0.so.0
0000022 0x00007ffff629991e in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
0000023 0x00007ffff62ad695 in signal_emit_unlocked_R () from /usr/lib/libgobject-2.0.so.0
#24 0x00007ffff62aec1c in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
0000025 0x00007ffff62af283 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
0000026 0x00007ffff538781f in gtk_widget_event_internal () from /usr/lib/libgtk-x11-2.0.so.0
0000027 0x00007ffff5279113 in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0
0000028 0x00007ffff527a0e3 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
0000029 0x00007ffff4ef93fc in gdk_event_dispatch () from /usr/lib/libgdk-x11-2.0.so.0
0000030 0x00007ffff59f51fe in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
0000031 0x00007ffff59f8bb8 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
0000032 0x00007ffff59f9015 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
0000033 0x00007ffff527a5b7 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
0000034 0x00007ffff399aff7 in Gtk::Main::run_impl (this=0x10f9550) at libs/gtkmm2/gtk/gtkmm/main.cc:503
0000035 0x00007ffff399adeb in Gtk::Main::run () at libs/gtkmm2/gtk/gtkmm/main.cc:450
0000036 0x00007ffff33f7190 in Gtkmm2ext::UI::run (this=0x10f3ad0, old_receiver=...) at libs/gtkmm2ext/gtk_ui.cc:226
0000037 0x0000000000b0d429 in main (argc=1, argv=0x7fffffffe378) at gtk2_ardour/main.cc:389
(gdb)
-----
TagsNo tags attached.

Activities

cth103

2009-11-09 23:52

administrator   ~0007092

It is possible for AudioTrack::bounce_range to return a 0 pointer for the region, but this isn't checked for in Editor::bounce_range_selection.

Issue History

Date Modified Username Field Change
2009-11-09 17:42 mrshit New Issue
2009-11-09 23:52 cth103 Note Added: 0007092
2010-04-24 10:28 cth103 Category bugs => bugs2
2010-04-24 10:31 cth103 Category bugs2 => bugs