bff55cc881fab2c9614403ddd8ea4d7831f29f43
The Model must be destroyed after the iterator, otherwise the iterator's d'tor will cause memory corruption trying to lock the model: ``` Invalid read of size 4 at pthread_rwlock_unlock (pthread_rwlock_unlock.c:39) by Glib::Threads::RWLock::ReaderLock::~ReaderLock() (threads.h:828) by void boost::checked_delete<Glib::Threads::RWLock::ReaderLock>(Glib::Threads::RWLock::ReaderLock*) (checked_delete.hpp:36) by boost::detail::sp_counted_impl_p<Glib::Threads::RWLock::ReaderLock>::dispose() (sp_counted_impl.hpp:89) by boost::detail::sp_counted_base::release() (sp_counted_base_gcc_atomic.hpp:120) by boost::detail::shared_count::~shared_count() (shared_count.hpp:432) by boost::shared_ptr<Glib::Threads::RWLock::ReaderLock>::~shared_ptr() (shared_ptr.hpp:335) by Evoral::Sequence<Temporal::Beats>::const_iterator::~const_iterator() (Sequence.h:224) by ARDOUR::MIDITrigger::~MIDITrigger() (triggerbox.cc:2037) by ARDOUR::MIDITrigger::~MIDITrigger() (triggerbox.cc:2039) by ARDOUR::TriggerBoxThread::delete_trigger(ARDOUR::Trigger*) (triggerbox.cc:4386) by ARDOUR::TriggerBoxThread::thread_work() (triggerbox.cc:4314) by ARDOUR::TriggerBoxThread::_thread_work(void*) (triggerbox.cc:4285) by fake_thread_start(void*) (pthread_utils.cc:101) by start_thread (pthread_create.c:477) by clone (clone.S:95) Address 0x28229798 is 24 bytes inside a block of size 56 free'd at free (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so) by Glib::Threads::RWLock::~RWLock() (in /usr/lib/x86_64-linux-gnu/libglibmm-2.4.so.1.3.0) by Evoral::Sequence<Temporal::Beats>::~Sequence() (Sequence.h:68) by ARDOUR::AutomatableSequence<Temporal::Beats>::~AutomatableSequence() (automatable_sequence.h:31) by ARDOUR::MidiModel::~MidiModel() (midi_model.h:58) by ARDOUR::MidiModel::~MidiModel() (midi_model.h:58) by void boost::checked_delete<ARDOUR::MidiModel>(ARDOUR::MidiModel*) (checked_delete.hpp:36) by boost::detail::sp_counted_impl_p<ARDOUR::MidiModel>::dispose() (sp_counted_impl.hpp:89) by boost::detail::sp_counted_base::release() (sp_counted_base_gcc_atomic.hpp:120) by boost::detail::shared_count::~shared_count() (shared_count.hpp:432) by boost::shared_ptr<ARDOUR::MidiModel>::~shared_ptr() (shared_ptr.hpp:335) by ARDOUR::MIDITrigger::~MIDITrigger() (triggerbox.cc:2037) by ARDOUR::MIDITrigger::~MIDITrigger() (triggerbox.cc:2039) by ARDOUR::TriggerBoxThread::delete_trigger(ARDOUR::Trigger*) (triggerbox.cc:4386) by ARDOUR::TriggerBoxThread::thread_work() (triggerbox.cc:4314) by ARDOUR::TriggerBoxThread::_thread_work(void*) (triggerbox.cc:4285) by fake_thread_start(void*) (pthread_utils.cc:101) by start_thread (pthread_create.c:477) by clone (clone.S:95) ```
Please see the Ardour web site at https://ardour.org/ for all documentation..
For information on building ardour:
https://ardour.org/development.html
Description
Languages
C++
56.5%
C
39.6%
JavaScript
1.3%
Lua
0.9%
Python
0.6%
Other
0.9%