OS: Ubuntu 20.04
Running Groot after download from git (2022-07-29).
After fixing build issues for non ROS2 system (ament fails and later the submodule BehaviorTreeV3 was not found correct).
then I was enable to build Groot.
I starts and I can select "Editor | Monitor | Replay". If I select "editor", groot crashes with the message: "free() invalid pointer at startup".
If a run it with "valgrind ./Groot" it starts up correctly(slow, but it starts). Valgrind reported several errrors:
==31221== Memcheck, a memory error detector
==31221== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==31221== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info
==31221== Command: ./Groot
==31221==
--31221-- WARNING: unhandled amd64-linux syscall: 315
--31221-- You may be able to write your own handler.
--31221-- Read the file README_MISSING_SYSCALL_OR_IOCTL.
--31221-- Nevertheless we consider this a bug. Please report
--31221-- it at http://valgrind.org/support/bug_reports.html.
==31221== Conditional jump or move depends on uninitialised value(s)
==31221== at 0x11B536: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() (in /home/jurge/robocup/Groot/build/Groot)
==31221== by 0x49F0F9D: std::__shared_ptr<BT::Parser, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49F0FBD: std::shared_ptr<BT::Parser>::~shared_ptr() (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49F0FE3: BT::BehaviorTreeFactory::~BehaviorTreeFactory() (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49F0084: BuiltinNodeModels()::{lambda()#1}::operator()() const (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49F01AE: BuiltinNodeModels() (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49ACF58: MainWindow::MainWindow(GraphicMode, QWidget*) (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x11A1FB: main (in /home/jurge/robocup/Groot/build/Groot)
==31221==
==31221== Conditional jump or move depends on uninitialised value(s)
==31221== at 0x49F3AE7: std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, BT::Any>, true> > >::_M_deallocate_nodes(std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, BT::Any>, true>*) (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49F2B37: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, BT::Any>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, BT::Any> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::clear() (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49F1BD1: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, BT::Any>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, BT::Any> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::~_Hashtable() (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49F0F79: std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, BT::Any, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, BT::Any> > >::~unordered_map() (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49F0FF5: BT::BehaviorTreeFactory::~BehaviorTreeFactory() (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49F0084: BuiltinNodeModels()::{lambda()#1}::operator()() const (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49F01AE: BuiltinNodeModels() (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49ACF58: MainWindow::MainWindow(GraphicMode, QWidget*) (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x11A1FB: main (in /home/jurge/robocup/Groot/build/Groot)
==31221==
==31221== Conditional jump or move depends on uninitialised value(s)
==31221== at 0x48428EC: memset (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==31221== by 0x49F2B5B: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, BT::Any>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, BT::Any> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::clear() (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49F1BD1: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, BT::Any>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, BT::Any> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::~_Hashtable() (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49F0F79: std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, BT::Any, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, BT::Any> > >::~unordered_map() (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49F0FF5: BT::BehaviorTreeFactory::~BehaviorTreeFactory() (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49F0084: BuiltinNodeModels()::{lambda()#1}::operator()() const (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49F01AE: BuiltinNodeModels() (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49ACF58: MainWindow::MainWindow(GraphicMode, QWidget*) (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x11A1FB: main (in /home/jurge/robocup/Groot/build/Groot)
==31221==
==31221== Conditional jump or move depends on uninitialised value(s)
==31221== at 0x484293F: memset (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==31221== by 0x49F2B5B: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, BT::Any>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, BT::Any> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::clear() (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49F1BD1: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, BT::Any>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, BT::Any> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::~_Hashtable() (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49F0F79: std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, BT::Any, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, BT::Any> > >::~unordered_map() (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49F0FF5: BT::BehaviorTreeFactory::~BehaviorTreeFactory() (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49F0084: BuiltinNodeModels()::{lambda()#1}::operator()() const (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49F01AE: BuiltinNodeModels() (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49ACF58: MainWindow::MainWindow(GraphicMode, QWidget*) (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x11A1FB: main (in /home/jurge/robocup/Groot/build/Groot)
==31221==
==31221== Conditional jump or move depends on uninitialised value(s)
==31221== at 0x484298A: memset (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==31221== by 0x49F2B5B: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, BT::Any>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, BT::Any> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::clear() (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49F1BD1: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, BT::Any>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, BT::Any> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::~_Hashtable() (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49F0F79: std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, BT::Any, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, BT::Any> > >::~unordered_map() (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49F0FF5: BT::BehaviorTreeFactory::~BehaviorTreeFactory() (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49F0084: BuiltinNodeModels()::{lambda()#1}::operator()() const (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49F01AE: BuiltinNodeModels() (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49ACF58: MainWindow::MainWindow(GraphicMode, QWidget*) (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x11A1FB: main (in /home/jurge/robocup/Groot/build/Groot)
==31221==
==31221== Conditional jump or move depends on uninitialised value(s)
==31221== at 0x48429C9: memset (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==31221== by 0x49F2B5B: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, BT::Any>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, BT::Any> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::clear() (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49F1BD1: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, BT::Any>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, BT::Any> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::~_Hashtable() (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49F0F79: std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, BT::Any, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, BT::Any> > >::~unordered_map() (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49F0FF5: BT::BehaviorTreeFactory::~BehaviorTreeFactory() (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49F0084: BuiltinNodeModels()::{lambda()#1}::operator()() const (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49F01AE: BuiltinNodeModels() (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49ACF58: MainWindow::MainWindow(GraphicMode, QWidget*) (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x11A1FB: main (in /home/jurge/robocup/Groot/build/Groot)
==31221==
==31221== Conditional jump or move depends on uninitialised value(s)
==31221== at 0x49F3B47: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, BT::Any>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, BT::Any> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_deallocate_buckets(std::__detail::_Hash_node_base**, unsigned long) (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49F2BA5: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, BT::Any>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, BT::Any> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_deallocate_buckets() (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49F1BDD: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, BT::Any>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, BT::Any> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::~_Hashtable() (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49F0F79: std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, BT::Any, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, BT::Any> > >::~unordered_map() (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49F0FF5: BT::BehaviorTreeFactory::~BehaviorTreeFactory() (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49F0084: BuiltinNodeModels()::{lambda()#1}::operator()() const (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49F01AE: BuiltinNodeModels() (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49ACF58: MainWindow::MainWindow(GraphicMode, QWidget*) (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x11A1FB: main (in /home/jurge/robocup/Groot/build/Groot)
==31221==
==31221== Conditional jump or move depends on uninitialised value(s)
==31221== at 0x483CF75: operator delete(void*) (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==31221== by 0x11D999: __gnu_cxx::new_allocator<std::__detail::_Hash_node_base*>::deallocate(std::__detail::_Hash_node_base**, unsigned long) (in /home/jurge/robocup/Groot/build/Groot)
==31221== by 0x11D38B: std::allocator_traits<std::allocator<std::__detail::_Hash_node_base*> >::deallocate(std::allocator<std::__detail::_Hash_node_base*>&, std::__detail::_Hash_node_base**, unsigned long) (in /home/jurge/robocup/Groot/build/Groot)
==31221== by 0x49F49CE: std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, BT::Any>, true> > >::_M_deallocate_buckets(std::__detail::_Hash_node_base**, unsigned long) (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49F3B5F: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, BT::Any>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, BT::Any> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_deallocate_buckets(std::__detail::_Hash_node_base**, unsigned long) (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49F2BA5: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, BT::Any>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, BT::Any> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::_M_deallocate_buckets() (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49F1BDD: std::_Hashtable<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, BT::Any>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, BT::Any> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >::~_Hashtable() (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49F0F79: std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, BT::Any, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, BT::Any> > >::~unordered_map() (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49F0FF5: BT::BehaviorTreeFactory::~BehaviorTreeFactory() (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49F0084: BuiltinNodeModels()::{lambda()#1}::operator()() const (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49F01AE: BuiltinNodeModels() (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221== by 0x49ACF58: MainWindow::MainWindow(GraphicMode, QWidget*) (in /home/jurge/robocup/Groot/build/libbehavior_tree_editor.so)
==31221==
adding model: "AlwaysFailure"
adding model: "AlwaysSuccess"
adding model: "BlackboardCheckBool"
adding model: "BlackboardCheckDouble"
adding model: "BlackboardCheckInt"
adding model: "BlackboardCheckString"
adding model: "Delay"
adding model: "Fallback"
adding model: "ForceFailure"
adding model: "ForceSuccess"
adding model: "IfThenElse"
adding model: "Inverter"
adding model: "KeepRunningUntilFailure"
adding model: "Parallel"
adding model: "ReactiveFallback"
adding model: "ReactiveSequence"
adding model: "Repeat"
adding model: "RetryUntilSuccessful"
adding model: "Root"
adding model: "Sequence"
adding model: "SequenceStar"
adding model: "SetBlackboard"
adding model: "Switch2"
adding model: "Switch3"
adding model: "Switch4"
adding model: "Switch5"
adding model: "Switch6"
adding model: "Timeout"
adding model: "WhileDoElse"
==31221==
==31221== HEAP SUMMARY:
==31221== in use at exit: 3,366,395 bytes in 29,602 blocks
==31221== total heap usage: 792,175 allocs, 762,573 frees, 66,007,988 bytes allocated
==31221==
==31221== LEAK SUMMARY:
==31221== definitely lost: 256 bytes in 1 blocks
==31221== indirectly lost: 32 bytes in 1 blocks
==31221== possibly lost: 4,032 bytes in 33 blocks
==31221== still reachable: 3,279,443 bytes in 28,893 blocks
==31221== of which reachable via heuristic:
==31221== length64 : 4,960 bytes in 82 blocks
==31221== newarray : 2,096 bytes in 51 blocks
==31221== suppressed: 0 bytes in 0 blocks
==31221== Rerun with --leak-check=full to see details of leaked memory
==31221==
==31221== Use --track-origins=yes to see where uninitialised values come from
==31221== For lists of detected and suppressed errors, rerun with: -s
==31221== ERROR SUMMARY: 8 errors from 8 contexts (suppressed: 0 from 0)
When I use commit: b61e6feff117694788e59be48f39ec778e6e9c01 then I starts without any issues.
The last commit imports a newer version of behavior trees. Most likely this is triggering the issue.
OS: Ubuntu 20.04 Running Groot after download from git (2022-07-29). After fixing build issues for non ROS2 system (ament fails and later the submodule BehaviorTreeV3 was not found correct). then I was enable to build Groot.
I starts and I can select "Editor | Monitor | Replay". If I select "editor", groot crashes with the message: "free() invalid pointer at startup". If a run it with "valgrind ./Groot" it starts up correctly(slow, but it starts). Valgrind reported several errrors: