Heya, I have a cargo clippy ..
command which returns:
thread 'rustc' has overflowed its stack
fatal runtime error: stack overflow
child failed with signal `6`
error: could not compile `peace_cmd_rt` (lib)
However, cargo +stable clippy ..
works.
So the questions:
-
If this were to be opened as an issue on github, should I open an issue in the
rust-lang/rust
repo, or therust-lang/clippy
repo? -
I couldn't produce an MCVE; but if anyone wants to try and troubleshoot it:
-
I tried
gdb
ing the rust command that came out ofcargo clippy -vv ..
, but it segfaults so I (think I) can't get a back trace -
I'm using
rustc 1.74.0-nightly (203c57dbe 2023-09-17)
-
Repo cloning commands (azriel91/peace):
git clone git@github.com:azriel91/peace.git cd peace git switch feature/141/cancel-safety
-
The commit that introduced this behaviour is likely
a55d4584
(2 commits back, or 3, if you count the first one); it shows up on the latest commit as well as I was trying to fix it. -
clippy
command I'm running (I'm onnightly
by default, and add+stable
for stable):# rustc 1.74.0-nightly (203c57dbe 2023-09-17) cargo clippy \ --workspace \ --features "cli error_reporting output_progress" \ --fix \ --exclude peace_rt_model_web \ -- -D warnings
-
I tried
RUST_MIN_STACK=20000000 cargo clippy ..
but the outcome was the same. -
You can add
cargo clippy --vv ..
to get the failing command, then<vars> gdb --args <the_command>
to try play withgdb
.This is where I stopped, as I hit a segfault and I haven't used
gdb
for ages. -
I suspect the overflow may be to do with:
crate/cmd_rt/src/cmd_execution.rs:136
, i.e.- the
async fn cmd_outcome_task
(crazy signature, sorry), in combination with CmdBlockRtBox
, which is a type alias forPin<Box<dyn CmdBlockRt<..>>
- many trait bounds
- the
-
Any help would be much appreciated, but I know the project is non-trivial.
Thank you