Open spektom opened 6 years ago
I've been unable to reproduce this, even with asan and ubsan. Could you be more specific as to what conditions are required to trigger this?
I'm having the same one. Interestingly, for me the bug only manifests when I compile my code as a shared library, not as a static executable ; here is a backtrace :
1 raise 0x7ffff49e1d7f
2 abort 0x7ffff49cc672
3 __libc_message 0x7ffff4a24878
4 malloc_printerr 0x7ffff4a2b18a
5 _int_free 0x7ffff4a2c97c
6 __gnu_cxx::new_allocator<ska::detailv3::sherwood_v3_entry<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory>>>>>::deallocate new_allocator.h 125 0x7fffe5b844f4
7 std::allocator_traits<std::allocator<ska::detailv3::sherwood_v3_entry<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory>>>>>>::deallocate alloc_traits.h 462 0x7fffe5b841e2
8 ska::detailv3::sherwood_v3_table<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory>>>, UuidKey<Execution::ProcessComponentFactory>, std::hash<UuidKey<Execution::ProcessComponentFactory>>, ska::detailv3::KeyOrValueHasher<UuidKey<Execution::ProcessComponentFactory>, std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory>>>, std::hash<UuidKey<Execution::ProcessComponentFactory>>>, std::equal_to<UuidKey<Execution::ProcessComponentFactory>>, ska::detailv3::KeyOrValueEquality<UuidKey<Execution::ProcessComponentFactory>, std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory>>>, std::equal_to<UuidKey<Execution::ProcessComponentFactory>>>, std::allocator<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory>>>>, std::allocator<ska::detailv3::sherwood_v3_entry<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory>>>>>>::deallocate_data flat_hash_map.hpp 880 0x7fffe5b83db2
9 ska::detailv3::sherwood_v3_table<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory>>>, UuidKey<Execution::ProcessComponentFactory>, std::hash<UuidKey<Execution::ProcessComponentFactory>>, ska::detailv3::KeyOrValueHasher<UuidKey<Execution::ProcessComponentFactory>, std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory>>>, std::hash<UuidKey<Execution::ProcessComponentFactory>>>, std::equal_to<UuidKey<Execution::ProcessComponentFactory>>, ska::detailv3::KeyOrValueEquality<UuidKey<Execution::ProcessComponentFactory>, std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory>>>, std::equal_to<UuidKey<Execution::ProcessComponentFactory>>>, std::allocator<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory>>>>, std::allocator<ska::detailv3::sherwood_v3_entry<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory>>>>>>::rehash flat_hash_map.hpp 658 0x7fffe5b85aae
10 ska::detailv3::sherwood_v3_table<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory>>>, UuidKey<Execution::ProcessComponentFactory>, std::hash<UuidKey<Execution::ProcessComponentFactory>>, ska::detailv3::KeyOrValueHasher<UuidKey<Execution::ProcessComponentFactory>, std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory>>>, std::hash<UuidKey<Execution::ProcessComponentFactory>>>, std::equal_to<UuidKey<Execution::ProcessComponentFactory>>, ska::detailv3::KeyOrValueEquality<UuidKey<Execution::ProcessComponentFactory>, std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory>>>, std::equal_to<UuidKey<Execution::ProcessComponentFactory>>>, std::allocator<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory>>>>, std::allocator<ska::detailv3::sherwood_v3_entry<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory>>>>>>::grow flat_hash_map.hpp 873 0x7fffe5b85604
11 ska::detailv3::sherwood_v3_table<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory>>>, UuidKey<Execution::ProcessComponentFactory>, std::hash<UuidKey<Execution::ProcessComponentFactory>>, ska::detailv3::KeyOrValueHasher<UuidKey<Execution::ProcessComponentFactory>, std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory>>>, std::hash<UuidKey<Execution::ProcessComponentFactory>>>, std::equal_to<UuidKey<Execution::ProcessComponentFactory>>, ska::detailv3::KeyOrValueEquality<UuidKey<Execution::ProcessComponentFactory>, std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory>>>, std::equal_to<UuidKey<Execution::ProcessComponentFactory>>>, std::allocator<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory>>>>, std::allocator<ska::detailv3::sherwood_v3_entry<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory>>>>>>::emplace_new_key<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory>>>>(signed char, ska::detailv3::sherwood_v3_entry<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory>>>> *, std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory>>>&&) flat_hash_map.hpp 831 0x7fffe5b8505c
12 ska::detailv3::sherwood_v3_table<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory>>>, UuidKey<Execution::ProcessComponentFactory>, std::hash<UuidKey<Execution::ProcessComponentFactory>>, ska::detailv3::KeyOrValueHasher<UuidKey<Execution::ProcessComponentFactory>, std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory>>>, std::hash<UuidKey<Execution::ProcessComponentFactory>>>, std::equal_to<UuidKey<Execution::ProcessComponentFactory>>, ska::detailv3::KeyOrValueEquality<UuidKey<Execution::ProcessComponentFactory>, std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory>>>, std::equal_to<UuidKey<Execution::ProcessComponentFactory>>>, std::allocator<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory>>>>, std::allocator<ska::detailv3::sherwood_v3_entry<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory>>>>>>::emplace<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory>>>>(std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory>>>&&) flat_hash_map.hpp 588 0x7fffe5b84c5b
13 score::InterfaceList<Execution::ProcessComponentFactory>::insert InterfaceList.hpp 109 0x7fffe5b847a1
14 score::PluginLoader::registerPluginsImpl<score::GUIApplicationRegistrar> PluginManager.hpp 88 0x7ffff7b74160
15 score::PluginLoader::registerPlugins<score::GUIApplicationRegistrar> PluginManager.hpp 119 0x7ffff7b6f821
16 score::PluginLoader::loadPlugins<score::GUIApplicationRegistrar, score::GUIApplicationContext> PluginManager.hpp 176 0x7ffff7b6bc57
17 score::GUIApplicationInterface::loadPluginData ApplicationInterface.cpp 96 0x7ffff7b66518
18 Application::init Application.cpp 270 0x5555555e991a
19 main main.cpp 159 0x55555561d507
Here is an ASAN stacktrace, not very useful...
==7847==ERROR: AddressSanitizer: attempting free on address which was not malloc()-ed: 0x7fd489521da0 in thread T0
#0 0x7fd49a7abca1 in operator delete(void*) /build/gcc/src/gcc/libsanitizer/asan/asan_new_delete.cc:135
#1 0x7fd486b6dabb in __gnu_cxx::new_allocator<ska::detailv3::sherwood_v3_entry<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > > > >::deallocate(ska::detailv3::sherwood_v3_entry<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > > >*, unsigned long) /usr/include/c++/8.2.1/ext/new_allocator.h:125
#2 0x7fd486b6d072 in std::allocator_traits<std::allocator<ska::detailv3::sherwood_v3_entry<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > > > > >::deallocate(std::allocator<ska::detailv3::sherwood_v3_entry<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > > > >&, ska::detailv3::sherwood_v3_entry<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > > >*, unsigned long) /usr/include/c++/8.2.1/bits/alloc_traits.h:462
#3 0x7fd486b6c8a5 in ska::detailv3::sherwood_v3_table<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > >, UuidKey<Execution::ProcessComponentFactory>, std::hash<UuidKey<Execution::ProcessComponentFactory> >, ska::detailv3::KeyOrValueHasher<UuidKey<Execution::ProcessComponentFactory>, std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > >, std::hash<UuidKey<Execution::ProcessComponentFactory> > >, std::equal_to<UuidKey<Execution::ProcessComponentFactory> >, ska::detailv3::KeyOrValueEquality<UuidKey<Execution::ProcessComponentFactory>, std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > >, std::equal_to<UuidKey<Execution::ProcessComponentFactory> > >, std::allocator<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > > >, std::allocator<ska::detailv3::sherwood_v3_entry<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > > > > >::deallocate_data(ska::detailv3::sherwood_v3_entry<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > > >*, unsigned long, signed char) /home/jcelerier/score/3rdparty/libossia/3rdparty/flat_hash_map/flat_hash_map.hpp:880
#4 0x7fd486b70c8e in ska::detailv3::sherwood_v3_table<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > >, UuidKey<Execution::ProcessComponentFactory>, std::hash<UuidKey<Execution::ProcessComponentFactory> >, ska::detailv3::KeyOrValueHasher<UuidKey<Execution::ProcessComponentFactory>, std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > >, std::hash<UuidKey<Execution::ProcessComponentFactory> > >, std::equal_to<UuidKey<Execution::ProcessComponentFactory> >, ska::detailv3::KeyOrValueEquality<UuidKey<Execution::ProcessComponentFactory>, std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > >, std::equal_to<UuidKey<Execution::ProcessComponentFactory> > >, std::allocator<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > > >, std::allocator<ska::detailv3::sherwood_v3_entry<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > > > > >::rehash(unsigned long) /home/jcelerier/score/3rdparty/libossia/3rdparty/flat_hash_map/flat_hash_map.hpp:658
#5 0x7fd486b6ff7d in ska::detailv3::sherwood_v3_table<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > >, UuidKey<Execution::ProcessComponentFactory>, std::hash<UuidKey<Execution::ProcessComponentFactory> >, ska::detailv3::KeyOrValueHasher<UuidKey<Execution::ProcessComponentFactory>, std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > >, std::hash<UuidKey<Execution::ProcessComponentFactory> > >, std::equal_to<UuidKey<Execution::ProcessComponentFactory> >, ska::detailv3::KeyOrValueEquality<UuidKey<Execution::ProcessComponentFactory>, std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > >, std::equal_to<UuidKey<Execution::ProcessComponentFactory> > >, std::allocator<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > > >, std::allocator<ska::detailv3::sherwood_v3_entry<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > > > > >::grow() /home/jcelerier/score/3rdparty/libossia/3rdparty/flat_hash_map/flat_hash_map.hpp:873
#6 0x7fd486b6f486 in std::pair<ska::detailv3::sherwood_v3_table<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > >, UuidKey<Execution::ProcessComponentFactory>, std::hash<UuidKey<Execution::ProcessComponentFactory> >, ska::detailv3::KeyOrValueHasher<UuidKey<Execution::ProcessComponentFactory>, std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > >, std::hash<UuidKey<Execution::ProcessComponentFactory> > >, std::equal_to<UuidKey<Execution::ProcessComponentFactory> >, ska::detailv3::KeyOrValueEquality<UuidKey<Execution::ProcessComponentFactory>, std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > >, std::equal_to<UuidKey<Execution::ProcessComponentFactory> > >, std::allocator<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > > >, std::allocator<ska::detailv3::sherwood_v3_entry<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > > > > >::templated_iterator<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > > >, bool> ska::detailv3::sherwood_v3_table<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > >, UuidKey<Execution::ProcessComponentFactory>, std::hash<UuidKey<Execution::ProcessComponentFactory> >, ska::detailv3::KeyOrValueHasher<UuidKey<Execution::ProcessComponentFactory>, std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > >, std::hash<UuidKey<Execution::ProcessComponentFactory> > >, std::equal_to<UuidKey<Execution::ProcessComponentFactory> >, ska::detailv3::KeyOrValueEquality<UuidKey<Execution::ProcessComponentFactory>, std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > >, std::equal_to<UuidKey<Execution::ProcessComponentFactory> > >, std::allocator<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > > >, std::allocator<ska::detailv3::sherwood_v3_entry<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > > > > >::emplace_new_key<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > >>(signed char, ska::detailv3::sherwood_v3_entry<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > > >*, std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > >&&) /home/jcelerier/score/3rdparty/libossia/3rdparty/flat_hash_map/flat_hash_map.hpp:831
#7 0x7fd486b6ece9 in std::pair<ska::detailv3::sherwood_v3_table<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > >, UuidKey<Execution::ProcessComponentFactory>, std::hash<UuidKey<Execution::ProcessComponentFactory> >, ska::detailv3::KeyOrValueHasher<UuidKey<Execution::ProcessComponentFactory>, std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > >, std::hash<UuidKey<Execution::ProcessComponentFactory> > >, std::equal_to<UuidKey<Execution::ProcessComponentFactory> >, ska::detailv3::KeyOrValueEquality<UuidKey<Execution::ProcessComponentFactory>, std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > >, std::equal_to<UuidKey<Execution::ProcessComponentFactory> > >, std::allocator<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > > >, std::allocator<ska::detailv3::sherwood_v3_entry<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > > > > >::templated_iterator<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > > >, bool> ska::detailv3::sherwood_v3_table<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > >, UuidKey<Execution::ProcessComponentFactory>, std::hash<UuidKey<Execution::ProcessComponentFactory> >, ska::detailv3::KeyOrValueHasher<UuidKey<Execution::ProcessComponentFactory>, std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > >, std::hash<UuidKey<Execution::ProcessComponentFactory> > >, std::equal_to<UuidKey<Execution::ProcessComponentFactory> >, ska::detailv3::KeyOrValueEquality<UuidKey<Execution::ProcessComponentFactory>, std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > >, std::equal_to<UuidKey<Execution::ProcessComponentFactory> > >, std::allocator<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > > >, std::allocator<ska::detailv3::sherwood_v3_entry<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > > > > >::emplace<std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > >>(std::pair<UuidKey<Execution::ProcessComponentFactory>, std::unique_ptr<Execution::ProcessComponentFactory, std::default_delete<Execution::ProcessComponentFactory> > >&&) /home/jcelerier/score/3rdparty/libossia/3rdparty/flat_hash_map/flat_hash_map.hpp:588
@jcelerier More useful than you think. Now we know what the issue actually is.
@Cebtenzzre found the cause and solution to the issue : https://github.com/smessmer/flat_hash_map/commit/a4be1e423d07d6646cfd5d0d95d51fc0cce5b2cd
@jcelerier What OS are you using?
@Cebtenzzre linux
I'm getting the following error with compiler optimizations:
This issue doesn't happen in debug mode.