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

waitForResult returns before doneCb #155

Closed
jschleicher opened this issue Nov 20, 2019 · 1 comment · Fixed by #156
Closed

waitForResult returns before doneCb #155

jschleicher opened this issue Nov 20, 2019 · 1 comment · Fixed by #156

Comments

@jschleicher
Copy link
Contributor

In simpleActionClient waitForResult sometimes waits until the done-callback was called, but it should ensure its completion to avoid race-conditions on the client side.

See moveit/moveit#1493

Steps to reproduce see docker gist

  1. start from actionlib_tutorials
  2. add sleep to doneCb in fibonacci_callback_client
  3. call waitForResult in main
  4. See debug output showing that waitForResult returned before doneCb is done
jschleicher added a commit to PilzDE/actionlib that referenced this issue Nov 20, 2019
@dorezyuk
Copy link

Seems like I had the same issue with the python client: see pull request #150

jschleicher added a commit to PilzDE/actionlib that referenced this issue Feb 25, 2020
mjcarroll pushed a commit that referenced this issue Apr 23, 2020
* call doneCb before setting client state (Fixes #155)
* add testcase to fail without the fix
* also test getState() in the callback
* wait until the server is ready
* increase time limit for unrelated test
* separate exercise_simple_client into cpp and python
* increase debug output
* wait for longer for server
* bump CMake minimum version to use new behavior of CMP0048
* test build with more debug output
* Revert "wait for longer for server"
* Revert "test build with more debug output"
LeroyR pushed a commit to CentralLabFacilities/actionlib that referenced this issue Mar 29, 2022
* call doneCb before setting client state (Fixes ros#155)
* add testcase to fail without the fix
* also test getState() in the callback
* wait until the server is ready
* increase time limit for unrelated test
* separate exercise_simple_client into cpp and python
* increase debug output
* wait for longer for server
* bump CMake minimum version to use new behavior of CMP0048
* test build with more debug output
* Revert "wait for longer for server"
* Revert "test build with more debug output"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants