Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

non determinstic behavior on daemon stop #73

Closed
tfoote opened this issue Dec 7, 2017 · 1 comment
Closed

non determinstic behavior on daemon stop #73

tfoote opened this issue Dec 7, 2017 · 1 comment
Labels
wontfix This will not be worked on

Comments

@tfoote
Copy link
Contributor

tfoote commented Dec 7, 2017

Working to reproduce #72 I've been bringing up and down the daemon a lot. I ran into this sequence where the daemon failed to stop but didn't report as such.

Possibly we need similar behavior to #71 on stop too?

C:\Users\OSRF\Downloads\ardent_opensplice\ros2-windows>ros2 daemon status
The daemon is running

C:\Users\OSRF\Downloads\ardent_opensplice\ros2-windows>ros2 node list

C:\Users\OSRF\Downloads\ardent_opensplice\ros2-windows>ros2 node list

C:\Users\OSRF\Downloads\ardent_opensplice\ros2-windows>ros2 daemon stop
The daemon has been stopped

C:\Users\OSRF\Downloads\ardent_opensplice\ros2-windows>ros2 daemon status
The daemon is running

C:\Users\OSRF\Downloads\ardent_opensplice\ros2-windows>ros2 daemon status
The daemon is running

C:\Users\OSRF\Downloads\ardent_opensplice\ros2-windows>ros2 daemon stop
The daemon has been stopped

C:\Users\OSRF\Downloads\ardent_opensplice\ros2-windows>ros2 daemon status
The daemon is not running

C:\Users\OSRF\Downloads\ardent_opensplice\ros2-windows>
@dirk-thomas
Copy link
Member

We can't implement the same workaround as in #71 for the starting phase because the shutdown is being triggered by a request. While that request is being triggered the server can't be shutdown from within the request so the request can't "wait" until the server is shut down. Also server is currently not handling any further requests after the shutdown has been requested.

Even with the following command sequences I never got it to report that daemon is still running after stopping it:

ros2 daemon start && ros2 daemon status
ros2 daemon stop && ros2 daemon status

There is still a race between the server shutting down and checking the status because the status check only checks if the port is in use or not. Without additional overhead (instead of checking the port actually sending a request and waiting for a reply) I don't see a way to resolve this.

Hence I will close this ticket as "wontfix". Please feel free to comment if you think the status check should do the more expensive check instead or have a different proposal.

@dirk-thomas dirk-thomas added the wontfix This will not be worked on label Feb 22, 2018
esteve pushed a commit to esteve/ros2cli that referenced this issue Dec 16, 2022
* move launch files into launch.legacy namespace

* update tests to use launch.legacy
esteve pushed a commit to esteve/ros2cli that referenced this issue Dec 16, 2022
* Refactor Node parse() function.

Make use of ignore support in ExecuteProcess.

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>

* Avoid creative Node argument renaming.

Signed-off-by: Michel Hidalgo <michel@ekumenlabs.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

2 participants