Skip to content
This repository was archived by the owner on May 31, 2025. It is now read-only.
This repository was archived by the owner on May 31, 2025. It is now read-only.

shutdown request always happens with using cached parameter if the same node name is used. #2067

@fujitatomoya

Description

@fujitatomoya

Problem

some node suddenly gets shutdown by master with "new node registered with same name". if the node uses cached parameter, it always leads to signal shutdown with "new node registered with same name". this might shut down the another node if bumped_api matches.

Reproducible Procedure (confirmation that "new node registered with same name" happens)

with ros::noetic,

> cd <catkin_workspace>/src
> git clone -b 20201002-shutdown-request-debug git@github.com:fujitatomoya/ros_comm.git 
> cd <catkin_workspace>
> catkin_make install
> source devel/setup.bash
> roscore // Terminal-1
> rosrun roscpp_tutorials cached_parameters // Terminal-2 1st time
> rosrun roscpp_tutorials cached_parameters // Terminal-2 2nd time
> cat ~/.ros/log/latest/master.log

you can see the following debug information during 2nd time of rosrun roscpp_tutorials cached_parameters,

[rosmaster.master][INFO] 2020-10-02 04:46:50,537: _register_node_api: /cached_parameters, http://9b29c6add660:45073/, http://9b29c6add660:45715/
[rosmaster.master][INFO] 2020-10-02 04:46:50,537: /my_cached_param/
[rosmaster.master][INFO] 2020-10-02 04:46:50,537: /rosout_disable_topics_generation/

Description

it means that cachedParameter /my_cached_param/ and /rosout_disable_topics_generation/ are still in the master registry. So that if node with the same name comes online, master detects the same node name and sends shutdown request to the previous node. at this moment, if the port number is used by another node (which is running with different node name) gets suddenly shutdown.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions