ros2 / ros2/rclcpp

No callbacks if client/server died

Open
#2,241 8 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
805
Forks
564
Avg merge
1d 17h
Merged PRs (30d)
27

Description

Bug report

Required Info:

  • Operating System:
    • Ubuntu 22.04
  • Installation type:
    • apt
  • Version or commit hash:
    • iron
  • DDS implementation:
    • Fast-RTPS
  • Client library (if applicable):
    • rclcpp
Steps to reproduce issue

Start an action server

  • action should be accepted, but not terminate

Start an action client that connects to the action server

Kill either the server or the client

Expected behavior

If the client is terminated, I would expect a CancelCallback.

If the server dies, I would expect ResultCallback for the goal with the status set to UNKNOWN

Actual behavior

No callbacks at all.

Additional information

I checked the API and could not find any way to check if a goal is still valid. On the server side the goal is still reported as active and executing if the client died.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the rclcpp action server and action client entry points, then reproduce the reported sequence on Ubuntu 22.04: start both sides, accept a non-terminating action, and kill either process. Trace how client and server loss is detected and verify that the expected cancellation or UNKNOWN-result callback occurs.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
distributed-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.