Skip to content

Scripts don't work: Encoding issue? #1131

@tropappar

Description

@tropappar

Describe the bug

The script action node always crashes:

[my_bt_node] terminate called after throwing an instance of 'BT::RuntimeError'
[my_bt_node]   what():  Invalid token '�' at position 1

Stacktrace:

__pthread_kill_implementation@0x00007f32e80c4b2c (./nptl/pthread_kill.c:44)
__pthread_kill_internal@0x00007f32e80c4b2c (./nptl/pthread_kill.c:78)
__GI___pthread_kill@0x00007f32e80c4b2c (./nptl/pthread_kill.c:89)
__GI_raise@0x00007f32e806b27e (../sysdeps/posix/raise.c:26)
__GI_abort@0x00007f32e804e8ff (./stdlib/abort.c:79)
??@0x00007f32e82ddff5 (Unknown Source:0)
??@0x00007f32e82f30da (Unknown Source:0)
std::terminate()@0x00007f32e82dda55 (Unknown Source:0)
__cxa_throw@0x00007f32e82f3391 (Unknown Source:0)
??@0x00007f32e87208c9 (Unknown Source:0)
std::_Function_handler<std::unique_ptr<BT::TreeNode, std::default_delete<BT::TreeNode> > (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, BT::NodeConfig const&), BT::CreateBuilder<BT::ScriptNode>()::{lambda(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, BT::NodeConfig const&)#1}>::_M_invoke(std::_Any_data const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, BT::NodeConfig const&)@0x00007f32e8772705 (Unknown Source:0)
BT::BehaviorTreeFactory::instantiateTreeNode(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, BT::NodeConfig const&) const@0x00007f32e8761bef (Unknown Source:0)
BT::XMLParser::PImpl::createNodeFromXML(tinyxml2::XMLElement const*, std::shared_ptr<BT::Blackboard> const&, std::shared_ptr<BT::TreeNode> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, BT::Tree&)@0x00007f32e879e00f (Unknown Source:0)
??@0x00007f32e879f22e (Unknown Source:0)
??@0x00007f32e87a0396 (Unknown Source:0)
BT::XMLParser::PImpl::recursivelyCreateSubtree(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, BT::Tree&, std::shared_ptr<BT::Blackboard>, std::shared_ptr<BT::TreeNode> const&, std::unordered_set<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::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&)@0x00007f32e87988e3 (Unknown Source:0)
BT::XMLParser::instantiateTree(std::shared_ptr<BT::Blackboard> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)@0x00007f32e879cd17 (Unknown Source:0)
BT::BehaviorTreeFactory::createTree(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<BT::Blackboard>)@0x00007f32e875c69b (Unknown Source:0)
my_bt_node::MyBtNode::run_tree@0x0000561bb07d0982 ([...]/my_bt_node.cpp:57)
main@0x0000561bb07d00f0 ([...]/my_main.cpp:27)

How to Reproduce

  std::string tree_text = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
                          "<root BTCPP_format=\"4\">\n"
                          "  <BehaviorTree ID=\"Pi\">\n"
                          "    <Script code=\"pi:=3.14\"/>\n"
                          "  </BehaviorTree>\n"
                          "  <!-- Description of Node Models (used by Groot) -->\n"
                          "  <TreeNodesModel/>\n"
                          "</root>";
  factory.registerBehaviorTreeFromText(tree_text);
  auto tree = factory.createTree("Pi");
  tree.tickWhileRunning();

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions