Skip to content

Crash when deleting plugins #8

@pierreguillot

Description

@pierreguillot

I encounter a crash sometimes when deleting plugins, here is the stack (with one of the BBC plugins but it also happens with the Vamp example plugins):

Thread 0 Crashed:: JUCE Message Thread  Dispatch queue: com.apple.main-thread
0   libstdc++.6.dylib             	0x00007fffbff23209 std::_Rb_tree_rebalance_for_erase(std::_Rb_tree_node_base*, std::_Rb_tree_node_base&) + 433
1   bbc-vamp-plugins.dylib        	0x0000000105c9d8d9 std::_Rb_tree<void const*, std::pair<void const* const, _VampPlugin::Vamp::PluginAdapterBase::Impl*>, std::_Select1st<std::pair<void const* const, _VampPlugin::Vamp::PluginAdapterBase::Impl*> >, std::less<void const*>, std::allocator<std::pair<void const* const, _VampPlugin::Vamp::PluginAdapterBase::Impl*> > >::erase(std::_Rb_tree_iterator<std::pair<void const* const, _VampPlugin::Vamp::PluginAdapterBase::Impl*> >, std::_Rb_tree_iterator<std::pair<void const* const, _VampPlugin::Vamp::PluginAdapterBase::Impl*> >) + 89
2   bbc-vamp-plugins.dylib        	0x0000000105c9d97f std::_Rb_tree<void const*, std::pair<void const* const, _VampPlugin::Vamp::PluginAdapterBase::Impl*>, std::_Select1st<std::pair<void const* const, _VampPlugin::Vamp::PluginAdapterBase::Impl*> >, std::less<void const*>, std::allocator<std::pair<void const* const, _VampPlugin::Vamp::PluginAdapterBase::Impl*> > >::erase(void const* const&) + 79
3   bbc-vamp-plugins.dylib        	0x0000000105c9cb45 _VampPlugin::Vamp::PluginAdapterBase::Impl::~Impl() + 309
4   bbc-vamp-plugins.dylib        	0x0000000105c9cf14 _VampPlugin::Vamp::PluginAdapterBase::~PluginAdapterBase() + 36

This seems related to the m_pluginLibraryHandleMap. I load and delete plugins it in a multithread context, do you think that could be the cause?

Tested on Mac OS X 10.12.4, 10.14.6 & 10.15.6

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions