-
Notifications
You must be signed in to change notification settings - Fork 23
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
ZMQ Error #140
Comments
hmm, anything else in the traceback? from this I can't see what it might be, but I'll try and see if there's anyplace where the expectation of installing from git repo isn't handled |
wait is this on WSL? one thing is that pyzmq and libzmq can be picky about Unicode/bytes formatting and it has gone back and forth, if it's handled differently by windows that's interesting and can be worked around |
That error happens when you call "git pull" or any git command from a directory that isn't a git repository. I wonder what is calling "git" and triggering that error. I wouldn't think the Pilot would do that. Maybe something about the environment? Whatever it is, looks like it's going into REPO_DIR/.git instead of into REPO_DIR, where REPO_DIR is (probably) the autopilot repository. I bet it's some kind of path thing that windows handles differently, like backslashes or something like that. The ZMQ error might be similar, like a difference in the way windows formats network resources. Sorry I can't be of more help, good luck! |
Thanks for your help! Just to clarify, this is all happening on a Pilot on a pi running raspbian, only my terminal is on WSL. I'm going to try on a clean install. What config (version of raspbian, python, etc) is best tested? On that note, whats the best tested setup for the terminal? Ill probably switch from WSL to a Linux vm if I run into any issues with the terminal. |
For the Pi, I use the most recent release of Raspberry Pi OS Lite, and I believe that is the official recommendation. The python version should be 3.7. I contributed to the installation docs a little while ago. https://docs.auto-pi-lot.com/en/latest/guide/installation.html |
I figured out the problem. I wasn't naming the pilot. I was able to fix the ZMQ error, but it looks like it's still not connecting. I'm following those instructions, and installing with pip. For now, I'm only doing a few things on the setup:
After running the launch script, here's what I run into:
If I download the repo and manually
|
Below is the complete log when I try to run the pilot. If I run this from the pilot:
It connects.
It also works.
|
Supported systems are here! https://docs.auto-pi-lot.com/en/latest/guide/installation.html#supported-systems
Aha! OK added a check so that error message is a bit more informative - 35113b8
this is embarassing... should be included in the sdist because it's in the The rest of the problem looks like it could be a simple thing or a challenging thing. Due to some unfortunate decisions (that need to be unmade), Pilot agents by default send messages to another agent named The tl;dr the terminal agent needs to be named If that's not the problem we're probably in the wilde west of networking. From the configuration sent in the message, it looks like you're pushing a message to a non-local IPv4 address. That can be challenging depending on your network configuration -- eg. if you're in a university network, i've had real problems trying to get past the protected silos they put different IP ranges in, if you're behind a NAT same thing. I typically will use a switch or a router and have them directly connected with local IPs, but ofc arbitrary IPs should be supported -- it's just a little tricky! One thing that would be helpful is copy/pasting |
Thanks! As it turns out, my git error messages and the splash screen thing were due to REPODIR being set to the install location used by pip. If I clone the repository and set REPODIR to that (or install using pip -e) it seems to work fine. I changed the terminal name to "T", unfortunately that doesn't seem to change the networking behavior. They are already on the same switch, so I will trying using a separate router instead of the university network - but they are on the same IP range and there appear to be no limits in being able to ping/telnet/ssh/SMB etc each other including on the autopilot ports. prefs.json from the Pi is:
and from the terminal is
|
I just realized - my PUSHPORT and MSGPORT need to be swapped for the terminal. It works now! Thanks again for your help! |
Ugh! yes all too common. One of the many reasons my blood pressure will finally descend a bit when we rebuild network discovery ;) Closing for now, glad you got it figured out, and thanks @cxrodgers for your help as well :) |
@sneakers-the-rat Should we swap the default settings of PUSHPORT and MSGPORT when the user is running the setup wizard for a Terminal? Would that be an easy workaround for this common issue? |
yes I think so. alternatively there's no real reason they can't be the same port. inverting the number would require an extension to the notion of constraints in the prefs defaults, to be able to change value depending on another prefs value, but that shouldn't be too hard |
When I go to start an autopilot pilot, it starts and says:
fatal: not a git repository (or any of the parent directories): .git
fatal: not a git repository (or any of the parent directories): .git
Followed by the splash screen. Followed by:
The process doesn't terminate, it stays there, but it doesn't connect to the terminal, which I'm assuming is due to the last error.
It looks like self.id is set to an empty string in station.py. Did I need to set the local Pilot IP somewhere?
The text was updated successfully, but these errors were encountered: