No callbacks if client/server died
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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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