-
-
Notifications
You must be signed in to change notification settings - Fork 34
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
proto use
fails with an odd error when git
is missing
#628
Comments
We actually error when the command doesn't exist on the machine: https://github.com/moonrepo/proto/blob/master/crates/warpgate/src/host.rs#L165 So I'm not entirely sure git missing was the problem here. |
I can see now that uninstalling git and trying again, I get the more comprehensible error:
So I'm not sure what the original issue was either and I can't repeat it as such. Maybe it had something to do with this. It looks like maybe we're qualifying proto/crates/system-env/src/helpers.rs Lines 107 to 108 in fbba5f2
|
Hrmm that's even more weird. Anytime I see the "A Tokio 1.x context was found, but it is being shutdown." error, I always assume Rust async just crashed in some weird way. I'm not even sure how to reproduce that. |
I think it means that we're ending the program with some task is still in process. Here's the relevant doc afaict. Hopefully, it makes more sense to you: https://docs.rs/tokio/latest/tokio/runtime/struct.Handle.html#method.block_on
In particular, I don't understand how In terms of the logging above, I see a lot of "Calling host function" and not a lot of "Called host function". To make sense of the trace, (1) these should have some correlation ID unique to each call of Maybe some of the above is what |
I agree, there's non-ideal layers here. However, extism (the plugin layer) is synchronous, so in this context, we don't need to wait for anything in the context of tokio/async. So if anything in extism errors, it just bubbles up. The exception to this is
Is the
These labels were in the logs before but it added sooo much noise that it became hard to read. So yeah, right now they are just in the dumps. I can maybe add an env var or something that toggles them on. |
Added |
I think I might have experienced similar, but with So I wonder is this error because I'll do some more investigataion myself, but wanted to braindump my initial findings in case it helps. |
Yeah. Anytime a command has to process multiple tools, either loading or executing something, it's always done in parallel, 1 tool per 1 thread. I try to provide human-readable error messages everywhere I can, so if something seems cryptic, or a panic occurs, that's usually somewhere outside of proto, most likely in a 3rd party library or the WASM layer. These are a bit harder to track down, especially WASM. |
I don't see anything like |
I use I'm not sure a cancellation token would even help here with the panic in the original post. |
It even has a comparison to JoinSet! Gosh I'm jealous of the Rust ecosystem and its documentation!
I think I need a trace catching the panic red-handed :-/. My backtrace is unfortunately not very useful. I'm reinstalling proto with |
So digging into potential failures when installing a tool. I'm currently testing this on Windows, and when trying to install all tools, I was getting the panic and failure, so again, I try and install each tool individually. I just received this:
It might be the case that this is a different error to when I tried to just run Will continue to add any extra information I find - and also happy to help in any way I can. Currently trying to get some self-hosted GitHub Action runners setup across all platforms (macOS, Windows and Linux/Ubuntu), and proto will make this so much easier 🙏 - I really appreciate this tool and all it offers! |
Yeah at least for |
FYI the underlying connection issue I was encountering was down to DNS within a Windows VM: #615 (comment) But aside from that, the improvements to the error messages you mentioned above would be a great addition. |
What version?
0.41.3
Which command?
proto use
What happened?
I installed
proto
on a recently re-installed machine. Git is not yet installed.proto use
crashes with a confusing error that doesn't explain the reasonI expect the error message to mention the failing command
git
.The output of
proto use
:Note the "help" text which suggests setting
RUST_BACKTRACE=1
(I wonder if there's a way to mention setting the--log=trace
orPROTO_LOG=trace
in addition or instead?)Trace logs?
Operating system?
Windows
Architecture?
x64
The text was updated successfully, but these errors were encountered: