Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AddressSanitizer: alloc-dealloc-mismatch in TAL-Noizemaker #10

Closed
Fak3 opened this issue Nov 11, 2015 · 1 comment · Fixed by #11
Closed

AddressSanitizer: alloc-dealloc-mismatch in TAL-Noizemaker #10

Fak3 opened this issue Nov 11, 2015 · 1 comment · Fixed by #11

Comments

@Fak3
Copy link
Contributor

Fak3 commented Nov 11, 2015

I built ardour4 with enabled address-sanitizer, and when i add TAL-Noizemaker plugin to track, ardour dies with following error:

=================================================================
==22069== ERROR: AddressSanitizer: alloc-dealloc-mismatch (operator new [] vs operator delete) on 0x6004012073f0
    #0 0x7eff01e241ba in operator delete(void*) ??:0:0
    #1 0x7efec98c50c4 in FilterHandler::~FilterHandler() /home/z/pproj/DISTRHO-Ports/ports/tal-noisemaker/LV2/././engine/FilterHandler.h:112:0
    #2 0x7efec98c6305 in SynthVoice::~SynthVoice() /home/z/pproj/DISTRHO-Ports/ports/tal-noisemaker/LV2/././engine/SynthVoice.h:106:0
    #3 0x7efec98c78c7 in VoiceManager::~VoiceManager() /home/z/pproj/DISTRHO-Ports/ports/tal-noisemaker/LV2/././engine/VoiceManager.h:65:0
    #4 0x7efec98cc12f in SynthEngine::~SynthEngine() /home/z/pproj/DISTRHO-Ports/ports/tal-noisemaker/LV2/././engine/SynthEngine.h:84:0
    #5 0x7efec98afcde in TalCore::~TalCore() /home/z/pproj/DISTRHO-Ports/ports/tal-noisemaker/LV2/../source/TalCore.cpp:79:0
    #6 0x7efec98afd97 in TalCore::~TalCore() /home/z/pproj/DISTRHO-Ports/ports/tal-noisemaker/LV2/../source/TalCore.cpp:83:0
    #7 0x7efec98eef4a in juce::ContainerDeletePolicy<juce::AudioProcessor>::destroy(juce::AudioProcessor*) /home/z/pproj/DISTRHO-Ports/ports/tal-noisemaker/LV2/../../../libs/juce/source/modules/juce_audio_basics/../juce_core/memory/juce_ContainerDeletePolicy.h:58:0
    #8 0x7efec98ee674 in juce::ScopedPointer<juce::AudioProcessor>::operator=(juce::AudioProcessor*) /home/z/pproj/DISTRHO-Ports/ports/tal-noisemaker/LV2/../../../libs/juce/source/modules/juce_audio_basics/../juce_core/memory/juce_ScopedPointer.h:141:0
    #9 0x7efec98eb856 in JuceLv2Wrapper::~JuceLv2Wrapper() /home/z/pproj/DISTRHO-Ports/ports/tal-noisemaker/LV2/../../../libs/juce/source/modules/juce_audio_plugin_client/LV2/juce_LV2_Wrapper.cpp:1234:0
    #10 0x7efec98eb967 in JuceLv2Wrapper::~JuceLv2Wrapper() /home/z/pproj/DISTRHO-Ports/ports/tal-noisemaker/LV2/../../../libs/juce/source/modules/juce_audio_plugin_client/LV2/juce_LV2_Wrapper.cpp:1241:0
    #11 0x7efec98e8715 in juceLV2_Cleanup(void*) /home/z/pproj/DISTRHO-Ports/ports/tal-noisemaker/LV2/../../../libs/juce/source/modules/juce_audio_plugin_client/LV2/juce_LV2_Wrapper.cpp:1947:0
    #12 0x7efefac7a312 in lilv_instance_free /usr/src/debug/lilv-0.20.0/build/../src/instance.c:118:0
    #13 0x7eff00ae7a99 in ARDOUR::LV2Plugin::~LV2Plugin() /usr/src/debug/ardour-4.4.git.2015.11.07/build/../libs/ardour/lv2_plugin.cc:693:0
    #14 0x7eff00ae8207 in ARDOUR::LV2Plugin::~LV2Plugin() /usr/src/debug/ardour-4.4.git.2015.11.07/build/../libs/ardour/lv2_plugin.cc:724:0
    #15 0x7eff0084de8c in void boost::checked_delete<ARDOUR::LV2Plugin>(ARDOUR::LV2Plugin*) /usr/include/boost/checked_delete.hpp:34:0
    #16 0x7eff00850f04 in boost::detail::sp_counted_impl_p<ARDOUR::LV2Plugin>::dispose() /usr/include/boost/smart_ptr/detail/sp_counted_impl.hpp:78:0
    #17 0x10d25fe in boost::detail::sp_counted_base::release() /usr/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp:146:0
    #18 0x10d2715 in boost::detail::shared_count::~shared_count() /usr/include/boost/smart_ptr/detail/shared_count.hpp:371:0
    #19 0x1943d09 in boost::shared_ptr<ARDOUR::Plugin>::~shared_ptr() /usr/include/boost/smart_ptr/shared_ptr.hpp:328:0
    #20 0x195fe41 in void std::_Destroy<boost::shared_ptr<ARDOUR::Plugin> >(boost::shared_ptr<ARDOUR::Plugin>*) /usr/include/c++/4.8/bits/stl_construct.h:93:0
    #21 0x195ef35 in void std::_Destroy_aux<false>::__destroy<boost::shared_ptr<ARDOUR::Plugin>*>(boost::shared_ptr<ARDOUR::Plugin>*, boost::shared_ptr<ARDOUR::Plugin>*) /usr/include/c++/4.8/bits/stl_construct.h:103:0
    #22 0x195d7c6 in void std::_Destroy<boost::shared_ptr<ARDOUR::Plugin>*>(boost::shared_ptr<ARDOUR::Plugin>*, boost::shared_ptr<ARDOUR::Plugin>*) /usr/include/c++/4.8/bits/stl_construct.h:126:0
    #23 0x195b8b4 in void std::_Destroy<boost::shared_ptr<ARDOUR::Plugin>*, boost::shared_ptr<ARDOUR::Plugin> >(boost::shared_ptr<ARDOUR::Plugin>*, boost::shared_ptr<ARDOUR::Plugin>*, std::allocator<boost::shared_ptr<ARDOUR::Plugin> >&) /usr/include/c++/4.8/bits/stl_construct.h:151:0
    #24 0x195a166 in std::vector<boost::shared_ptr<ARDOUR::Plugin>, std::allocator<boost::shared_ptr<ARDOUR::Plugin> > >::~vector() /usr/include/c++/4.8/bits/stl_vector.h:415:0
    #25 0x19563b9 in PluginSelector::run() /usr/src/debug/ardour-4.4.git.2015.11.07/build/../gtk2_ardour/plugin_selector.cc:501:0
    #26 0x19594a5 in PluginSelector::show_manager() /usr/src/debug/ardour-4.4.git.2015.11.07/build/../gtk2_ardour/plugin_selector.cc:852:0
    #27 0x196065f in sigc::bound_mem_functor0<void, PluginSelector>::operator()() const /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1787:0
    #28 0x195facb in sigc::adaptor_functor<sigc::bound_mem_functor0<void, PluginSelector> >::operator()() const /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:256:0
    #29 0x195eace in sigc::internal::slot_call0<sigc::bound_mem_functor0<void, PluginSelector>, void>::call_it(sigc::internal::slot_rep*) /usr/include/sigc++-2.0/sigc++/functors/slot.h:103:0
0x6004012073f0 is located 0 bytes inside of 16-byte region [0x6004012073f0,0x600401207400)
allocated by thread T0 here:
    #0 0x7eff01e2406a in operator new[](unsigned long) ??:0:0
    #1 0x7efec98c4bda in FilterHandler::FilterHandler(float) /home/z/pproj/DISTRHO-Ports/ports/tal-noisemaker/LV2/././engine/FilterHandler.h:76:0
    #2 0x7efec98c6590 in SynthVoice::initialize(float) /home/z/pproj/DISTRHO-Ports/ports/tal-noisemaker/LV2/././engine/SynthVoice.h:149:0
    #3 0x7efec98c62ba in SynthVoice::SynthVoice(float, LfoHandler1*, LfoHandler2*, VelocityHandler*, PitchwheelHandler*, EnvelopeEditorHandler*) /home/z/pproj/DISTRHO-Ports/ports/tal-noisemaker/LV2/././engine/SynthVoice.h:101:0
    #4 0x7efec98c77f3 in VoiceManager::VoiceManager(float, LfoHandler1*, LfoHandler2*, VelocityHandler*, PitchwheelHandler*, EnvelopeEditorHandler*) /home/z/pproj/DISTRHO-Ports/ports/tal-noisemaker/LV2/././engine/VoiceManager.h:54:0
    #5 0x7efec98cc559 in SynthEngine::initialize(float) /home/z/pproj/DISTRHO-Ports/ports/tal-noisemaker/LV2/././engine/SynthEngine.h:130:0
    #6 0x7efec98cc0bc in SynthEngine::SynthEngine(float) /home/z/pproj/DISTRHO-Ports/ports/tal-noisemaker/LV2/././engine/SynthEngine.h:78:0
    #7 0x7efec98afa0d in TalCore::TalCore() /home/z/pproj/DISTRHO-Ports/ports/tal-noisemaker/LV2/../source/TalCore.cpp:57:0
    #8 0x7efec98af8f1 in createPluginFilter() /home/z/pproj/DISTRHO-Ports/ports/tal-noisemaker/LV2/../source/TalCore.cpp:43:0
    #9 0x7efec98e8ab1 in createPluginFilterOfType(juce::AudioProcessor::WrapperType) /home/z/pproj/DISTRHO-Ports/ports/tal-noisemaker/LV2/../../../libs/juce/source/modules/juce_audio_plugin_client/utility/juce_PluginUtilities.cpp:72:0
    #10 0x7efec98eaf08 in JuceLv2Wrapper::JuceLv2Wrapper(double, _LV2_Feature const* const*) /home/z/pproj/DISTRHO-Ports/ports/tal-noisemaker/LV2/../../../libs/juce/source/modules/juce_audio_plugin_client/LV2/juce_LV2_Wrapper.cpp:1127:0
    #11 0x7efec98e8647 in juceLV2_Instantiate(_LV2_Descriptor const*, double, char const*, _LV2_Feature const* const*) /home/z/pproj/DISTRHO-Ports/ports/tal-noisemaker/LV2/../../../libs/juce/source/modules/juce_audio_plugin_client/LV2/juce_LV2_Wrapper.cpp:1920:0
    #12 0x7efefac7a279 in lilv_plugin_instantiate /usr/src/debug/lilv-0.20.0/build/../src/instance.c:84:0
==22069== HINT: if you don't care about these warnings you may set ASAN_OPTIONS=alloc_dealloc_mismatch=0
==22069== ABORTING
@falkTX
Copy link
Contributor

falkTX commented Nov 11, 2015

ooh, nasty.
thanks for the report, I'll have a look at it very soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants