-
Notifications
You must be signed in to change notification settings - Fork 29
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
[macOS] SpineInterface can't access the shared memory #375
Comments
It likely follows from https://github.com/upkie/vulp/releases/tag/v2.2.0 where we switched from I'm surprised your log only attempts once to wait for the spine: in the current PID balancer, it should try 10 times. Maybe try increasing to |
I think the problem is inconsistent handling of the POSIX naming standard on different platforms (and the sloppy handling of it by Python). On Linux, It is, however, not the case on macOS, the object names should be an exact match. (Similarly, there is no It seems that the standard The simplest solution I can think of is to get rid of all leading slashes in our Python files. What do you think? |
I think the case makes itself for adding integration tests. 😅 Should I add |
Also, unit tests 😉 Would it be hard to make one for this particular case? An integration test sounds good too 👍 We could add an option to |
I cannot think of a very good case right off the bat. Maybe a Python test which creates a mock spine and tries to attach to it through
What you propose is an option and it should be easy to implement. I think a KISS alternative would be to just add a step like |
Hmm, I would be wary of using
That's what the test in |
Bug description
SpineInterface
cannot access the shared memory file, and my agent fails:Expected behavior
When launching try_pid_balancer.sh, the agent should be able to access the shared-memory file and run normally.
Reproduction steps
Steps to reproduce the behavior:
Additional context
The problem disappears once I checkout an earlier version of the
spine_interface.py
file, all other things remaining the same (e.g.git checkout b179d224da0468a93b6a9a051f6137b70f86498c -- vulp/spine/spine_interface.py
).I am creating this issue here as it seems to be caused by vulp.
I suspect the issue is related to the standard library (or the way we use it), as
posix_ipc
works just fine.System
The text was updated successfully, but these errors were encountered: