Open i404788 opened 1 week ago
I'd be happy to look into this, even without a min repro, any repro will do because we have a backtrace (I'll do a local custom build of rust/LLVM with debugging symbols).
Side note: https://github.com/i404788/embassy/commit/3b540cf24559f4ba6236db4167c443bd7224851f :eyes:, you're working on a host driver in embassy!? Very cool, and very cool that you're using an s3 to develop it :D
Thanks, I'll be submitting my PR to esp-hal when the embassy side is sorted, we are having a mini working group @ https://github.com/embassy-rs/embassy/pull/3307 to get traits & drivers across platforms aligned.
I've gotten the repro down to a managable size (https://github.com/i404788/rust-compile-crash-repro); it seems like maybe it has to do with the async_closure feature, but I've also included main.not.rs
which also uses them but doesn't cause an issue (need to clean if coming from broken), Also I maybe got the wrong commit, at that point it is fixed but https://github.com/i404788/embassy/commit/df729bfcff15a091f6cd24c7da0565e10350f7d1 is the confirmed broken one, so it's possible https://github.com/i404788/embassy/commit/dd408d4e6d9d0a908d46d80b9ac6aecb492ed03a fixed it.
Code
This commit fixes it in the project I originally used it in: https://github.com/i404788/embassy/commit/3b540cf24559f4ba6236db4167c443bd7224851f
Unfortunately my attempts to reproduce it at smaller scale in non-esp rust so far have failed, for now I'm assuming it's esp specific. I'll continue trying to find the root cause minimal example, if found to be in mainline rust, I'll move the issue over there.
This seems to be allowed in >1.80 without import, but in release mode can cause an rustc/LLVM SIGSEGV. Changing it to an explicit import fixes this.
Meta
This is the version I originally found it in but it identical errors occurs in 1.80.0.
rustc --version --verbose
:Error output
RUST_BACKTRACE=1
has no effect