Skip to content
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

extern crate inside a function scope dependent on that crate causes a stack overflow #87932

Closed
echeran opened this issue Aug 11, 2021 · 14 comments · Fixed by #89738
Closed

extern crate inside a function scope dependent on that crate causes a stack overflow #87932

echeran opened this issue Aug 11, 2021 · 14 comments · Fixed by #89738
Assignees
Labels
C-bug Category: This is a bug. I-crash Issue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics. P-high High priority regression-from-stable-to-stable Performance or correctness regression from one stable version to another. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@echeran
Copy link

echeran commented Aug 11, 2021

I've been working on a branch where I've made some refactoring changes and I'm working through cargo check errors/warnings/etc. now. Unexpectedly, one of the errors was from rustc mentioning "overflowed the stack":

Code

To reproduce:

  1. Check out the branch uniset-zerovec-rustc-bug in the repo echeran/icu4x
  2. cd icu4x
  3. Apply the patch listed below (uncomment a single line)
  4. cd components/uniset
  5. cargo check --tests
diff --git a/components/uniset/src/utils.rs b/components/uniset/src/utils.rs
index 80ef039c..aea83a3e 100644
--- a/components/uniset/src/utils.rs
+++ b/components/uniset/src/utils.rs
@@ -7,7 +7,7 @@ use core::{
     ops::{Bound::*, RangeBounds},
 };
 use zerovec::ZeroVec;
-// use zerovec::ule::AsULE;
+use zerovec::ule::AsULE;
 
 /// Returns whether the vector is sorted ascending non inclusive, of even length,
 /// and within the bounds of `0x0 -> 0x10FFFF` inclusive.

Meta

rustc --version --verbose:

rustc 1.51.0 (2fd73fabe 2021-03-23)
binary: rustc
commit-hash: 2fd73fabe469357a12c2c974c140f67e7cdd76d0
commit-date: 2021-03-23
host: x86_64-unknown-linux-gnu
release: 1.51.0
LLVM version: 11.0.1

Error output

thread 'rustc' has overflowed its stack
fatal runtime error: stack overflow
error: could not compile `icu_uniset`

Caused by:
  process didn't exit successfully: `rustc --crate-name icu_uniset --edition=2018 components/uniset/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type lib --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 --cfg 'feature="default"' --cfg 'feature="provider_serde"' --cfg 'feature="serde"' -C metadata=fa6668d369c85c18 -C extra-filename=-fa6668d369c85c18 --out-dir /home/elango/oss/icu4x/target/debug/deps -C incremental=/home/elango/oss/icu4x/target/debug/incremental -L dependency=/home/elango/oss/icu4x/target/debug/deps --extern displaydoc=/home/elango/oss/icu4x/target/debug/deps/libdisplaydoc-bda10fc3c30caa52.so --extern icu_provider=/home/elango/oss/icu4x/target/debug/deps/libicu_provider-d5ba73d690619b0a.rmeta --extern litemap=/home/elango/oss/icu4x/target/debug/deps/liblitemap-d68fb71c1eeb4154.rmeta --extern serde=/home/elango/oss/icu4x/target/debug/deps/libserde-6382802c6babb864.rmeta --extern tinystr=/home/elango/oss/icu4x/target/debug/deps/libtinystr-e89d95cd91a15395.rmeta --extern zerovec=/home/elango/oss/icu4x/target/debug/deps/libzerovec-75743d7b0ecdd6d0.rmeta` (signal: 6, SIGABRT: process abort signal)

Backtrace N/A.

@echeran echeran added C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Aug 11, 2021
@hellow554
Copy link
Contributor

hellow554 commented Aug 11, 2021

Your compiler is "very" (3 versions behind) old. There should be no reason to pin to such an old compiler, unless you're using a very specific nightly version, which you aren't.

This error however does also occur on latest stable (1.54.0) as well as nightly. So, ...

@rustbot modify labels: regression-from-stable-to-stable I-crash -I-ICE

Stable and nightly outputs are different though: (See #87932 (comment) for explanation)

stable
thread 'rustc' has overflowed its stack
fatal runtime error: stack overflow
error: could not compile `icu_uniset`

Caused by:
  process didn't exit successfully: `rustc --crate-name icu_uniset --edition=2018 components/uniset/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type lib --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 --cfg 'feature="default"' --cfg 'feature="provider_serde"' --cfg 'feature="serde"' -C metadata=43bc661b47995493 -C extra-filename=-43bc661b47995493 --out-dir /tmp/tmp.C992JMFlCk/icu4x/target/debug/deps -C incremental=/tmp/tmp.C992JMFlCk/icu4x/target/debug/incremental -L dependency=/tmp/tmp.C992JMFlCk/icu4x/target/debug/deps --extern displaydoc=/tmp/tmp.C992JMFlCk/icu4x/target/debug/deps/libdisplaydoc-9150e0fe01bb7d90.so --extern icu_provider=/tmp/tmp.C992JMFlCk/icu4x/target/debug/deps/libicu_provider-e7f972a43d9578f4.rmeta --extern litemap=/tmp/tmp.C992JMFlCk/icu4x/target/debug/deps/liblitemap-cbd4369110d76085.rmeta --extern serde=/tmp/tmp.C992JMFlCk/icu4x/target/debug/deps/libserde-c4032796bbea7b74.rmeta --extern tinystr=/tmp/tmp.C992JMFlCk/icu4x/target/debug/deps/libtinystr-c47caeef66ebb1a7.rmeta --extern zerovec=/tmp/tmp.C992JMFlCk/icu4x/target/debug/deps/libzerovec-8b294284a19c2ce4.rmeta` (signal: 6, SIGABRT: process abort signal)
nightly
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x4ff3d3)[0x7f8dd5aa63d3]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x141f0)[0x7f8dd52041f0]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02a91)[0x7f8dd74a9a91]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28a4b7c)[0x7f8dd7e4bb7c]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b219d)[0x7f8dd7e5919d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efa52d)[0x7f8dd74a152d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02b22)[0x7f8dd74a9b22]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f033d8)[0x7f8dd74aa3d8]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x28b221d)[0x7f8dd7e5921d]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f03a48)[0x7f8dd74aaa48]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1f02c71)[0x7f8dd74a9c71]
/home/marcel/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/../lib/librustc_driver-49ba2d0ecf6014f9.so(+0x1efab36)[0x7f8dd74a1b36]
warning: `icu_uniset` (lib) generated 4 warnings
error: could not compile `icu_uniset`; 4 warnings emitted

Caused by:
  process didn't exit successfully: `rustc --crate-name icu_uniset --edition=2018 components/uniset/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type lib --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 --cfg 'feature="default"' --cfg 'feature="provider_serde"' --cfg 'feature="serde"' -C metadata=de260c24a41512a5 -C extra-filename=-de260c24a41512a5 --out-dir /tmp/tmp.C992JMFlCk/icu4x/target/debug/deps -C incremental=/tmp/tmp.C992JMFlCk/icu4x/target/debug/incremental -L dependency=/tmp/tmp.C992JMFlCk/icu4x/target/debug/deps --extern displaydoc=/tmp/tmp.C992JMFlCk/icu4x/target/debug/deps/libdisplaydoc-c30ce128ca5f4501.so --extern icu_provider=/tmp/tmp.C992JMFlCk/icu4x/target/debug/deps/libicu_provider-ae2bfff6067f7cee.rmeta --extern litemap=/tmp/tmp.C992JMFlCk/icu4x/target/debug/deps/liblitemap-88a7f8237fe55dde.rmeta --extern serde=/tmp/tmp.C992JMFlCk/icu4x/target/debug/deps/libserde-dbed9398154f7560.rmeta --extern tinystr=/tmp/tmp.C992JMFlCk/icu4x/target/debug/deps/libtinystr-f2142b170417aafa.rmeta --extern zerovec=/tmp/tmp.C992JMFlCk/icu4x/target/debug/deps/libzerovec-8c103825d0555aac.rmeta` (signal: 11, SIGSEGV: invalid memory reference)

@rustbot rustbot added regression-from-stable-to-stable Performance or correctness regression from one stable version to another. I-prioritize Issue: Indicates that prioritization has been requested for this issue. labels Aug 11, 2021
@hellow554
Copy link
Contributor

hellow554 commented Aug 11, 2021

This is causing the overflow:

pub struct Up;

impl<'de> serde::Deserialize<'de> for Up {
    fn deserialize<D>(_: D) -> Result<Self, D::Error>
    where
        D: serde::Deserializer<'de>,
    {
        const _A: () = {
            extern crate serde as _serde; // maybe this one causing the overflow?
        };
        Ok(Up)
    }
}

fn main() {}

Trying to get rid of serde and bisecting right now.

Bisecting shows that even a 2018-06-01 (1.28.0-nightly) will overflow.
This is a edition2018 specific bug, because there's no need for extern crate serde anymore. If I add that to the outer scope, the overflow will go away.


For reference, here's a code that a user would write, therefore I think this should be P-High

pub struct UnicodePropertyV1 {}

impl<'de> serde::Deserialize<'de> for UnicodePropertyV1 {
    fn deserialize<D>(_: D) -> Result<Self, D::Error>
    where
        D: serde::Deserializer<'de>,
    {
        #[derive(serde::Deserialize)]
        enum Field {}

        todo!()
    }
}

The workaround is to move the enum Field to the outer scope.

@rustbot rustbot added I-crash Issue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics. and removed I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ labels Aug 11, 2021
@Manishearth
Copy link
Member

Your compiler is "very" (3 versions behind) old. There should be no reason to pin to such an old compiler, unless you're using a very specific nightly version, which you aren't.

@hellow554 Please don't respond to issues in this way. There are plenty of reasons to pin compiler versions like that, it's not a good idea to presume that someone has no reason to do a thing, and in the case of this issue it seems extraneous.

The reduced testcase is appreciated, however!

@Manishearth
Copy link
Member

@echeran note that adding the use declaration is not the source of the bug; the use declaration uncovers the bug because without the use the compiler fails earlier in the pipeline.

@hellow554's reduced testcase also runs on the playpen if needed, btw!

@Manishearth Manishearth changed the title adding a use declaration causes rustc stack overflow error Derive(Deserialize) inside a function scope causes a stack overflow Aug 11, 2021
@Manishearth Manishearth changed the title Derive(Deserialize) inside a function scope causes a stack overflow derive(Deserialize) inside a function scope causes a stack overflow Aug 11, 2021
@eddyb
Copy link
Member

eddyb commented Aug 11, 2021

cc @petrochenkov

@Manishearth Manishearth changed the title derive(Deserialize) inside a function scope causes a stack overflow extern crate serde inside a function scope dependent on serde causes a stack overflow Aug 11, 2021
@hellow554
Copy link
Contributor

For reference: The small error went away with #80182, which seems fine and dandy because that's whats the PR is supposed to do. So there's nothing wrong with the different outputs of stable and nightly :)

@apiraino
Copy link
Contributor

Assigning priority as discussed in the Zulip thread of the Prioritization Working Group.

@rustbot label -I-prioritize +P-high

@rustbot rustbot added P-high High priority and removed I-prioritize Issue: Indicates that prioritization has been requested for this issue. labels Aug 12, 2021
@prokopyl
Copy link

prokopyl commented Sep 9, 2021

I believe I managed to hit this specific crash while working on Rust-LV2 (this is the WIP commit where I first encountered that crash), however, this project does not depend on Serde.

I investigated further, and managed to make a complete minimal test case here, here's the gist of it (in src/lib.rs) :

use mylib::{FooTrait, LibFoo};

struct Foo;

impl FooTrait for Foo {
    fn foo() {
        // The main offender: using extern crate inside the impl of a trait exposed by that same crate.
        extern crate mylib as _mylib;
    }
}

// An innocent bystander trait impl. It is not necessary to trigger the stack overflow,
// but having the same 'extern crate' declaration in it *prevents* it.
impl Clone for Foo {
    fn clone(&self) -> Self {
        // Uncomment the following, and it works again.
        // NOTE: This alone, without the 'extern crate' in the other impl, does not trigger the stack overflow.

        // extern crate mylib as _mylib;
        Foo
    }
}

// Either remove the pub, or change the return type, and it works again.
// Note: either having this as pub, or having a #[no_mangle] attribute triggers the stack overflow
pub fn exposed_lib_foo() -> LibFoo {
    // NOTE: removing/changing this value to another type here causes the correct type error
    // and does not trigger the stack overflow (yet?)
    LibFoo
}

This cannot be reproduced solely in the playground without Serde, as it requires a multiple-crate setup. This project has a main crate and a single mylib dependency.

The points for reproducing the issue in a project are the following:

  • As pointed out by the title of this issue, there needs to be an extern crate declaration inside of a trait implementation, which references the same crate the trait is coming from.
  • There also needs an exposed function referencing a type from that same crate, i.e. either returning it, or receiving it as a parameter (either directly, or through a reference or pointer).
    • The exposed function can be either a pub function, or a private function marked with the #[no_mangle] attribute (the attribute is how I encountered the crash at first).

The common denominator with Serde here is the extern crate in fn "hack" to make proc macros as hygienic as possible, first suggested in this comment of serde#159, which I discovered through the explanation in this blog post. I had just tried to use this same trick, as we've had proc-macro hygiene issues in the past, and that's when the compiler crashed with the stack overflow:

❯ cargo build
   Compiling rustc_repro_87932 v0.1.0 (/home/adrien/Projects/RustAudio/rustc_repro_87932)

thread 'rustc' has overflowed its stack
fatal runtime error: stack overflow
error: could not compile `rustc_repro_87932`

Caused by:
  process didn't exit successfully: `rustc --crate-name rustc_repro_87932 --edition=2018 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debuginfo=2 -C metadata=0af247fb9f5226ff -C extra-filename=-0af247fb9f5226ff --out-dir /home/adrien/Projects/RustAudio/rustc_repro_87932/target/debug/deps -C incremental=/home/adrien/Projects/RustAudio/rustc_repro_87932/target/debug/incremental -L dependency=/home/adrien/Projects/RustAudio/rustc_repro_87932/target/debug/deps --extern mylib=/home/adrien/Projects/RustAudio/rustc_repro_87932/target/debug/deps/libmylib-8a9782bb2f662999.rmeta --extern mylib_sys=/home/adrien/Projects/RustAudio/rustc_repro_87932/target/debug/deps/libmylib_sys-423bf155b0053619.rmeta` (signal: 6, SIGABRT: process abort signal)

And here's my rustc --version --verbose:

rustc 1.54.0 (a178d0322 2021-07-26)
binary: rustc
commit-hash: a178d0322ce20e33eac124758e837cbd80a6f633
commit-date: 2021-07-26
host: x86_64-unknown-linux-gnu
release: 1.54.0
LLVM version: 12.0.1

I know nothing about rustc's internals, but here are a few additional observations I made while making this test case:

  • Unlike what's described in the first message, both Rust-LV2 and my test project only reproduce the crash by actually building the project using cargo build (in either debug or release mode). Using cargo check on those projects did not crash.
    • This is also corroborated by the fact that introducing a type error in the exposed function does not result in a crash either — the type error stops the rustc before it actually builds anything.
  • The exposed function can be either in the same module as the trait implementations, or in a submodule, as long as it is either public or the function is #[no_mangle] (which, in a way, bypasses module visibility). If the function is either private, or marked pub but in a private module, the compiler does not crash.
  • The "exposed function" part of the crash does not apply to all exposed items: replacing the exposed_lib_foo function with e.g. pub const SYS_FOO: SysFoo = SysFoo; does not trigger a crash.
  • If a second extern crate declaration is added in the implementation of another trait (here demonstrated with Clone) then the crash does not happen anymore. Having it only in the Clone impl does not trigger the crash either.
    • It behaves like there is a cache of some sort on these 'extern crate' declarations, and having a cache miss inside of the trait impl referenced by that crate causes the crash.

Hope this helps! 🙂

@eddyb eddyb changed the title extern crate serde inside a function scope dependent on serde causes a stack overflow extern crate inside a function scope dependent on that crate causes a stack overflow Sep 9, 2021
@petrochenkov
Copy link
Contributor

I remember this, it is an old issue - #55779.

@petrochenkov
Copy link
Contributor

If @eddyb returns and finishes #56655, then this issue should be fixed as well.

Narrator: eddyb never returned.

@eddyb eddyb self-assigned this Sep 9, 2021
@eddyb
Copy link
Member

eddyb commented Sep 9, 2021

Ah, right, that got lost in the chaos of Rust 2018 + all the ty::print changes.
Fingers crossed that code hasn't gotten crazier since.

@tmiasko
Copy link
Contributor

tmiasko commented Sep 14, 2021

A different reproducer (one above will stop working soon; probably).

$ cat a.rs 
pub trait Deserialize {
    fn deserialize();
}
$ cat b.rs 
pub struct A {}

impl a::Deserialize for A {
    fn deserialize() {
        extern crate a as _a;
    }
}

fn main() {
    A::deserialize();
}
$ rustc --crate-type=lib --edition=2018 a.rs
$ rustc --crate-type=bin --edition=2018 b.rs -L. --extern a 

@eddyb
Copy link
Member

eddyb commented Oct 10, 2021

Finally found some time for this, some notes:

  • the observation that #56655 had been superseded by ty::print work, seems to be correct, so there's not really anything to do by trying to rebase that PR
  • this plan is what never happened, and should be relatively simple by comparison
  • right now we prioritize extern crate foo; over "Rust 2018 paths to foo" (whether in use or elsewhere), as the "source of foo", but I'm not sure the latter ends up being used with extern crate-introduced names, so I'm hoping flipping that priority direction is enough to get better results

@eddyb
Copy link
Member

eddyb commented Oct 10, 2021

Also, I don't recall seeing #55779 (comment) - seems like that would be the correct fix for the stack overflow, whereas the priority thing is more of an "aesthetic" fix.

EDIT: this turns out not to be that simple, see #55779 (comment).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-bug Category: This is a bug. I-crash Issue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics. P-high High priority regression-from-stable-to-stable Performance or correctness regression from one stable version to another. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

9 participants