Skip to content

"process has died" related to tick() in bt_topic_sub_node.hpp #106

@AndyZe

Description

@AndyZe

I'm running a gtest on Humble branch. After hours of debugging, combing over my own code over and over again, I've found that commenting this code in RosTopicSubNode<T>::tick() resolves the issue. I don't know why yet. This code is related to changing the topic name at runtime, I think. (I don't do that, in fact I don't even define the topic_name input port.)

This is how my BT node is defined:

  factory.registerNodeType<aladdin_behaviors::BoolSubscriber>("CheckSuctionMonitor1",
                                                              BT::RosNodeParams(node, "/monitor_1_suction_status"));

inline NodeStatus RosTopicSubNode<T>::tick()

template <class T>
inline NodeStatus RosTopicSubNode<T>::tick()
{
  // First, check if the subscriber_ is valid and that the name of the
  // topic_name in the port didn't change.
  // otherwise, create a new subscriber
  // std::string topic_name;
  // getInput("topic_name", topic_name);

  // if(!topic_name.empty() && topic_name != "__default__placeholder__" &&
  //    topic_name != topic_name_)
  // {
  //   sub_instance_.reset();
  // }

  // if(!sub_instance_)
  // {
  //   createSubscriber(topic_name);
  // }

Prior to commenting it, I got:

StdoutLine: {'line': b"1: [ERROR] [suction_test-16]: process has died [pid 98336, exit code -11, cmd '/home/apptronik/workspaces/isaac_ros-dev/build/aladdin_behaviors/suction_test --ros-args'].\n"}

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