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

out of memory #124901

Open
matthiaskrgr opened this issue May 8, 2024 · 9 comments
Open

out of memory #124901

matthiaskrgr opened this issue May 8, 2024 · 9 comments
Labels
C-bug Category: This is a bug. I-compilemem Issue: Problems and improvements with respect to memory usage during compilation. I-crash Issue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics. P-medium Medium priority regression-from-stable-to-stable Performance or correctness regression from one stable version to another.
Milestone

Comments

@matthiaskrgr
Copy link
Member

matthiaskrgr commented May 8, 2024

Unfortunately there is no kind of error or warning given by rustc, it just OOMs right away :/

I tried this code:

trait Default {
    type Id;

    fn intu(&self) -> &Self::Id;
}

impl<T: Default<Id = U>, U: Copy> Default for U {
    default type Id = T;
    fn intu(&self) -> &Self::Id {
        self
    }
}

fn specialization<T>(t: T) -> U {
    *t.intu()
}

use std::num::NonZero;

fn main() {
    let assert_eq = NonZero::<u8, Option<NonZero<u8>>>(0);
    assert_eq!(specialization, None);
}

I expected to see this happen: explanation

Instead, this happened: explanation

Meta

rustc --version --verbose:

rustc 1.80.0-nightly (faefc618c 2024-05-07)
binary: rustc
commit-hash: faefc618cf48bd794cbc808448df1bf3f59f36af
commit-date: 2024-05-07
host: x86_64-unknown-linux-gnu
release: 1.80.0-nightly
LLVM version: 18.1.4
@matthiaskrgr matthiaskrgr added I-crash Issue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics. I-compilemem Issue: Problems and improvements with respect to memory usage during compilation. C-bug Category: This is a bug. labels May 8, 2024
@rustbot rustbot added the needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. label May 8, 2024
@matthiaskrgr
Copy link
Member Author

#0  0x00007ffff1775d80 in ?? () from /usr/lib/libc.so.6
#1  0x00007ffff5062575 in <hashbrown::raw::RawTable<(rustc_query_system::query::job::QueryJobId, rustc_query_system::query::job::QueryJobInfo)>>::reserve_rehash::<hashbrown::map::make_hasher<rustc_query_system::query::job::QueryJobId, rustc_query_system::query::job::QueryJobInfo, core::hash::BuildHasherDefault<rustc_hash::FxHasher>>::{closure#0}> () from /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_driver-baba34ae40c356f7.so
#2  0x00007ffff50b5fb6 in <hashbrown::map::HashMap<rustc_query_system::query::job::QueryJobId, rustc_query_system::query::job::QueryJobInfo, core::hash::BuildHasherDefault<rustc_hash::FxHasher>>>::insert ()
   from /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_driver-baba34ae40c356f7.so
#3  0x00007ffff506d555 in <rustc_query_system::query::plumbing::QueryState<()>>::try_collect_active_jobs::<rustc_middle::ty::context::TyCtxt> () from /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_driver-baba34ae40c356f7.so
#4  0x00007ffff51355fa in rustc_query_impl::query_impl::early_lint_checks::try_collect_active_jobs () from /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_driver-baba34ae40c356f7.so
#5  0x00007ffff5129c7c in <rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::collect_active_jobs () from /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_driver-baba34ae40c356f7.so
#6  0x00007ffff50815e1 in rustc_query_system::query::plumbing::cycle_error::<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt> ()
   from /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_driver-baba34ae40c356f7.so
#7  0x00007ffff5c8981b in rustc_query_impl::query_impl::def_span::get_query_non_incr::__rust_end_short_backtrace () from /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_driver-baba34ae40c356f7.so
#8  0x00007ffff5fccac6 in rustc_middle::query::plumbing::query_get_at::<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>> () from /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_driver-baba34ae40c356f7.so
#9  0x00007ffff512b943 in rustc_query_impl::plumbing::create_query_frame::<rustc_span::def_id::LocalDefId> () from /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_driver-baba34ae40c356f7.so
#10 0x00007ffff511851b in <rustc_query_impl::query_impl::local_def_id_to_hir_id::try_collect_active_jobs::{closure#0} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId)>>::call_once ()
   from /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_driver-baba34ae40c356f7.so
#11 0x00007ffff506b7da in <rustc_query_system::query::plumbing::QueryState<rustc_span::def_id::LocalDefId>>::try_collect_active_jobs::<rustc_middle::ty::context::TyCtxt> () from /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_driver-baba34ae40c356f7.so
#12 0x00007ffff5135c1a in rustc_query_impl::query_impl::local_def_id_to_hir_id::try_collect_active_jobs () from /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_driver-baba34ae40c356f7.so
#13 0x00007ffff5129c7c in <rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::collect_active_jobs () from /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_driver-baba34ae40c356f7.so
#14 0x00007ffff50815e1 in rustc_query_system::query::plumbing::cycle_error::<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt> ()
   from /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_driver-baba34ae40c356f7.so
#15 0x00007ffff5c8981b in rustc_query_impl::query_impl::def_span::get_query_non_incr::__rust_end_short_backtrace () from /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_driver-baba34ae40c356f7.so
#16 0x00007ffff5fccac6 in rustc_middle::query::plumbing::query_get_at::<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>> () from /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_driver-baba34ae40c356f7.so
#17 0x00007ffff512b943 in rustc_query_impl::plumbing::create_query_frame::<rustc_span::def_id::LocalDefId> () from /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_driver-baba34ae40c356f7.so
#18 0x00007ffff511851b in <rustc_query_impl::query_impl::local_def_id_to_hir_id::try_collect_active_jobs::{closure#0} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId)>>::call_once ()
   from /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_driver-baba34ae40c356f7.so
#19 0x00007ffff506b7da in <rustc_query_system::query::plumbing::QueryState<rustc_span::def_id::LocalDefId>>::try_collect_active_jobs::<rustc_middle::ty::context::TyCtxt> () from /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_driver-baba34ae40c356f7.so
#20 0x00007ffff5135c1a in rustc_query_impl::query_impl::local_def_id_to_hir_id::try_collect_active_jobs () from /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_driver-baba34ae40c356f7.so
#21 0x00007ffff5129c7c in <rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::collect_active_jobs () from /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_driver-baba34ae40c356f7.so
#22 0x00007ffff50815e1 in rustc_query_system::query::plumbing::cycle_error::<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt> ()
   from /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_driver-baba34ae40c356f7.so
#23 0x00007ffff5c8981b in rustc_query_impl::query_impl::def_span::get_query_non_incr::__rust_end_short_backtrace () from /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_driver-baba34ae40c356f7.so
#24 0x00007ffff5fccac6 in rustc_middle::query::plumbing::query_get_at::<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>> () from /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_driver-baba34ae40c356f7.so
#25 0x00007ffff512b943 in rustc_query_impl::plumbing::create_query_frame::<rustc_span::def_id::LocalDefId> () from /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_driver-baba34ae40c356f7.so
#26 0x00007ffff511851b in <rustc_query_impl::query_impl::local_def_id_to_hir_id::try_collect_active_jobs::{closure#0} as core::ops::function::FnOnce<(rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId)>>::call_once ()
   from /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_driver-baba34ae40c356f7.so
#27 0x00007ffff506b7da in <rustc_query_system::query::plumbing::QueryState<rustc_span::def_id::LocalDefId>>::try_collect_active_jobs::<rustc_middle::ty::context::TyCtxt> () from /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_driver-baba34ae40c356f7.so
#28 0x00007ffff5135c1a in rustc_query_impl::query_impl::local_def_id_to_hir_id::try_collect_active_jobs () from /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_driver-baba34ae40c356f7.so
#29 0x00007ffff5129c7c in <rustc_query_impl::plumbing::QueryCtxt as rustc_query_system::query::QueryContext>::collect_active_jobs () from /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_driver-baba34ae40c356f7.so
#30 0x00007ffff50815e1 in rustc_query_system::query::plumbing::cycle_error::<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt> ()
   from /home/matthias/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/librustc_driver-baba34ae40c356f7.so
```

@matthiaskrgr
Copy link
Member Author

This gave an error back in 1.76 but in 1.77 it started just OOM without giving any output.

1.76:

error[E0432]: unresolved import `std::num::NonZero`
  --> oom.rs:18:5
   |
18 | use std::num::NonZero;
   |     ^^^^^^^^^^-------
   |     |         |
   |     |         help: a similar name exists in the module: `NonZeroI8`
   |     no `NonZero` in `num`

error[E0412]: cannot find type `U` in this scope
  --> oom.rs:14:31
   |
14 | fn specialization<T>(t: T) -> U {
   |                   -           ^
   |                   |
   |                   similarly named type parameter `T` defined here
   |
help: a type parameter with a similar name exists
   |
14 | fn specialization<T>(t: T) -> T {
   |                               ~
help: you might be missing a type parameter
   |
14 | fn specialization<T, U>(t: T) -> U {
   |                    +++

error[E0658]: specialization is unstable
 --> oom.rs:8:5
  |
8 |     default type Id = T;
  |     ^^^^^^^^^^^^^^^^^^^^
  |
  = note: see issue #31844 <https://github.com/rust-lang/rust/issues/31844> for more information

error[E0207]: the type parameter `T` is not constrained by the impl trait, self type, or predicates
 --> oom.rs:7:6
  |
7 | impl<T: Default<Id = U>, U: Copy> Default for U {
  |      ^ unconstrained type parameter

error: aborting due to 4 previous errors

Some errors have detailed explanations: E0207, E0412, E0432, E0658.
For more information about an error, try `rustc --explain E0207`.

@matthiaskrgr matthiaskrgr added the regression-from-stable-to-stable Performance or correctness regression from one stable version to another. label May 8, 2024
@rustbot rustbot added the I-prioritize Issue: Indicates that prioritization has been requested for this issue. label May 8, 2024
@cuviper cuviper added this to the 1.77.0 milestone May 10, 2024
@cuviper
Copy link
Member

cuviper commented May 10, 2024

Infinite recursion from cycle_error? Here's a more detailed backtrace from a debug build:

...
#24 0x00007ffff2a9e841 in rustc_query_system::query::plumbing::cycle_error<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt> () at compiler/rustc_query_system/src/query/plumbing.rs:253
#25 0x00007ffff48a3cbc in rustc_query_system::query::plumbing::try_execute_query<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, false> () at compiler/rustc_query_system/src/query/plumbing.rs:370
#26 0x00007ffff456fa34 in rustc_query_system::query::plumbing::get_query_non_incr::{closure#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt> () at compiler/rustc_query_system/src/query/plumbing.rs:801
#27 stacker::maybe_grow<rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::query::plumbing::get_query_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>> ()
    at /home/jistone/.cargo/registry/src/index.crates.io-6f17d22bba15001f/stacker-0.1.15/src/lib.rs:55
#28 rustc_data_structures::stack::ensure_sufficient_stack<rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::query::plumbing::get_query_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>> ()
    at compiler/rustc_data_structures/src/stack.rs:17
#29 rustc_query_system::query::plumbing::get_query_non_incr<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt> ()
    at compiler/rustc_query_system/src/query/plumbing.rs:801
#30 rustc_query_impl::query_impl::def_span::get_query_non_incr::__rust_end_short_backtrace ()
    at compiler/rustc_query_impl/src/plumbing.rs:596
#31 0x00007ffff5d70913 in rustc_middle::query::plumbing::query_get_at<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>> () at compiler/rustc_middle/src/query/plumbing.rs:145
#32 0x00007ffff47fb932 in rustc_query_impl::plumbing::create_query_frame<rustc_span::def_id::LocalDefId> ()
    at compiler/rustc_query_impl/src/plumbing.rs:333
#33 0x00007ffff47497ac in rustc_query_impl::query_impl::local_def_id_to_hir_id::try_collect_active_jobs::{closure#0} ()
    at compiler/rustc_query_impl/src/plumbing.rs:699
#34 core::ops::function::FnOnce::call_once<rustc_query_impl::query_impl::local_def_id_to_hir_id::try_collect_active_jobs::{closure_env#0}, (rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId)> ()
    at library/core/src/ops/function.rs:250
#35 0x00007ffff4874fd4 in rustc_query_system::query::plumbing::QueryState::try_collect_active_jobs<rustc_span::def_id::LocalDefId, rustc_middle::ty::context::TyCtxt> () at compiler/rustc_query_system/src/query/plumbing.rs:89
#36 0x00007ffff474a00d in rustc_query_impl::query_impl::local_def_id_to_hir_id::try_collect_active_jobs ()
    at compiler/rustc_query_impl/src/plumbing.rs:701
#37 0x00007ffff46c2b46 in rustc_query_impl::plumbing::{impl#3}::collect_active_jobs ()
    at compiler/rustc_query_impl/src/plumbing.rs:85
#38 0x00007ffff2a9e841 in rustc_query_system::query::plumbing::cycle_error<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt> () at compiler/rustc_query_system/src/query/plumbing.rs:253
...

Since stacker::maybe_grow is in there, it can recurse until OOM.

@apiraino
Copy link
Contributor

Bisection points to fb4bca0 (but unsure if directly related) cc @reitermarkus @dtolnay

bisected with cargo-bisect-rustc v0.6.8

Host triple: x86_64-unknown-linux-gnu
Reproduce with:

cargo bisect-rustc --without-cargo --preserve --start 1.76.0 --end 1.77.0 --timeout 2 --script test.sh 

@apiraino
Copy link
Contributor

WG-prioritization assigning priority (Zulip discussion).

@rustbot label -I-prioritize +P-medium

@rustbot rustbot added P-medium Medium priority and removed I-prioritize Issue: Indicates that prioritization has been requested for this issue. labels May 10, 2024
@cuviper
Copy link
Member

cuviper commented May 10, 2024

This frame is suspicious, since the code around it is already trying to avoid infinite recursion:

#32 0x00007ffff47fb932 in rustc_query_impl::plumbing::create_query_frame<rustc_span::def_id::LocalDefId> ()
    at compiler/rustc_query_impl/src/plumbing.rs:333

let span = if kind == dep_graph::dep_kinds::def_span || reduce_queries {
// The `def_span` query is used to calculate `default_span`,
// so exit to avoid infinite recursion.
None
} else {
Some(key.default_span(tcx))
};

cc @Zoxc who added that reduce_queries check.

I think maybe it should set the reduced state here, e.g. this seems to work:

diff --git a/compiler/rustc_query_impl/src/plumbing.rs b/compiler/rustc_query_impl/src/plumbing.rs
index a7696b1fbaff..7a9a1fafc579 100644
--- a/compiler/rustc_query_impl/src/plumbing.rs
+++ b/compiler/rustc_query_impl/src/plumbing.rs
@@ -330,7 +330,7 @@ pub(crate) fn create_query_frame<
         // so exit to avoid infinite recursion.
         None
     } else {
-        Some(key.default_span(tcx))
+        Some(ty::print::with_reduced_queries!(key.default_span(tcx)))
     };
     let def_id = key.key_as_def_id();
     let def_kind = if kind == dep_graph::dep_kinds::def_kind || reduce_queries {

@Zoxc
Copy link
Contributor

Zoxc commented May 10, 2024

I don't immediately spot why there's a cycle from the limited backtrace or why the check for def_span wouldn't prevent it.

@cuviper
Copy link
Member

cuviper commented May 10, 2024

Here's a full backtrace. I was breaking on each cycle_error until it was clearly recursing on the DefIdCache (frames 0, 14, 28), but it had also hit cycle_error before that on VecCache (42) and SingleCache (86).

Click to expand

#0  rustc_query_system::query::plumbing::cycle_error<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt> () at compiler/rustc_query_system/src/query/plumbing.rs:253
#1  0x00007ffff48a3cbc in rustc_query_system::query::plumbing::try_execute_query<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, false> () at compiler/rustc_query_system/src/query/plumbing.rs:370
#2  0x00007ffff456fa34 in rustc_query_system::query::plumbing::get_query_non_incr::{closure#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt> () at compiler/rustc_query_system/src/query/plumbing.rs:801
#3  stacker::maybe_grow<rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::query::plumbing::get_query_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>> () at /home/jistone/.cargo/registry/src/index.crates.io-6f17d22bba15001f/stacker-0.1.15/src/lib.rs:55
#4  rustc_data_structures::stack::ensure_sufficient_stack<rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::query::plumbing::get_query_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>> () at compiler/rustc_data_structures/src/stack.rs:17
#5  rustc_query_system::query::plumbing::get_query_non_incr<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt> () at compiler/rustc_query_system/src/query/plumbing.rs:801
#6  rustc_query_impl::query_impl::def_span::get_query_non_incr::__rust_end_short_backtrace () at compiler/rustc_query_impl/src/plumbing.rs:597
#7  0x00007ffff5d70913 in rustc_middle::query::plumbing::query_get_at<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>> () at compiler/rustc_middle/src/query/plumbing.rs:145
#8  0x00007ffff47fb932 in rustc_query_impl::plumbing::create_query_frame<rustc_span::def_id::LocalDefId> () at compiler/rustc_query_impl/src/plumbing.rs:333
#9  0x00007ffff47497ac in rustc_query_impl::query_impl::local_def_id_to_hir_id::try_collect_active_jobs::{closure#0} () at compiler/rustc_query_impl/src/plumbing.rs:700
#10 core::ops::function::FnOnce::call_once<rustc_query_impl::query_impl::local_def_id_to_hir_id::try_collect_active_jobs::{closure_env#0}, (rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId)> () at library/core/src/ops/function.rs:250
#11 0x00007ffff4874fd4 in rustc_query_system::query::plumbing::QueryState::try_collect_active_jobs<rustc_span::def_id::LocalDefId, rustc_middle::ty::context::TyCtxt> () at compiler/rustc_query_system/src/query/plumbing.rs:89
#12 0x00007ffff474a00d in rustc_query_impl::query_impl::local_def_id_to_hir_id::try_collect_active_jobs () at compiler/rustc_query_impl/src/plumbing.rs:702
#13 0x00007ffff46c2b46 in rustc_query_impl::plumbing::{impl#3}::collect_active_jobs () at compiler/rustc_query_impl/src/plumbing.rs:85
#14 0x00007ffff2a9e841 in rustc_query_system::query::plumbing::cycle_error<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt> () at compiler/rustc_query_system/src/query/plumbing.rs:253
#15 0x00007ffff48a3cbc in rustc_query_system::query::plumbing::try_execute_query<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, false> () at compiler/rustc_query_system/src/query/plumbing.rs:370
#16 0x00007ffff456fa34 in rustc_query_system::query::plumbing::get_query_non_incr::{closure#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt> () at compiler/rustc_query_system/src/query/plumbing.rs:801
#17 stacker::maybe_grow<rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::query::plumbing::get_query_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>> () at /home/jistone/.cargo/registry/src/index.crates.io-6f17d22bba15001f/stacker-0.1.15/src/lib.rs:55
#18 rustc_data_structures::stack::ensure_sufficient_stack<rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::query::plumbing::get_query_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>> () at compiler/rustc_data_structures/src/stack.rs:17
#19 rustc_query_system::query::plumbing::get_query_non_incr<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt> () at compiler/rustc_query_system/src/query/plumbing.rs:801
#20 rustc_query_impl::query_impl::def_span::get_query_non_incr::__rust_end_short_backtrace () at compiler/rustc_query_impl/src/plumbing.rs:597
#21 0x00007ffff5d70913 in rustc_middle::query::plumbing::query_get_at<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>> () at compiler/rustc_middle/src/query/plumbing.rs:145
#22 0x00007ffff47fb932 in rustc_query_impl::plumbing::create_query_frame<rustc_span::def_id::LocalDefId> () at compiler/rustc_query_impl/src/plumbing.rs:333
#23 0x00007ffff47497ac in rustc_query_impl::query_impl::local_def_id_to_hir_id::try_collect_active_jobs::{closure#0} () at compiler/rustc_query_impl/src/plumbing.rs:700
#24 core::ops::function::FnOnce::call_once<rustc_query_impl::query_impl::local_def_id_to_hir_id::try_collect_active_jobs::{closure_env#0}, (rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId)> () at library/core/src/ops/function.rs:250
#25 0x00007ffff4874fd4 in rustc_query_system::query::plumbing::QueryState::try_collect_active_jobs<rustc_span::def_id::LocalDefId, rustc_middle::ty::context::TyCtxt> () at compiler/rustc_query_system/src/query/plumbing.rs:89
#26 0x00007ffff474a00d in rustc_query_impl::query_impl::local_def_id_to_hir_id::try_collect_active_jobs () at compiler/rustc_query_impl/src/plumbing.rs:702
#27 0x00007ffff46c2b46 in rustc_query_impl::plumbing::{impl#3}::collect_active_jobs () at compiler/rustc_query_impl/src/plumbing.rs:85
#28 0x00007ffff2a9e841 in rustc_query_system::query::plumbing::cycle_error<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt> () at compiler/rustc_query_system/src/query/plumbing.rs:253
#29 0x00007ffff48a3cbc in rustc_query_system::query::plumbing::try_execute_query<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, false> () at compiler/rustc_query_system/src/query/plumbing.rs:370
#30 0x00007ffff456fa34 in rustc_query_system::query::plumbing::get_query_non_incr::{closure#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt> () at compiler/rustc_query_system/src/query/plumbing.rs:801
#31 stacker::maybe_grow<rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::query::plumbing::get_query_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>> () at /home/jistone/.cargo/registry/src/index.crates.io-6f17d22bba15001f/stacker-0.1.15/src/lib.rs:55
#32 rustc_data_structures::stack::ensure_sufficient_stack<rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::query::plumbing::get_query_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>> () at compiler/rustc_data_structures/src/stack.rs:17
#33 rustc_query_system::query::plumbing::get_query_non_incr<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt> () at compiler/rustc_query_system/src/query/plumbing.rs:801
#34 rustc_query_impl::query_impl::def_span::get_query_non_incr::__rust_end_short_backtrace () at compiler/rustc_query_impl/src/plumbing.rs:597
#35 0x00007ffff5d70913 in rustc_middle::query::plumbing::query_get_at<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>> () at compiler/rustc_middle/src/query/plumbing.rs:145
#36 0x00007ffff47fb932 in rustc_query_impl::plumbing::create_query_frame<rustc_span::def_id::LocalDefId> () at compiler/rustc_query_impl/src/plumbing.rs:333
#37 0x00007ffff47497ac in rustc_query_impl::query_impl::local_def_id_to_hir_id::try_collect_active_jobs::{closure#0} () at compiler/rustc_query_impl/src/plumbing.rs:700
#38 core::ops::function::FnOnce::call_once<rustc_query_impl::query_impl::local_def_id_to_hir_id::try_collect_active_jobs::{closure_env#0}, (rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId)> () at library/core/src/ops/function.rs:250
#39 0x00007ffff4874fd4 in rustc_query_system::query::plumbing::QueryState::try_collect_active_jobs<rustc_span::def_id::LocalDefId, rustc_middle::ty::context::TyCtxt> () at compiler/rustc_query_system/src/query/plumbing.rs:89
#40 0x00007ffff474a00d in rustc_query_impl::query_impl::local_def_id_to_hir_id::try_collect_active_jobs () at compiler/rustc_query_impl/src/plumbing.rs:702
#41 0x00007ffff46c2b46 in rustc_query_impl::plumbing::{impl#3}::collect_active_jobs () at compiler/rustc_query_impl/src/plumbing.rs:85
#42 0x00007ffff2aa2da1 in rustc_query_system::query::plumbing::cycle_error<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt> () at compiler/rustc_query_system/src/query/plumbing.rs:253
#43 0x00007ffff492455d in rustc_query_system::query::plumbing::try_execute_query<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, false> () at compiler/rustc_query_system/src/query/plumbing.rs:370
#44 0x00007ffff4749ee4 in rustc_query_system::query::plumbing::get_query_non_incr::{closure#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt> () at compiler/rustc_query_system/src/query/plumbing.rs:801
#45 stacker::maybe_grow<rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::query::plumbing::get_query_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>> () at /home/jistone/.cargo/registry/src/index.crates.io-6f17d22bba15001f/stacker-0.1.15/src/lib.rs:55
#46 rustc_data_structures::stack::ensure_sufficient_stack<rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::query::plumbing::get_query_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>> () at compiler/rustc_data_structures/src/stack.rs:17
#47 rustc_query_system::query::plumbing::get_query_non_incr<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt> () at compiler/rustc_query_system/src/query/plumbing.rs:801
#48 rustc_query_impl::query_impl::local_def_id_to_hir_id::get_query_non_incr::__rust_end_short_backtrace () at compiler/rustc_query_impl/src/plumbing.rs:597
#49 0x00007ffff5d5ecea in rustc_middle::query::plumbing::query_get_at<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>> () at compiler/rustc_middle/src/query/plumbing.rs:145
#50 0x00007ffff5d5dee1 in rustc_middle::query::plumbing::TyCtxtAt::local_def_id_to_hir_id<rustc_span::def_id::LocalDefId> () at compiler/rustc_middle/src/query/plumbing.rs:423
#51 rustc_middle::ty::context::TyCtxt::local_def_id_to_hir_id<rustc_span::def_id::LocalDefId> () at compiler/rustc_middle/src/query/plumbing.rs:414
#52 rustc_middle::hir::provide::{closure#4} () at compiler/rustc_middle/src/hir/mod.rs:190
#53 core::ops::function::FnOnce::call_once<rustc_middle::hir::provide::{closure_env#4}, (rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId)> () at library/core/src/ops/function.rs:250
#54 0x00007ffff484556b in rustc_query_impl::query_impl::def_span::dynamic_query::{closure#2}::{closure#0} () at compiler/rustc_query_impl/src/plumbing.rs:285
#55 rustc_query_impl::plumbing::__rust_begin_short_backtrace<rustc_query_impl::query_impl::def_span::dynamic_query::{closure#2}::{closure_env#0}, rustc_middle::query::erase::Erased<[u8; 8]>> () at compiler/rustc_query_impl/src/plumbing.rs:547
#56 0x00007ffff456ecce in rustc_query_impl::query_impl::def_span::dynamic_query::{closure#2} () at compiler/rustc_query_impl/src/plumbing.rs:619
#57 core::ops::function::FnOnce::call_once<rustc_query_impl::query_impl::def_span::dynamic_query::{closure_env#2}, (rustc_middle::ty::context::TyCtxt, rustc_span::def_id::DefId)> () at library/core/src/ops/function.rs:250
#58 0x00007ffff49ac1e2 in rustc_query_impl::{impl#2}::compute<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false> () at compiler/rustc_query_impl/src/lib.rs:111
#59 rustc_query_system::query::plumbing::execute_job_non_incr::{closure#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt> () at compiler/rustc_query_system/src/query/plumbing.rs:470
#60 rustc_middle::ty::context::tls::enter_context::{closure#0}<rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>, rustc_middle::query::erase::Erased<[u8; 8]>> () at compiler/rustc_middle/src/ty/context/tls.rs:82
#61 std::thread::local::LocalKey::try_with<core::cell::Cell<*const ()>, rustc_middle::ty::context::tls::enter_context::{closure_env#0}<rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>, rustc_middle::query::erase::Erased<[u8; 8]>>, rustc_middle::query::erase::Erased<[u8; 8]>> () at library/std/src/thread/local.rs:286
#62 std::thread::local::LocalKey::with<core::cell::Cell<*const ()>, rustc_middle::ty::context::tls::enter_context::{closure_env#0}<rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>, rustc_middle::query::erase::Erased<[u8; 8]>>, rustc_middle::query::erase::Erased<[u8; 8]>> () at library/std/src/thread/local.rs:262
#63 0x00007ffff48a36ea in rustc_middle::ty::context::tls::enter_context<rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>, rustc_middle::query::erase::Erased<[u8; 8]>> () at compiler/rustc_middle/src/ty/context/tls.rs:79
#64 rustc_query_impl::plumbing::{impl#3}::start_query::{closure#0}<rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>> () at compiler/rustc_query_impl/src/plumbing.rs:149
#65 rustc_middle::ty::context::tls::with_related_context::{closure#0}<rustc_query_impl::plumbing::{impl#3}::start_query::{closure_env#0}<rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>, rustc_middle::query::erase::Erased<[u8; 8]>> () at compiler/rustc_middle/src/ty/context/tls.rs:134
#66 rustc_middle::ty::context::tls::with_context::{closure#0}<rustc_middle::ty::context::tls::with_related_context::{closure_env#0}<rustc_query_impl::plumbing::{impl#3}::start_query::{closure_env#0}<rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>, rustc_middle::query::erase::Erased<[u8; 8]>>, rustc_middle::query::erase::Erased<[u8; 8]>> () at compiler/rustc_middle/src/ty/context/tls.rs:112
#67 rustc_middle::ty::context::tls::with_context_opt<rustc_middle::ty::context::tls::with_context::{closure_env#0}<rustc_middle::ty::context::tls::with_related_context::{closure_env#0}<rustc_query_impl::plumbing::{impl#3}::start_query::{closure_env#0}<rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>, rustc_middle::query::erase::Erased<[u8; 8]>>, rustc_middle::query::erase::Erased<[u8; 8]>>, rustc_middle::query::erase::Erased<[u8; 8]>> () at compiler/rustc_middle/src/ty/context/tls.rs:101
#68 rustc_middle::ty::context::tls::with_context<rustc_middle::ty::context::tls::with_related_context::{closure_env#0}<rustc_query_impl::plumbing::{impl#3}::start_query::{closure_env#0}<rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>, rustc_middle::query::erase::Erased<[u8; 8]>>, rustc_middle::query::erase::Erased<[u8; 8]>> () at compiler/rustc_middle/src/ty/context/tls.rs:112
#69 rustc_middle::ty::context::tls::with_related_context<rustc_query_impl::plumbing::{impl#3}::start_query::{closure_env#0}<rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>, rustc_middle::query::erase::Erased<[u8; 8]>> () at compiler/rustc_middle/src/ty/context/tls.rs:125
#70 rustc_query_impl::plumbing::{impl#3}::start_query<rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>> () at compiler/rustc_query_impl/src/plumbing.rs:134
#71 rustc_query_system::query::plumbing::execute_job_non_incr<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt> () at compiler/rustc_query_system/src/query/plumbing.rs:470
#72 rustc_query_system::query::plumbing::execute_job<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, false> () at compiler/rustc_query_system/src/query/plumbing.rs:406
#73 rustc_query_system::query::plumbing::try_execute_query<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, false> () at compiler/rustc_query_system/src/query/plumbing.rs:349
#74 0x00007ffff456fa34 in rustc_query_system::query::plumbing::get_query_non_incr::{closure#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt> () at compiler/rustc_query_system/src/query/plumbing.rs:801
#75 stacker::maybe_grow<rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::query::plumbing::get_query_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>> () at /home/jistone/.cargo/registry/src/index.crates.io-6f17d22bba15001f/stacker-0.1.15/src/lib.rs:55
#76 rustc_data_structures::stack::ensure_sufficient_stack<rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::query::plumbing::get_query_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>> () at compiler/rustc_data_structures/src/stack.rs:17
#77 rustc_query_system::query::plumbing::get_query_non_incr<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt> () at compiler/rustc_query_system/src/query/plumbing.rs:801
#78 rustc_query_impl::query_impl::def_span::get_query_non_incr::__rust_end_short_backtrace () at compiler/rustc_query_impl/src/plumbing.rs:597
#79 0x00007ffff5d70913 in rustc_middle::query::plumbing::query_get_at<rustc_query_system::query::caches::DefIdCache<rustc_middle::query::erase::Erased<[u8; 8]>>> () at compiler/rustc_middle/src/query/plumbing.rs:145
#80 0x00007ffff47fb932 in rustc_query_impl::plumbing::create_query_frame<rustc_span::def_id::LocalDefId> () at compiler/rustc_query_impl/src/plumbing.rs:333
#81 0x00007ffff47497ac in rustc_query_impl::query_impl::local_def_id_to_hir_id::try_collect_active_jobs::{closure#0} () at compiler/rustc_query_impl/src/plumbing.rs:700
#82 core::ops::function::FnOnce::call_once<rustc_query_impl::query_impl::local_def_id_to_hir_id::try_collect_active_jobs::{closure_env#0}, (rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId)> () at library/core/src/ops/function.rs:250
#83 0x00007ffff4874fd4 in rustc_query_system::query::plumbing::QueryState::try_collect_active_jobs<rustc_span::def_id::LocalDefId, rustc_middle::ty::context::TyCtxt> () at compiler/rustc_query_system/src/query/plumbing.rs:89
#84 0x00007ffff474a00d in rustc_query_impl::query_impl::local_def_id_to_hir_id::try_collect_active_jobs () at compiler/rustc_query_impl/src/plumbing.rs:702
#85 0x00007ffff46c2b46 in rustc_query_impl::plumbing::{impl#3}::collect_active_jobs () at compiler/rustc_query_impl/src/plumbing.rs:85
#86 0x00007ffff2a9eb21 in rustc_query_system::query::plumbing::cycle_error<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 16]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt> () at compiler/rustc_query_system/src/query/plumbing.rs:253
#87 0x00007ffff48a8ba6 in rustc_query_system::query::plumbing::try_execute_query<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 16]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, false> () at compiler/rustc_query_system/src/query/plumbing.rs:370
#88 0x00007ffff46b78ec in rustc_query_system::query::plumbing::get_query_non_incr::{closure#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 16]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt> () at compiler/rustc_query_system/src/query/plumbing.rs:801
#89 stacker::maybe_grow<rustc_middle::query::erase::Erased<[u8; 16]>, rustc_query_system::query::plumbing::get_query_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 16]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>> () at /home/jistone/.cargo/registry/src/index.crates.io-6f17d22bba15001f/stacker-0.1.15/src/lib.rs:55
#90 rustc_data_structures::stack::ensure_sufficient_stack<rustc_middle::query::erase::Erased<[u8; 16]>, rustc_query_system::query::plumbing::get_query_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 16]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>> () at compiler/rustc_data_structures/src/stack.rs:17
#91 rustc_query_system::query::plumbing::get_query_non_incr<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 16]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt> () at compiler/rustc_query_system/src/query/plumbing.rs:801
#92 rustc_query_impl::query_impl::resolver_for_lowering_raw::get_query_non_incr::__rust_end_short_backtrace () at compiler/rustc_query_impl/src/plumbing.rs:597
#93 0x00007ffff5ca0393 in rustc_middle::query::plumbing::query_get_at<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 16]>>> () at compiler/rustc_middle/src/query/plumbing.rs:145
#94 rustc_middle::query::plumbing::TyCtxtAt::resolver_for_lowering_raw () at compiler/rustc_middle/src/query/plumbing.rs:423
#95 rustc_middle::ty::context::TyCtxt::resolver_for_lowering_raw () at compiler/rustc_middle/src/query/plumbing.rs:414
#96 rustc_middle::ty::context::TyCtxt::resolver_for_lowering () at compiler/rustc_middle/src/ty/context.rs:2665
#97 0x00007ffff2f491e8 in rustc_interface::passes::early_lint_checks () at compiler/rustc_interface/src/passes.rs:283
#98 0x00007ffff482e777 in rustc_query_impl::query_impl::early_lint_checks::dynamic_query::{closure#2}::{closure#0} () at compiler/rustc_query_impl/src/plumbing.rs:281
#99 rustc_query_impl::plumbing::__rust_begin_short_backtrace<rustc_query_impl::query_impl::early_lint_checks::dynamic_query::{closure#2}::{closure_env#0}, rustc_middle::query::erase::Erased<[u8; 0]>> () at compiler/rustc_query_impl/src/plumbing.rs:547
#100 0x00007ffff4617b68 in rustc_query_impl::query_impl::early_lint_checks::dynamic_query::{closure#2} () at compiler/rustc_query_impl/src/plumbing.rs:619
#101 core::ops::function::FnOnce::call_once<rustc_query_impl::query_impl::early_lint_checks::dynamic_query::{closure_env#2}, (rustc_middle::ty::context::TyCtxt, ())> () at library/core/src/ops/function.rs:250
#102 0x00007ffff49ac337 in rustc_query_impl::{impl#2}::compute<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 0]>>, false, false, false> () at compiler/rustc_query_impl/src/lib.rs:111
#103 rustc_query_system::query::plumbing::execute_job_non_incr::{closure#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 0]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt> () at compiler/rustc_query_system/src/query/plumbing.rs:470
#104 rustc_middle::ty::context::tls::enter_context::{closure#0}<rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 0]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>, rustc_middle::query::erase::Erased<[u8; 0]>> () at compiler/rustc_middle/src/ty/context/tls.rs:82
#105 std::thread::local::LocalKey::try_with<core::cell::Cell<*const ()>, rustc_middle::ty::context::tls::enter_context::{closure_env#0}<rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 0]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>, rustc_middle::query::erase::Erased<[u8; 0]>>, rustc_middle::query::erase::Erased<[u8; 0]>> () at library/std/src/thread/local.rs:286
#106 std::thread::local::LocalKey::with<core::cell::Cell<*const ()>, rustc_middle::ty::context::tls::enter_context::{closure_env#0}<rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 0]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>, rustc_middle::query::erase::Erased<[u8; 0]>>, rustc_middle::query::erase::Erased<[u8; 0]>> () at library/std/src/thread/local.rs:262
#107 0x00007ffff48a7344 in rustc_middle::ty::context::tls::enter_context<rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 0]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>, rustc_middle::query::erase::Erased<[u8; 0]>> () at compiler/rustc_middle/src/ty/context/tls.rs:79
#108 rustc_query_impl::plumbing::{impl#3}::start_query::{closure#0}<rustc_middle::query::erase::Erased<[u8; 0]>, rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 0]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>> () at compiler/rustc_query_impl/src/plumbing.rs:149
#109 rustc_middle::ty::context::tls::with_related_context::{closure#0}<rustc_query_impl::plumbing::{impl#3}::start_query::{closure_env#0}<rustc_middle::query::erase::Erased<[u8; 0]>, rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 0]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>, rustc_middle::query::erase::Erased<[u8; 0]>> () at compiler/rustc_middle/src/ty/context/tls.rs:134
#110 rustc_middle::ty::context::tls::with_context::{closure#0}<rustc_middle::ty::context::tls::with_related_context::{closure_env#0}<rustc_query_impl::plumbing::{impl#3}::start_query::{closure_env#0}<rustc_middle::query::erase::Erased<[u8; 0]>, rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 0]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>, rustc_middle::query::erase::Erased<[u8; 0]>>, rustc_middle::query::erase::Erased<[u8; 0]>> () at compiler/rustc_middle/src/ty/context/tls.rs:112
#111 rustc_middle::ty::context::tls::with_context_opt<rustc_middle::ty::context::tls::with_context::{closure_env#0}<rustc_middle::ty::context::tls::with_related_context::{closure_env#0}<rustc_query_impl::plumbing::{impl#3}::start_query::{closure_env#0}<rustc_middle::query::erase::Erased<[u8; 0]>, rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 0]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>, rustc_middle::query::erase::Erased<[u8; 0]>>, rustc_middle::query::erase::Erased<[u8; 0]>>, rustc_middle::query::erase::Erased<[u8; 0]>> () at compiler/rustc_middle/src/ty/context/tls.rs:101
#112 rustc_middle::ty::context::tls::with_context<rustc_middle::ty::context::tls::with_related_context::{closure_env#0}<rustc_query_impl::plumbing::{impl#3}::start_query::{closure_env#0}<rustc_middle::query::erase::Erased<[u8; 0]>, rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 0]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>, rustc_middle::query::erase::Erased<[u8; 0]>>, rustc_middle::query::erase::Erased<[u8; 0]>> () at compiler/rustc_middle/src/ty/context/tls.rs:112
#113 rustc_middle::ty::context::tls::with_related_context<rustc_query_impl::plumbing::{impl#3}::start_query::{closure_env#0}<rustc_middle::query::erase::Erased<[u8; 0]>, rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 0]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>, rustc_middle::query::erase::Erased<[u8; 0]>> () at compiler/rustc_middle/src/ty/context/tls.rs:125
#114 rustc_query_impl::plumbing::{impl#3}::start_query<rustc_middle::query::erase::Erased<[u8; 0]>, rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 0]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>> () at compiler/rustc_query_impl/src/plumbing.rs:134
#115 rustc_query_system::query::plumbing::execute_job_non_incr<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 0]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt> () at compiler/rustc_query_system/src/query/plumbing.rs:470
#116 rustc_query_system::query::plumbing::execute_job<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 0]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, false> () at compiler/rustc_query_system/src/query/plumbing.rs:406
#117 rustc_query_system::query::plumbing::try_execute_query<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 0]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, false> () at compiler/rustc_query_system/src/query/plumbing.rs:349
#118 0x00007ffff4618c9c in rustc_query_system::query::plumbing::get_query_non_incr::{closure#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 0]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt> () at compiler/rustc_query_system/src/query/plumbing.rs:801
#119 stacker::maybe_grow<rustc_middle::query::erase::Erased<[u8; 0]>, rustc_query_system::query::plumbing::get_query_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 0]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>> () at /home/jistone/.cargo/registry/src/index.crates.io-6f17d22bba15001f/stacker-0.1.15/src/lib.rs:55
#120 rustc_data_structures::stack::ensure_sufficient_stack<rustc_middle::query::erase::Erased<[u8; 0]>, rustc_query_system::query::plumbing::get_query_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 0]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>> () at compiler/rustc_data_structures/src/stack.rs:17
#121 rustc_query_system::query::plumbing::get_query_non_incr<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 0]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt> () at compiler/rustc_query_system/src/query/plumbing.rs:801
#122 rustc_query_impl::query_impl::early_lint_checks::get_query_non_incr::__rust_end_short_backtrace () at compiler/rustc_query_impl/src/plumbing.rs:597
#123 0x00007ffff3f57522 in rustc_middle::query::plumbing::query_ensure<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 0]>>> () at compiler/rustc_middle/src/query/plumbing.rs:161
#124 rustc_middle::query::plumbing::TyCtxtEnsureWithValue::early_lint_checks () at compiler/rustc_middle/src/query/plumbing.rs:398
#125 rustc_ast_lowering::lower_to_hir () at compiler/rustc_ast_lowering/src/lib.rs:426
#126 0x00007ffff48465b6 in rustc_query_impl::query_impl::hir_crate::dynamic_query::{closure#2}::{closure#0} () at compiler/rustc_query_impl/src/plumbing.rs:281
#127 rustc_query_impl::plumbing::__rust_begin_short_backtrace<rustc_query_impl::query_impl::hir_crate::dynamic_query::{closure#2}::{closure_env#0}, rustc_middle::query::erase::Erased<[u8; 8]>> () at compiler/rustc_query_impl/src/plumbing.rs:547
#128 0x00007ffff49e81f8 in rustc_query_impl::query_impl::hir_crate::dynamic_query::{closure#2} () at compiler/rustc_query_impl/src/plumbing.rs:619
#129 core::ops::function::FnOnce::call_once<rustc_query_impl::query_impl::hir_crate::dynamic_query::{closure_env#2}, (rustc_middle::ty::context::TyCtxt, ())> () at library/core/src/ops/function.rs:250
#130 0x00007ffff49ac647 in rustc_query_impl::{impl#2}::compute<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false> () at compiler/rustc_query_impl/src/lib.rs:111
#131 rustc_query_system::query::plumbing::execute_job_non_incr::{closure#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt> () at compiler/rustc_query_system/src/query/plumbing.rs:470
#132 rustc_middle::ty::context::tls::enter_context::{closure#0}<rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>, rustc_middle::query::erase::Erased<[u8; 8]>> () at compiler/rustc_middle/src/ty/context/tls.rs:82
#133 std::thread::local::LocalKey::try_with<core::cell::Cell<*const ()>, rustc_middle::ty::context::tls::enter_context::{closure_env#0}<rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>, rustc_middle::query::erase::Erased<[u8; 8]>>, rustc_middle::query::erase::Erased<[u8; 8]>> () at library/std/src/thread/local.rs:286
#134 std::thread::local::LocalKey::with<core::cell::Cell<*const ()>, rustc_middle::ty::context::tls::enter_context::{closure_env#0}<rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>, rustc_middle::query::erase::Erased<[u8; 8]>>, rustc_middle::query::erase::Erased<[u8; 8]>> () at library/std/src/thread/local.rs:262
#135 0x00007ffff48adf36 in rustc_middle::ty::context::tls::enter_context<rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>, rustc_middle::query::erase::Erased<[u8; 8]>> () at compiler/rustc_middle/src/ty/context/tls.rs:79
#136 rustc_query_impl::plumbing::{impl#3}::start_query::{closure#0}<rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>> () at compiler/rustc_query_impl/src/plumbing.rs:149
#137 rustc_middle::ty::context::tls::with_related_context::{closure#0}<rustc_query_impl::plumbing::{impl#3}::start_query::{closure_env#0}<rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>, rustc_middle::query::erase::Erased<[u8; 8]>> () at compiler/rustc_middle/src/ty/context/tls.rs:134
#138 rustc_middle::ty::context::tls::with_context::{closure#0}<rustc_middle::ty::context::tls::with_related_context::{closure_env#0}<rustc_query_impl::plumbing::{impl#3}::start_query::{closure_env#0}<rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>, rustc_middle::query::erase::Erased<[u8; 8]>>, rustc_middle::query::erase::Erased<[u8; 8]>> () at compiler/rustc_middle/src/ty/context/tls.rs:112
#139 rustc_middle::ty::context::tls::with_context_opt<rustc_middle::ty::context::tls::with_context::{closure_env#0}<rustc_middle::ty::context::tls::with_related_context::{closure_env#0}<rustc_query_impl::plumbing::{impl#3}::start_query::{closure_env#0}<rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>, rustc_middle::query::erase::Erased<[u8; 8]>>, rustc_middle::query::erase::Erased<[u8; 8]>>, rustc_middle::query::erase::Erased<[u8; 8]>> () at compiler/rustc_middle/src/ty/context/tls.rs:101
#140 rustc_middle::ty::context::tls::with_context<rustc_middle::ty::context::tls::with_related_context::{closure_env#0}<rustc_query_impl::plumbing::{impl#3}::start_query::{closure_env#0}<rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>, rustc_middle::query::erase::Erased<[u8; 8]>>, rustc_middle::query::erase::Erased<[u8; 8]>> () at compiler/rustc_middle/src/ty/context/tls.rs:112
#141 rustc_middle::ty::context::tls::with_related_context<rustc_query_impl::plumbing::{impl#3}::start_query::{closure_env#0}<rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>, rustc_middle::query::erase::Erased<[u8; 8]>> () at compiler/rustc_middle/src/ty/context/tls.rs:125
#142 rustc_query_impl::plumbing::{impl#3}::start_query<rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>> () at compiler/rustc_query_impl/src/plumbing.rs:134
#143 rustc_query_system::query::plumbing::execute_job_non_incr<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt> () at compiler/rustc_query_system/src/query/plumbing.rs:470
#144 rustc_query_system::query::plumbing::execute_job<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, false> () at compiler/rustc_query_system/src/query/plumbing.rs:406
#145 rustc_query_system::query::plumbing::try_execute_query<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, false> () at compiler/rustc_query_system/src/query/plumbing.rs:349
#146 0x00007ffff45f9209 in rustc_query_system::query::plumbing::get_query_non_incr::{closure#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt> () at compiler/rustc_query_system/src/query/plumbing.rs:801
#147 stacker::maybe_grow<rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::query::plumbing::get_query_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>> () at /home/jistone/.cargo/registry/src/index.crates.io-6f17d22bba15001f/stacker-0.1.15/src/lib.rs:55
#148 rustc_data_structures::stack::ensure_sufficient_stack<rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::query::plumbing::get_query_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>> () at compiler/rustc_data_structures/src/stack.rs:17
#149 rustc_query_system::query::plumbing::get_query_non_incr<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt> () at compiler/rustc_query_system/src/query/plumbing.rs:801
#150 rustc_query_impl::query_impl::hir_crate::get_query_non_incr::__rust_end_short_backtrace () at compiler/rustc_query_impl/src/plumbing.rs:597
#151 0x00007ffff5d5d6e6 in rustc_middle::query::plumbing::query_get_at<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 8]>>> () at compiler/rustc_middle/src/query/plumbing.rs:145
#152 rustc_middle::query::plumbing::TyCtxtAt::hir_crate () at compiler/rustc_middle/src/query/plumbing.rs:423
#153 rustc_middle::ty::context::TyCtxt::hir_crate () at compiler/rustc_middle/src/query/plumbing.rs:414
#154 rustc_middle::hir::provide::{closure#0} () at compiler/rustc_middle/src/hir/mod.rs:166
#155 core::ops::function::FnOnce::call_once<rustc_middle::hir::provide::{closure_env#0}, (rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId)> () at library/core/src/ops/function.rs:250
#156 0x00007ffff48386b9 in rustc_query_impl::query_impl::local_def_id_to_hir_id::dynamic_query::{closure#2}::{closure#0} () at compiler/rustc_query_impl/src/plumbing.rs:281
#157 rustc_query_impl::plumbing::__rust_begin_short_backtrace<rustc_query_impl::query_impl::local_def_id_to_hir_id::dynamic_query::{closure#2}::{closure_env#0}, rustc_middle::query::erase::Erased<[u8; 8]>> () at compiler/rustc_query_impl/src/plumbing.rs:547
#158 0x00007ffff47494cb in rustc_query_impl::query_impl::local_def_id_to_hir_id::dynamic_query::{closure#2} () at compiler/rustc_query_impl/src/plumbing.rs:619
#159 core::ops::function::FnOnce::call_once<rustc_query_impl::query_impl::local_def_id_to_hir_id::dynamic_query::{closure_env#2}, (rustc_middle::ty::context::TyCtxt, rustc_span::def_id::LocalDefId)> () at library/core/src/ops/function.rs:250
#160 0x00007ffff49af4ce in rustc_query_impl::{impl#2}::compute<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false> () at compiler/rustc_query_impl/src/lib.rs:111
#161 rustc_query_system::query::plumbing::execute_job_non_incr::{closure#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt> () at compiler/rustc_query_system/src/query/plumbing.rs:470
#162 rustc_middle::ty::context::tls::enter_context::{closure#0}<rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>, rustc_middle::query::erase::Erased<[u8; 8]>> () at compiler/rustc_middle/src/ty/context/tls.rs:82
#163 std::thread::local::LocalKey::try_with<core::cell::Cell<*const ()>, rustc_middle::ty::context::tls::enter_context::{closure_env#0}<rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>, rustc_middle::query::erase::Erased<[u8; 8]>>, rustc_middle::query::erase::Erased<[u8; 8]>> () at library/std/src/thread/local.rs:286
#164 std::thread::local::LocalKey::with<core::cell::Cell<*const ()>, rustc_middle::ty::context::tls::enter_context::{closure_env#0}<rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>, rustc_middle::query::erase::Erased<[u8; 8]>>, rustc_middle::query::erase::Erased<[u8; 8]>> () at library/std/src/thread/local.rs:262
#165 0x00007ffff492412c in rustc_middle::ty::context::tls::enter_context<rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>, rustc_middle::query::erase::Erased<[u8; 8]>> () at compiler/rustc_middle/src/ty/context/tls.rs:79
#166 rustc_query_impl::plumbing::{impl#3}::start_query::{closure#0}<rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>> () at compiler/rustc_query_impl/src/plumbing.rs:149
#167 rustc_middle::ty::context::tls::with_related_context::{closure#0}<rustc_query_impl::plumbing::{impl#3}::start_query::{closure_env#0}<rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>, rustc_middle::query::erase::Erased<[u8; 8]>> () at compiler/rustc_middle/src/ty/context/tls.rs:134
#168 rustc_middle::ty::context::tls::with_context::{closure#0}<rustc_middle::ty::context::tls::with_related_context::{closure_env#0}<rustc_query_impl::plumbing::{impl#3}::start_query::{closure_env#0}<rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>, rustc_middle::query::erase::Erased<[u8; 8]>>, rustc_middle::query::erase::Erased<[u8; 8]>> () at compiler/rustc_middle/src/ty/context/tls.rs:112
#169 rustc_middle::ty::context::tls::with_context_opt<rustc_middle::ty::context::tls::with_context::{closure_env#0}<rustc_middle::ty::context::tls::with_related_context::{closure_env#0}<rustc_query_impl::plumbing::{impl#3}::start_query::{closure_env#0}<rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>, rustc_middle::query::erase::Erased<[u8; 8]>>, rustc_middle::query::erase::Erased<[u8; 8]>>, rustc_middle::query::erase::Erased<[u8; 8]>> () at compiler/rustc_middle/src/ty/context/tls.rs:101
#170 rustc_middle::ty::context::tls::with_context<rustc_middle::ty::context::tls::with_related_context::{closure_env#0}<rustc_query_impl::plumbing::{impl#3}::start_query::{closure_env#0}<rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>, rustc_middle::query::erase::Erased<[u8; 8]>>, rustc_middle::query::erase::Erased<[u8; 8]>> () at compiler/rustc_middle/src/ty/context/tls.rs:112
#171 rustc_middle::ty::context::tls::with_related_context<rustc_query_impl::plumbing::{impl#3}::start_query::{closure_env#0}<rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>, rustc_middle::query::erase::Erased<[u8; 8]>> () at compiler/rustc_middle/src/ty/context/tls.rs:125
#172 rustc_query_impl::plumbing::{impl#3}::start_query<rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>> () at compiler/rustc_query_impl/src/plumbing.rs:134
#173 rustc_query_system::query::plumbing::execute_job_non_incr<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt> () at compiler/rustc_query_system/src/query/plumbing.rs:470
#174 rustc_query_system::query::plumbing::execute_job<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, false> () at compiler/rustc_query_system/src/query/plumbing.rs:406
#175 rustc_query_system::query::plumbing::try_execute_query<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, false> () at compiler/rustc_query_system/src/query/plumbing.rs:349
#176 0x00007ffff4749ee4 in rustc_query_system::query::plumbing::get_query_non_incr::{closure#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt> () at compiler/rustc_query_system/src/query/plumbing.rs:801
#177 stacker::maybe_grow<rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::query::plumbing::get_query_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>> () at /home/jistone/.cargo/registry/src/index.crates.io-6f17d22bba15001f/stacker-0.1.15/src/lib.rs:55
#178 rustc_data_structures::stack::ensure_sufficient_stack<rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::query::plumbing::get_query_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>> () at compiler/rustc_data_structures/src/stack.rs:17
#179 rustc_query_system::query::plumbing::get_query_non_incr<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt> () at compiler/rustc_query_system/src/query/plumbing.rs:801
#180 rustc_query_impl::query_impl::local_def_id_to_hir_id::get_query_non_incr::__rust_end_short_backtrace () at compiler/rustc_query_impl/src/plumbing.rs:597
#181 0x00007ffff42691ba in rustc_middle::query::plumbing::query_get_at<rustc_query_system::query::caches::VecCache<rustc_span::def_id::LocalDefId, rustc_middle::query::erase::Erased<[u8; 8]>>> () at compiler/rustc_middle/src/query/plumbing.rs:145
#182 rustc_middle::query::plumbing::TyCtxtAt::local_def_id_to_hir_id<rustc_span::def_id::LocalDefId> () at compiler/rustc_middle/src/query/plumbing.rs:423
#183 rustc_middle::ty::context::TyCtxt::local_def_id_to_hir_id<rustc_span::def_id::LocalDefId> () at compiler/rustc_middle/src/query/plumbing.rs:414
#184 rustc_middle::ty::context::TyCtxt::get_attrs<rustc_span::def_id::DefId> () at compiler/rustc_middle/src/ty/mod.rs:1831
#185 0x00007ffff412ff02 in rustc_resolve::late::diagnostics::{impl#2}::suggest_alternative_construction_methods::{closure#8} () at compiler/rustc_resolve/src/late/diagnostics.rs:1904
#186 core::iter::traits::iterator::Iterator::find::check::{closure#0}<rustc_span::def_id::DefId, rustc_resolve::late::diagnostics::{impl#2}::suggest_alternative_construction_methods::{closure_env#8}> () at library/core/src/iter/traits/iterator.rs:2876
#187 core::iter::adapters::filter_map::filter_map_try_fold::{closure#0}<&rustc_resolve::diagnostics::ImportSuggestion, rustc_span::def_id::DefId, (), core::ops::control_flow::ControlFlow<rustc_span::def_id::DefId, ()>, rustc_resolve::late::diagnostics::{impl#2}::suggest_alternative_construction_methods::{closure_env#7}, core::iter::traits::iterator::Iterator::find::check::{closure_env#0}<rustc_span::def_id::DefId, rustc_resolve::late::diagnostics::{impl#2}::suggest_alternative_construction_methods::{closure_env#8}>> () at library/core/src/iter/adapters/filter_map.rs:50
#188 core::iter::traits::iterator::Iterator::try_fold<core::slice::iter::Iter<rustc_resolve::diagnostics::ImportSuggestion>, (), core::iter::adapters::filter_map::filter_map_try_fold::{closure_env#0}<&rustc_resolve::diagnostics::ImportSuggestion, rustc_span::def_id::DefId, (), core::ops::control_flow::ControlFlow<rustc_span::def_id::DefId, ()>, rustc_resolve::late::diagnostics::{impl#2}::suggest_alternative_construction_methods::{closure_env#7}, core::iter::traits::iterator::Iterator::find::check::{closure_env#0}<rustc_span::def_id::DefId, rustc_resolve::late::diagnostics::{impl#2}::suggest_alternative_construction_methods::{closure_env#8}>>, core::ops::control_flow::ControlFlow<rustc_span::def_id::DefId, ()>> () at library/core/src/iter/traits/iterator.rs:2411
#189 core::iter::adapters::filter_map::{impl#2}::try_fold<rustc_span::def_id::DefId, core::slice::iter::Iter<rustc_resolve::diagnostics::ImportSuggestion>, rustc_resolve::late::diagnostics::{impl#2}::suggest_alternative_construction_methods::{closure_env#7}, (), core::iter::traits::iterator::Iterator::find::check::{closure_env#0}<rustc_span::def_id::DefId, rustc_resolve::late::diagnostics::{impl#2}::suggest_alternative_construction_methods::{closure_env#8}>, core::ops::control_flow::ControlFlow<rustc_span::def_id::DefId, ()>> () at library/core/src/iter/adapters/filter_map.rs:140
#190 core::iter::traits::iterator::Iterator::find<core::iter::adapters::filter_map::FilterMap<core::slice::iter::Iter<rustc_resolve::diagnostics::ImportSuggestion>, rustc_resolve::late::diagnostics::{impl#2}::suggest_alternative_construction_methods::{closure_env#7}>, rustc_resolve::late::diagnostics::{impl#2}::suggest_alternative_construction_methods::{closure_env#8}> () at library/core/src/iter/traits/iterator.rs:2880
#191 rustc_resolve::late::LateResolutionVisitor::suggest_alternative_construction_methods () at compiler/rustc_resolve/src/late/diagnostics.rs:1893
#192 0x00007ffff412d031 in rustc_resolve::late::LateResolutionVisitor::smart_resolve_context_dependent_help () at compiler/rustc_resolve/src/late/diagnostics.rs:1716
#193 rustc_resolve::late::LateResolutionVisitor::try_lookup_name_relaxed () at compiler/rustc_resolve/src/late/diagnostics.rs:736
#194 rustc_resolve::late::LateResolutionVisitor::smart_resolve_report_errors () at compiler/rustc_resolve/src/late/diagnostics.rs:453
#195 0x00007ffff4147a61 in rustc_resolve::late::{impl#11}::smart_resolve_path_fragment::{closure#0} () at compiler/rustc_resolve/src/late.rs:3785
#196 0x00007ffff4146dc9 in rustc_resolve::late::LateResolutionVisitor::smart_resolve_path_fragment () at compiler/rustc_resolve/src/late.rs:3961
#197 0x00007ffff413ee5d in rustc_resolve::late::LateResolutionVisitor::smart_resolve_path () at compiler/rustc_resolve/src/late.rs:3761
#198 0x00007ffff413fb12 in rustc_resolve::late::LateResolutionVisitor::resolve_expr () at compiler/rustc_resolve/src/late.rs:4366
#199 0x00007ffff413fcbc in rustc_resolve::late::LateResolutionVisitor::resolve_expr () at compiler/rustc_resolve/src/late.rs:4464
#200 0x00007ffff413651b in rustc_resolve::late::{impl#10}::visit_expr () at compiler/rustc_resolve/src/late.rs:722
#201 rustc_resolve::late::LateResolutionVisitor::resolve_local () at compiler/rustc_resolve/src/late.rs:3289
#202 rustc_resolve::late::{impl#10}::visit_local () at compiler/rustc_resolve/src/late.rs:741
#203 0x00007ffff415bd00 in rustc_ast::visit::walk_stmt<rustc_resolve::late::LateResolutionVisitor> () at compiler/rustc_ast/src/visit.rs:859
#204 0x00007ffff4135977 in rustc_resolve::late::LateResolutionVisitor::resolve_block () at compiler/rustc_resolve/src/late.rs:4283
#205 rustc_resolve::late::{impl#10}::visit_block () at compiler/rustc_resolve/src/late.rs:715
#206 0x00007ffff4164c82 in rustc_resolve::late::{impl#10}::visit_fn::{closure#1}::{closure#0}::{closure#2} () at compiler/rustc_resolve/src/late.rs:998
#207 rustc_resolve::late::LateResolutionVisitor::with_lifetime_rib<(), rustc_resolve::late::{impl#10}::visit_fn::{closure#1}::{closure#0}::{closure_env#2}> () at compiler/rustc_resolve/src/late.rs:1537
#208 rustc_resolve::late::{impl#10}::visit_fn::{closure#1}::{closure#0} () at compiler/rustc_resolve/src/late.rs:996
#209 0x00007ffff4166946 in rustc_resolve::late::LateResolutionVisitor::with_label_rib<rustc_resolve::late::{impl#10}::visit_fn::{closure#1}::{closure_env#0}> () at compiler/rustc_resolve/src/late.rs:2726
#210 rustc_resolve::late::{impl#10}::visit_fn::{closure#1} () at compiler/rustc_resolve/src/late.rs:956
#211 rustc_resolve::late::LateResolutionVisitor::with_rib<(), rustc_resolve::late::{impl#10}::visit_fn::{closure_env#1}> () at compiler/rustc_resolve/src/late.rs:1411
#212 0x00007ffff41372fe in rustc_resolve::late::{impl#10}::visit_fn () at compiler/rustc_resolve/src/late.rs:954
#213 0x00007ffff41c28b8 in rustc_ast::visit::{impl#1}::walk<rustc_resolve::late::LateResolutionVisitor> () at compiler/rustc_ast/src/visit.rs:346
#214 0x00007ffff415b1de in rustc_ast::visit::walk_assoc_item<rustc_resolve::late::LateResolutionVisitor, rustc_ast::ast::ItemKind> () at compiler/rustc_ast/src/visit.rs:832
#215 rustc_ast::visit::walk_item<rustc_resolve::late::LateResolutionVisitor, rustc_ast::ast::ItemKind> () at compiler/rustc_ast/src/visit.rs:415
#216 0x00007ffff4170bdf in rustc_resolve::late::{impl#11}::resolve_item::{closure#1} () at compiler/rustc_resolve/src/late.rs:2391
#217 rustc_resolve::late::LateResolutionVisitor::with_generic_param_rib<rustc_resolve::late::{impl#11}::resolve_item::{closure_env#1}> () at compiler/rustc_resolve/src/late.rs:2702
#218 0x00007ffff413b7fb in rustc_resolve::late::LateResolutionVisitor::resolve_item () at compiler/rustc_resolve/src/late.rs:2383
#219 0x00007ffff418f6e5 in rustc_resolve::late::{impl#10}::visit_item::{closure#0} () at compiler/rustc_resolve/src/late.rs:706
#220 rustc_resolve::late::LateResolutionVisitor::with_lifetime_rib<(), rustc_resolve::late::{impl#10}::visit_item::{closure_env#0}> () at compiler/rustc_resolve/src/late.rs:1537
#221 0x00007ffff41350b4 in rustc_resolve::late::{impl#10}::visit_item () at compiler/rustc_resolve/src/late.rs:706
#222 0x00007ffff4148f62 in rustc_ast::visit::walk_crate<rustc_resolve::late::LateResolutionVisitor> () at compiler/rustc_ast/src/visit.rs:288
#223 0x00007ffff42402fc in rustc_resolve::Resolver::late_resolve_crate () at compiler/rustc_resolve/src/late.rs:4817
#224 0x00007ffff4260042 in rustc_resolve::{impl#21}::resolve_crate::{closure#0}::{closure#4} () at compiler/rustc_resolve/src/lib.rs:1683
#225 rustc_data_structures::profiling::VerboseTimingGuard::run<(), rustc_resolve::{impl#21}::resolve_crate::{closure#0}::{closure_env#4}> () at compiler/rustc_data_structures/src/profiling.rs:754
#226 rustc_session::session::Session::time<(), rustc_resolve::{impl#21}::resolve_crate::{closure#0}::{closure_env#4}> () at compiler/rustc_session/src/utils.rs:16
#227 rustc_resolve::{impl#21}::resolve_crate::{closure#0} () at compiler/rustc_resolve/src/lib.rs:1683
#228 rustc_data_structures::profiling::VerboseTimingGuard::run<(), rustc_resolve::{impl#21}::resolve_crate::{closure_env#0}> () at compiler/rustc_data_structures/src/profiling.rs:754
#229 rustc_session::session::Session::time<(), rustc_resolve::{impl#21}::resolve_crate::{closure_env#0}> () at compiler/rustc_session/src/utils.rs:16
#230 0x00007ffff424cdae in rustc_resolve::Resolver::resolve_crate () at compiler/rustc_resolve/src/lib.rs:1672
#231 0x00007ffff2f4b393 in rustc_interface::passes::configure_and_expand () at compiler/rustc_interface/src/passes.rs:276
#232 rustc_interface::passes::resolver_for_lowering_raw () at compiler/rustc_interface/src/passes.rs:542
#233 0x00007ffff483ef0c in rustc_query_impl::query_impl::resolver_for_lowering_raw::dynamic_query::{closure#2}::{closure#0} () at compiler/rustc_query_impl/src/plumbing.rs:281
#234 rustc_query_impl::plumbing::__rust_begin_short_backtrace<rustc_query_impl::query_impl::resolver_for_lowering_raw::dynamic_query::{closure#2}::{closure_env#0}, rustc_middle::query::erase::Erased<[u8; 16]>> () at compiler/rustc_query_impl/src/plumbing.rs:547
#235 0x00007ffff46b72c6 in rustc_query_impl::query_impl::resolver_for_lowering_raw::dynamic_query::{closure#2} () at compiler/rustc_query_impl/src/plumbing.rs:619
#236 core::ops::function::FnOnce::call_once<rustc_query_impl::query_impl::resolver_for_lowering_raw::dynamic_query::{closure_env#2}, (rustc_middle::ty::context::TyCtxt, ())> () at library/core/src/ops/function.rs:250
#237 0x00007ffff49ac3ce in rustc_query_impl::{impl#2}::compute<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 16]>>, false, false, false> () at compiler/rustc_query_impl/src/lib.rs:111
#238 rustc_query_system::query::plumbing::execute_job_non_incr::{closure#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 16]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt> () at compiler/rustc_query_system/src/query/plumbing.rs:470
#239 rustc_middle::ty::context::tls::enter_context::{closure#0}<rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 16]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>, rustc_middle::query::erase::Erased<[u8; 16]>> () at compiler/rustc_middle/src/ty/context/tls.rs:82
#240 std::thread::local::LocalKey::try_with<core::cell::Cell<*const ()>, rustc_middle::ty::context::tls::enter_context::{closure_env#0}<rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 16]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>, rustc_middle::query::erase::Erased<[u8; 16]>>, rustc_middle::query::erase::Erased<[u8; 16]>> () at library/std/src/thread/local.rs:286
#241 std::thread::local::LocalKey::with<core::cell::Cell<*const ()>, rustc_middle::ty::context::tls::enter_context::{closure_env#0}<rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 16]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>, rustc_middle::query::erase::Erased<[u8; 16]>>, rustc_middle::query::erase::Erased<[u8; 16]>> () at library/std/src/thread/local.rs:262
#242 0x00007ffff48a87f0 in rustc_middle::ty::context::tls::enter_context<rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 16]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>, rustc_middle::query::erase::Erased<[u8; 16]>> () at compiler/rustc_middle/src/ty/context/tls.rs:79
#243 rustc_query_impl::plumbing::{impl#3}::start_query::{closure#0}<rustc_middle::query::erase::Erased<[u8; 16]>, rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 16]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>> () at compiler/rustc_query_impl/src/plumbing.rs:149
#244 rustc_middle::ty::context::tls::with_related_context::{closure#0}<rustc_query_impl::plumbing::{impl#3}::start_query::{closure_env#0}<rustc_middle::query::erase::Erased<[u8; 16]>, rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 16]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>, rustc_middle::query::erase::Erased<[u8; 16]>> () at compiler/rustc_middle/src/ty/context/tls.rs:134
#245 rustc_middle::ty::context::tls::with_context::{closure#0}<rustc_middle::ty::context::tls::with_related_context::{closure_env#0}<rustc_query_impl::plumbing::{impl#3}::start_query::{closure_env#0}<rustc_middle::query::erase::Erased<[u8; 16]>, rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 16]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>, rustc_middle::query::erase::Erased<[u8; 16]>>, rustc_middle::query::erase::Erased<[u8; 16]>> () at compiler/rustc_middle/src/ty/context/tls.rs:112
#246 rustc_middle::ty::context::tls::with_context_opt<rustc_middle::ty::context::tls::with_context::{closure_env#0}<rustc_middle::ty::context::tls::with_related_context::{closure_env#0}<rustc_query_impl::plumbing::{impl#3}::start_query::{closure_env#0}<rustc_middle::query::erase::Erased<[u8; 16]>, rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 16]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>, rustc_middle::query::erase::Erased<[u8; 16]>>, rustc_middle::query::erase::Erased<[u8; 16]>>, rustc_middle::query::erase::Erased<[u8; 16]>> () at compiler/rustc_middle/src/ty/context/tls.rs:101
#247 rustc_middle::ty::context::tls::with_context<rustc_middle::ty::context::tls::with_related_context::{closure_env#0}<rustc_query_impl::plumbing::{impl#3}::start_query::{closure_env#0}<rustc_middle::query::erase::Erased<[u8; 16]>, rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 16]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>, rustc_middle::query::erase::Erased<[u8; 16]>>, rustc_middle::query::erase::Erased<[u8; 16]>> () at compiler/rustc_middle/src/ty/context/tls.rs:112
#248 rustc_middle::ty::context::tls::with_related_context<rustc_query_impl::plumbing::{impl#3}::start_query::{closure_env#0}<rustc_middle::query::erase::Erased<[u8; 16]>, rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 16]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>>, rustc_middle::query::erase::Erased<[u8; 16]>> () at compiler/rustc_middle/src/ty/context/tls.rs:125
#249 rustc_query_impl::plumbing::{impl#3}::start_query<rustc_middle::query::erase::Erased<[u8; 16]>, rustc_query_system::query::plumbing::execute_job_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 16]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>> () at compiler/rustc_query_impl/src/plumbing.rs:134
#250 rustc_query_system::query::plumbing::execute_job_non_incr<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 16]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt> () at compiler/rustc_query_system/src/query/plumbing.rs:470
#251 rustc_query_system::query::plumbing::execute_job<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 16]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, false> () at compiler/rustc_query_system/src/query/plumbing.rs:406
#252 rustc_query_system::query::plumbing::try_execute_query<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 16]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt, false> () at compiler/rustc_query_system/src/query/plumbing.rs:349
#253 0x00007ffff46b78ec in rustc_query_system::query::plumbing::get_query_non_incr::{closure#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 16]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt> () at compiler/rustc_query_system/src/query/plumbing.rs:801
#254 stacker::maybe_grow<rustc_middle::query::erase::Erased<[u8; 16]>, rustc_query_system::query::plumbing::get_query_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 16]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>> () at /home/jistone/.cargo/registry/src/index.crates.io-6f17d22bba15001f/stacker-0.1.15/src/lib.rs:55
#255 rustc_data_structures::stack::ensure_sufficient_stack<rustc_middle::query::erase::Erased<[u8; 16]>, rustc_query_system::query::plumbing::get_query_non_incr::{closure_env#0}<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 16]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt>> () at compiler/rustc_data_structures/src/stack.rs:17
#256 rustc_query_system::query::plumbing::get_query_non_incr<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 16]>>, false, false, false>, rustc_query_impl::plumbing::QueryCtxt> () at compiler/rustc_query_system/src/query/plumbing.rs:801
#257 rustc_query_impl::query_impl::resolver_for_lowering_raw::get_query_non_incr::__rust_end_short_backtrace () at compiler/rustc_query_impl/src/plumbing.rs:597
#258 0x00007ffff5ca0393 in rustc_middle::query::plumbing::query_get_at<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<[u8; 16]>>> () at compiler/rustc_middle/src/query/plumbing.rs:145
#259 rustc_middle::query::plumbing::TyCtxtAt::resolver_for_lowering_raw () at compiler/rustc_middle/src/query/plumbing.rs:423
#260 rustc_middle::ty::context::TyCtxt::resolver_for_lowering_raw () at compiler/rustc_middle/src/query/plumbing.rs:414
#261 rustc_middle::ty::context::TyCtxt::resolver_for_lowering () at compiler/rustc_middle/src/ty/context.rs:2665
#262 0x00007ffff2d00ae9 in rustc_driver_impl::run_compiler::{closure#0}::{closure#1}::{closure#2} () at compiler/rustc_driver_impl/src/lib.rs:420
#263 rustc_middle::ty::context::{impl#15}::enter::{closure#1}<rustc_driver_impl::run_compiler::{closure#0}::{closure#1}::{closure_env#2}, &rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::sync::Arc<rustc_ast::ast::Crate, alloc::alloc::Global>)>> () at compiler/rustc_middle/src/ty/context.rs:771
#264 rustc_middle::ty::context::tls::enter_context::{closure#0}<rustc_middle::ty::context::{impl#15}::enter::{closure_env#1}<rustc_driver_impl::run_compiler::{closure#0}::{closure#1}::{closure_env#2}, &rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::sync::Arc<rustc_ast::ast::Crate, alloc::alloc::Global>)>>, &rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::sync::Arc<rustc_ast::ast::Crate, alloc::alloc::Global>)>> () at compiler/rustc_middle/src/ty/context/tls.rs:82
#265 std::thread::local::LocalKey::try_with<core::cell::Cell<*const ()>, rustc_middle::ty::context::tls::enter_context::{closure_env#0}<rustc_middle::ty::context::{impl#15}::enter::{closure_env#1}<rustc_driver_impl::run_compiler::{closure#0}::{closure#1}::{closure_env#2}, &rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::sync::Arc<rustc_ast::ast::Crate, alloc::alloc::Global>)>>, &rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::sync::Arc<rustc_ast::ast::Crate, alloc::alloc::Global>)>>, &rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::sync::Arc<rustc_ast::ast::Crate, alloc::alloc::Global>)>> () at library/std/src/thread/local.rs:286
#266 std::thread::local::LocalKey::with<core::cell::Cell<*const ()>, rustc_middle::ty::context::tls::enter_context::{closure_env#0}<rustc_middle::ty::context::{impl#15}::enter::{closure_env#1}<rustc_driver_impl::run_compiler::{closure#0}::{closure#1}::{closure_env#2}, &rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::sync::Arc<rustc_ast::ast::Crate, alloc::alloc::Global>)>>, &rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::sync::Arc<rustc_ast::ast::Crate, alloc::alloc::Global>)>>, &rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::sync::Arc<rustc_ast::ast::Crate, alloc::alloc::Global>)>> () at library/std/src/thread/local.rs:262
#267 0x00007ffff2cec83e in rustc_middle::ty::context::tls::enter_context<rustc_middle::ty::context::{impl#15}::enter::{closure_env#1}<rustc_driver_impl::run_compiler::{closure#0}::{closure#1}::{closure_env#2}, &rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::sync::Arc<rustc_ast::ast::Crate, alloc::alloc::Global>)>>, &rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::sync::Arc<rustc_ast::ast::Crate, alloc::alloc::Global>)>> () at compiler/rustc_middle/src/ty/context/tls.rs:79
#268 rustc_middle::ty::context::GlobalCtxt::enter<rustc_driver_impl::run_compiler::{closure#0}::{closure#1}::{closure_env#2}, &rustc_data_structures::steal::Steal<(rustc_middle::ty::ResolverAstLowering, alloc::sync::Arc<rustc_ast::ast::Crate, alloc::alloc::Global>)>> () at compiler/rustc_middle/src/ty/context.rs:771
#269 0x00007ffff2cf2d38 in rustc_driver_impl::run_compiler::{closure#0}::{closure#1} () at compiler/rustc_driver_impl/src/lib.rs:420
#270 rustc_interface::interface::Compiler::enter<rustc_driver_impl::run_compiler::{closure#0}::{closure_env#1}, core::result::Result<core::option::Option<rustc_interface::queries::Linker>, rustc_span::ErrorGuaranteed>> () at compiler/rustc_interface/src/queries.rs:315
#271 0x00007ffff2d0a12e in rustc_driver_impl::run_compiler::{closure#0} () at compiler/rustc_driver_impl/src/lib.rs:386
#272 rustc_interface::interface::run_compiler::{closure#1}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#0}> () at compiler/rustc_interface/src/interface.rs:502
#273 rustc_interface::util::run_in_thread_pool_with_globals::{closure#0}<rustc_interface::interface::run_compiler::{closure_env#1}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#0}>, core::result::Result<(), rustc_span::ErrorGuaranteed>> () at compiler/rustc_interface/src/util.rs:131
#274 rustc_interface::util::run_in_thread_with_globals::{closure#0}::{closure#0}::{closure#0}<rustc_interface::util::run_in_thread_pool_with_globals::{closure_env#0}<rustc_interface::interface::run_compiler::{closure_env#1}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#0}>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>> () at compiler/rustc_interface/src/util.rs:88
#275 scoped_tls::ScopedKey::set<rustc_span::SessionGlobals, rustc_interface::util::run_in_thread_with_globals::{closure#0}::{closure#0}::{closure_env#0}<rustc_interface::util::run_in_thread_pool_with_globals::{closure_env#0}<rustc_interface::interface::run_compiler::{closure_env#1}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#0}>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>> () at /home/jistone/.cargo/registry/src/index.crates.io-6f17d22bba15001f/scoped-tls-1.0.1/src/lib.rs:137
#276 0x00007ffff2cbde05 in rustc_span::create_session_globals_then<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_interface::util::run_in_thread_with_globals::{closure#0}::{closure#0}::{closure_env#0}<rustc_interface::util::run_in_thread_pool_with_globals::{closure_env#0}<rustc_interface::interface::run_compiler::{closure_env#1}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#0}>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>> () at compiler/rustc_span/src/lib.rs:133
#277 0x00007ffff2ce0946 in rustc_interface::util::run_in_thread_with_globals::{closure#0}::{closure#0}<rustc_interface::util::run_in_thread_pool_with_globals::{closure_env#0}<rustc_interface::interface::run_compiler::{closure_env#1}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#0}>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>> () at compiler/rustc_interface/src/util.rs:87
#278 std::sys_common::backtrace::__rust_begin_short_backtrace<rustc_interface::util::run_in_thread_with_globals::{closure#0}::{closure_env#0}<rustc_interface::util::run_in_thread_pool_with_globals::{closure_env#0}<rustc_interface::interface::run_compiler::{closure_env#1}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#0}>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>> () at library/std/src/sys_common/backtrace.rs:155
#279 0x00007ffff2ca4ee1 in std::thread::{impl#0}::spawn_unchecked_::{closure#2}::{closure#0}<rustc_interface::util::run_in_thread_with_globals::{closure#0}::{closure_env#0}<rustc_interface::util::run_in_thread_pool_with_globals::{closure_env#0}<rustc_interface::interface::run_compiler::{closure_env#1}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#0}>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>> () at library/std/src/thread/mod.rs:542
#280 core::panic::unwind_safe::{impl#23}::call_once<core::result::Result<(), rustc_span::ErrorGuaranteed>, std::thread::{impl#0}::spawn_unchecked_::{closure#2}::{closure_env#0}<rustc_interface::util::run_in_thread_with_globals::{closure#0}::{closure_env#0}<rustc_interface::util::run_in_thread_pool_with_globals::{closure_env#0}<rustc_interface::interface::run_compiler::{closure_env#1}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#0}>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>> () at library/core/src/panic/unwind_safe.rs:272
#281 std::panicking::try::do_call<core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked_::{closure#2}::{closure_env#0}<rustc_interface::util::run_in_thread_with_globals::{closure#0}::{closure_env#0}<rustc_interface::util::run_in_thread_pool_with_globals::{closure_env#0}<rustc_interface::interface::run_compiler::{closure_env#1}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#0}>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>>, core::result::Result<(), rustc_span::ErrorGuaranteed>> () at library/std/src/panicking.rs:559
#282 std::panicking::try<core::result::Result<(), rustc_span::ErrorGuaranteed>, core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked_::{closure#2}::{closure_env#0}<rustc_interface::util::run_in_thread_with_globals::{closure#0}::{closure_env#0}<rustc_interface::util::run_in_thread_pool_with_globals::{closure_env#0}<rustc_interface::interface::run_compiler::{closure_env#1}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#0}>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>>> () at library/std/src/panicking.rs:523
#283 0x00007ffff2cb0c05 in std::panic::catch_unwind<core::panic::unwind_safe::AssertUnwindSafe<std::thread::{impl#0}::spawn_unchecked_::{closure#2}::{closure_env#0}<rustc_interface::util::run_in_thread_with_globals::{closure#0}::{closure_env#0}<rustc_interface::util::run_in_thread_pool_with_globals::{closure_env#0}<rustc_interface::interface::run_compiler::{closure_env#1}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#0}>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>>, core::result::Result<(), rustc_span::ErrorGuaranteed>> () at library/std/src/panic.rs:149
#284 std::thread::{impl#0}::spawn_unchecked_::{closure#2}<rustc_interface::util::run_in_thread_with_globals::{closure#0}::{closure_env#0}<rustc_interface::util::run_in_thread_pool_with_globals::{closure_env#0}<rustc_interface::interface::run_compiler::{closure_env#1}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#0}>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>> () at library/std/src/thread/mod.rs:541
#285 core::ops::function::FnOnce::call_once<std::thread::{impl#0}::spawn_unchecked_::{closure_env#2}<rustc_interface::util::run_in_thread_with_globals::{closure#0}::{closure_env#0}<rustc_interface::util::run_in_thread_pool_with_globals::{closure_env#0}<rustc_interface::interface::run_compiler::{closure_env#1}<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure_env#0}>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, core::result::Result<(), rustc_span::ErrorGuaranteed>>, ()> () at library/core/src/ops/function.rs:250
#286 0x00007ffff1f46564 in alloc::boxed::{impl#48}::call_once<(), dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global> () at library/alloc/src/boxed.rs:2022
#287 alloc::boxed::{impl#48}::call_once<(), alloc::boxed::Box<dyn core::ops::function::FnOnce<(), Output=()>, alloc::alloc::Global>, alloc::alloc::Global> () at library/alloc/src/boxed.rs:2022
#288 std::sys::pal::unix::thread::{impl#2}::new::thread_start () at library/std/src/sys/pal/unix/thread.rs:108
#289 0x00007ffff1d421b7 in start_thread (arg=<optimized out>) at pthread_create.c:447
#290 0x00007ffff1dc439c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

@saethlin saethlin removed the needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. label May 11, 2024
@Zoxc
Copy link
Contributor

Zoxc commented Mar 16, 2025

There's a cycle with resolver_for_lowering_raw:

#0 [early_lint_checks] perform lints prior to AST lowering
#1 [hir_crate] getting the crate HIR
#2 [local_def_id_to_hir_id] getting HIR ID of `Default`
#3 [resolver_for_lowering_raw] getting the resolver for lowering

Somehow this leads to a situation with def_span being part of a cycle error, which does cause infinite recursion. The current code does seem a bit eager to call def_span.

Backtrace:

  16:     0x7ffce13724e1 - core::panicking::panic_fmt
                               at F:\Rust\master\library\core\src\panicking.rs:75
  17:     0x7ffce12e895b - rustc_query_system::query::plumbing::cycle_error<rustc_query_impl::DynamicConfig<rustc_data_structures::vec_cache::VecCache<rustc_span::def_id::LocalDefId,rustc_middle::query::erase::Erased<array$<u8,56> >,rustc_query_system::dep_graph::graph::DepNodeIndex
                               at F:\Rust\master\compiler\rustc_query_system\src\query\plumbing.rs:257
  18:     0x7ffcdefee48b - rustc_query_system::query::plumbing::try_execute_query<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<array$<u8,16> > >,false,false,false>,rustc_query_impl::plumbing::QueryCtxt,false>
                               at F:\Rust\master\compiler\rustc_query_system\src\query\plumbing.rs:374
  19:     0x7ffcdf2326a7 - rustc_query_system::query::plumbing::get_query_non_incr::closure$0
                               at F:\Rust\master\compiler\rustc_query_system\src\query\plumbing.rs:807
  20:     0x7ffcdf2326a7 - stacker::maybe_grow
                               at C:\Users\John\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\stacker-0.1.18\src\lib.rs:55
  21:     0x7ffcdf2326a7 - rustc_data_structures::stack::ensure_sufficient_stack
                               at F:\Rust\master\compiler\rustc_data_structures\src\stack.rs:21
  22:     0x7ffcdf2326a7 - rustc_query_system::query::plumbing::get_query_non_incr
                               at F:\Rust\master\compiler\rustc_query_system\src\query\plumbing.rs:807
  23:     0x7ffcdf2326a7 - rustc_query_impl::query_impl::resolver_for_lowering_raw::get_query_non_incr::__rust_end_short_backtrace
                               at F:\Rust\master\compiler\rustc_query_impl\src\plumbing.rs:592
  24:     0x7ffce011f66a - rustc_middle::query::plumbing::query_get_at
                               at F:\Rust\master\compiler\rustc_middle\src\query\plumbing.rs:182
  25:     0x7ffce011f66a - rustc_middle::query::plumbing::TyCtxtAt::resolver_for_lowering_raw
                               at F:\Rust\master\compiler\rustc_middle\src\query\plumbing.rs:472
  26:     0x7ffce011f66a - rustc_middle::ty::context::TyCtxt::resolver_for_lowering_raw
                               at F:\Rust\master\compiler\rustc_middle\src\query\plumbing.rs:463
  27:     0x7ffce011f66a - rustc_middle::ty::context::TyCtxt::resolver_for_lowering
                               at F:\Rust\master\compiler\rustc_middle\src\ty\context.rs:3251
  28:     0x7ffcdba29b1d - rustc_interface::passes::early_lint_checks
                               at F:\Rust\master\compiler\rustc_interface\src\passes.rs:283
  29:     0x7ffcdf226cca - rustc_query_impl::query_impl::early_lint_checks::dynamic_query::closure$2::closure$0
                               at F:\Rust\master\compiler\rustc_query_impl\src\plumbing.rs:277
  30:     0x7ffcdf226cca - rustc_query_impl::plumbing::__rust_begin_short_backtrace<rustc_query_impl::query_impl::early_lint_checks::dynamic_query::closure$2::closure_env$0,rustc_middle::query::erase::Erased<array$<u8,0> > >
                               at F:\Rust\master\compiler\rustc_query_impl\src\plumbing.rs:542
  31:     0x7ffcdefebf01 - rustc_query_impl::impl$2::compute
                               at F:\Rust\master\compiler\rustc_query_impl\src\lib.rs:121
  32:     0x7ffcdefebf01 - rustc_query_system::query::plumbing::execute_job_non_incr::closure$0
                               at F:\Rust\master\compiler\rustc_query_system\src\query\plumbing.rs:474
  33:     0x7ffcdefebf01 - rustc_middle::ty::context::tls::enter_context::closure$0
                               at F:\Rust\master\compiler\rustc_middle\src\ty\context\tls.rs:72
  34:     0x7ffcdefebf01 - std::thread::local::LocalKey::try_with
                               at F:\Rust\master\library\std\src\thread\local.rs:311
  35:     0x7ffcdefebf01 - std::thread::local::LocalKey::with
                               at F:\Rust\master\library\std\src\thread\local.rs:275
  36:     0x7ffcdefebf01 - rustc_middle::ty::context::tls::enter_context
                               at F:\Rust\master\compiler\rustc_middle\src\ty\context\tls.rs:69
  37:     0x7ffcdefebf01 - rustc_query_impl::plumbing::impl$3::start_query::closure$0
                               at F:\Rust\master\compiler\rustc_query_impl\src\plumbing.rs:152
  38:     0x7ffcdefebf01 - rustc_middle::ty::context::tls::with_related_context::closure$0
                               at F:\Rust\master\compiler\rustc_middle\src\ty\context\tls.rs:124
  39:     0x7ffcdefebf01 - rustc_middle::ty::context::tls::with_context::closure$0
                               at F:\Rust\master\compiler\rustc_middle\src\ty\context\tls.rs:102
  40:     0x7ffcdefebf01 - rustc_middle::ty::context::tls::with_context_opt
                               at F:\Rust\master\compiler\rustc_middle\src\ty\context\tls.rs:91
  41:     0x7ffcdefebf01 - rustc_middle::ty::context::tls::with_context
                               at F:\Rust\master\compiler\rustc_middle\src\ty\context\tls.rs:102
  42:     0x7ffcdefebf01 - rustc_middle::ty::context::tls::with_related_context
                               at F:\Rust\master\compiler\rustc_middle\src\ty\context\tls.rs:115
  43:     0x7ffcdefebf01 - rustc_query_impl::plumbing::impl$3::start_query
                               at F:\Rust\master\compiler\rustc_query_impl\src\plumbing.rs:137
  44:     0x7ffcdefebf01 - rustc_query_system::query::plumbing::execute_job_non_incr
                               at F:\Rust\master\compiler\rustc_query_system\src\query\plumbing.rs:474
  45:     0x7ffcdefebf01 - rustc_query_system::query::plumbing::execute_job
                               at F:\Rust\master\compiler\rustc_query_system\src\query\plumbing.rs:410
  46:     0x7ffcdefebf01 - rustc_query_system::query::plumbing::try_execute_query<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<array$<u8,0> > >,false,false,false>,rustc_query_impl::plumbing::QueryCtxt,false>
                               at F:\Rust\master\compiler\rustc_query_system\src\query\plumbing.rs:354
  47:     0x7ffcdf231cda - rustc_query_system::query::plumbing::get_query_non_incr::closure$0
                               at F:\Rust\master\compiler\rustc_query_system\src\query\plumbing.rs:807
  48:     0x7ffcdf231cda - stacker::maybe_grow
                               at C:\Users\John\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\stacker-0.1.18\src\lib.rs:55
  49:     0x7ffcdf231cda - rustc_data_structures::stack::ensure_sufficient_stack
                               at F:\Rust\master\compiler\rustc_data_structures\src\stack.rs:21
  50:     0x7ffcdf231cda - rustc_query_system::query::plumbing::get_query_non_incr
                               at F:\Rust\master\compiler\rustc_query_system\src\query\plumbing.rs:807
  51:     0x7ffcdf231cda - rustc_query_impl::query_impl::early_lint_checks::get_query_non_incr::__rust_end_short_backtrace
                               at F:\Rust\master\compiler\rustc_query_impl\src\plumbing.rs:592
  52:     0x7ffcdeea838b - rustc_middle::query::plumbing::query_ensure
                               at F:\Rust\master\compiler\rustc_middle\src\query\plumbing.rs:198
  53:     0x7ffcdeea838b - rustc_middle::query::plumbing::TyCtxtEnsureDone::early_lint_checks
                               at F:\Rust\master\compiler\rustc_middle\src\query\plumbing.rs:447
  54:     0x7ffcdeea838b - rustc_ast_lowering::lower_to_hir
                               at F:\Rust\master\compiler\rustc_ast_lowering\src\lib.rs:432
  55:     0x7ffcdf22c38f - rustc_query_impl::query_impl::hir_crate::dynamic_query::closure$2::closure$0
                               at F:\Rust\master\compiler\rustc_query_impl\src\plumbing.rs:277
  56:     0x7ffcdf22c38f - rustc_query_impl::plumbing::__rust_begin_short_backtrace<rustc_query_impl::query_impl::hir_crate::dynamic_query::closure$2::closure_env$0,rustc_middle::query::erase::Erased<array$<u8,8> > >
                               at F:\Rust\master\compiler\rustc_query_impl\src\plumbing.rs:542
  57:     0x7ffcdeff93ff - rustc_query_impl::impl$2::compute
                               at F:\Rust\master\compiler\rustc_query_impl\src\lib.rs:121
  58:     0x7ffcdeff93ff - rustc_query_system::query::plumbing::execute_job_non_incr::closure$0
                               at F:\Rust\master\compiler\rustc_query_system\src\query\plumbing.rs:474
  59:     0x7ffcdeff93ff - rustc_middle::ty::context::tls::enter_context::closure$0
                               at F:\Rust\master\compiler\rustc_middle\src\ty\context\tls.rs:72
  60:     0x7ffcdeff93ff - std::thread::local::LocalKey::try_with
                               at F:\Rust\master\library\std\src\thread\local.rs:311
  61:     0x7ffcdeff93ff - std::thread::local::LocalKey::with
                               at F:\Rust\master\library\std\src\thread\local.rs:275
  62:     0x7ffcdeff93ff - rustc_middle::ty::context::tls::enter_context
                               at F:\Rust\master\compiler\rustc_middle\src\ty\context\tls.rs:69
  63:     0x7ffcdeff93ff - rustc_query_impl::plumbing::impl$3::start_query::closure$0
                               at F:\Rust\master\compiler\rustc_query_impl\src\plumbing.rs:152
  64:     0x7ffcdeff93ff - rustc_middle::ty::context::tls::with_related_context::closure$0
                               at F:\Rust\master\compiler\rustc_middle\src\ty\context\tls.rs:124
  65:     0x7ffcdeff93ff - rustc_middle::ty::context::tls::with_context::closure$0
                               at F:\Rust\master\compiler\rustc_middle\src\ty\context\tls.rs:102
  66:     0x7ffcdeff93ff - rustc_middle::ty::context::tls::with_context_opt
                               at F:\Rust\master\compiler\rustc_middle\src\ty\context\tls.rs:91
  67:     0x7ffcdeff93ff - rustc_middle::ty::context::tls::with_context
                               at F:\Rust\master\compiler\rustc_middle\src\ty\context\tls.rs:102
  68:     0x7ffcdeff93ff - rustc_middle::ty::context::tls::with_related_context
                               at F:\Rust\master\compiler\rustc_middle\src\ty\context\tls.rs:115
  69:     0x7ffcdeff93ff - rustc_query_impl::plumbing::impl$3::start_query
                               at F:\Rust\master\compiler\rustc_query_impl\src\plumbing.rs:137
  70:     0x7ffcdeff93ff - rustc_query_system::query::plumbing::execute_job_non_incr
                               at F:\Rust\master\compiler\rustc_query_system\src\query\plumbing.rs:474
  71:     0x7ffcdeff93ff - rustc_query_system::query::plumbing::execute_job
                               at F:\Rust\master\compiler\rustc_query_system\src\query\plumbing.rs:410
  72:     0x7ffcdeff93ff - rustc_query_system::query::plumbing::try_execute_query<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<array$<u8,8> > >,false,false,false>,rustc_query_impl::plumbing::QueryCtxt,false>
                               at F:\Rust\master\compiler\rustc_query_system\src\query\plumbing.rs:354
  73:     0x7ffcdf2330a7 - rustc_query_system::query::plumbing::get_query_non_incr::closure$0
                               at F:\Rust\master\compiler\rustc_query_system\src\query\plumbing.rs:807
  74:     0x7ffcdf2330a7 - stacker::maybe_grow
                               at C:\Users\John\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\stacker-0.1.18\src\lib.rs:55
  75:     0x7ffcdf2330a7 - rustc_data_structures::stack::ensure_sufficient_stack
                               at F:\Rust\master\compiler\rustc_data_structures\src\stack.rs:21
  76:     0x7ffcdf2330a7 - rustc_query_system::query::plumbing::get_query_non_incr
                               at F:\Rust\master\compiler\rustc_query_system\src\query\plumbing.rs:807
  77:     0x7ffcdf2330a7 - rustc_query_impl::query_impl::hir_crate::get_query_non_incr::__rust_end_short_backtrace
                               at F:\Rust\master\compiler\rustc_query_impl\src\plumbing.rs:592
  78:     0x7ffcdba163de - core::ops::function::FnOnce::call_once<rustc_middle::hir::provide::closure_env$0,tuple$<rustc_middle::ty::context::TyCtxt,rustc_span::def_id::LocalDefId> >
                               at F:\Rust\master\library\core\src\ops\function.rs:250
  79:     0x7ffcdf228e6c - rustc_query_impl::query_impl::local_def_id_to_hir_id::dynamic_query::closure$2::closure$0
                               at F:\Rust\master\compiler\rustc_query_impl\src\plumbing.rs:277
  80:     0x7ffcdf228e6c - rustc_query_impl::plumbing::__rust_begin_short_backtrace<rustc_query_impl::query_impl::local_def_id_to_hir_id::dynamic_query::closure$2::closure_env$0,rustc_middle::query::erase::Erased<array$<u8,8> > >
                               at F:\Rust\master\compiler\rustc_query_impl\src\plumbing.rs:542
  81:     0x7ffcdf09b27b - rustc_query_impl::impl$2::compute
                               at F:\Rust\master\compiler\rustc_query_impl\src\lib.rs:121
  82:     0x7ffcdf09b27b - rustc_query_system::query::plumbing::execute_job_non_incr::closure$0
                               at F:\Rust\master\compiler\rustc_query_system\src\query\plumbing.rs:474
  83:     0x7ffcdf09b27b - rustc_middle::ty::context::tls::enter_context::closure$0
                               at F:\Rust\master\compiler\rustc_middle\src\ty\context\tls.rs:72
  84:     0x7ffcdf09b27b - std::thread::local::LocalKey::try_with
                               at F:\Rust\master\library\std\src\thread\local.rs:311
  85:     0x7ffcdf09b27b - std::thread::local::LocalKey::with
                               at F:\Rust\master\library\std\src\thread\local.rs:275
  86:     0x7ffcdf09b27b - rustc_middle::ty::context::tls::enter_context
                               at F:\Rust\master\compiler\rustc_middle\src\ty\context\tls.rs:69
  87:     0x7ffcdf09b27b - rustc_query_impl::plumbing::impl$3::start_query::closure$0
                               at F:\Rust\master\compiler\rustc_query_impl\src\plumbing.rs:152
  88:     0x7ffcdf09b27b - rustc_middle::ty::context::tls::with_related_context::closure$0
                               at F:\Rust\master\compiler\rustc_middle\src\ty\context\tls.rs:124
  89:     0x7ffcdf09b27b - rustc_middle::ty::context::tls::with_context::closure$0
                               at F:\Rust\master\compiler\rustc_middle\src\ty\context\tls.rs:102
  90:     0x7ffcdf09b27b - rustc_middle::ty::context::tls::with_context_opt
                               at F:\Rust\master\compiler\rustc_middle\src\ty\context\tls.rs:91
  91:     0x7ffcdf09b27b - rustc_middle::ty::context::tls::with_context
                               at F:\Rust\master\compiler\rustc_middle\src\ty\context\tls.rs:102
  92:     0x7ffcdf09b27b - rustc_middle::ty::context::tls::with_related_context
                               at F:\Rust\master\compiler\rustc_middle\src\ty\context\tls.rs:115
  93:     0x7ffcdf09b27b - rustc_query_impl::plumbing::impl$3::start_query
                               at F:\Rust\master\compiler\rustc_query_impl\src\plumbing.rs:137
  94:     0x7ffcdf09b27b - rustc_query_system::query::plumbing::execute_job_non_incr
                               at F:\Rust\master\compiler\rustc_query_system\src\query\plumbing.rs:474
  95:     0x7ffcdf09b27b - rustc_query_system::query::plumbing::execute_job
                               at F:\Rust\master\compiler\rustc_query_system\src\query\plumbing.rs:410
  96:     0x7ffcdf09b27b - rustc_query_system::query::plumbing::try_execute_query<rustc_query_impl::DynamicConfig<rustc_data_structures::vec_cache::VecCache<rustc_hir::hir_id::OwnerId,rustc_middle::query::erase::Erased<array$<u8,8> >,rustc_query_system::dep_graph::graph::DepNodeInde
                               at F:\Rust\master\compiler\rustc_query_system\src\query\plumbing.rs:354
  97:     0x7ffcdf2344c4 - rustc_query_system::query::plumbing::get_query_non_incr::closure$0
                               at F:\Rust\master\compiler\rustc_query_system\src\query\plumbing.rs:807
  98:     0x7ffcdf2344c4 - stacker::maybe_grow
                               at C:\Users\John\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\stacker-0.1.18\src\lib.rs:55
  99:     0x7ffcdf2344c4 - rustc_data_structures::stack::ensure_sufficient_stack
                               at F:\Rust\master\compiler\rustc_data_structures\src\stack.rs:21
 100:     0x7ffcdf2344c4 - rustc_query_system::query::plumbing::get_query_non_incr
                               at F:\Rust\master\compiler\rustc_query_system\src\query\plumbing.rs:807
 101:     0x7ffcdf2344c4 - rustc_query_impl::query_impl::local_def_id_to_hir_id::get_query_non_incr::__rust_end_short_backtrace
                               at F:\Rust\master\compiler\rustc_query_impl\src\plumbing.rs:592
 102:     0x7ffcdeb98f71 - rustc_middle::query::plumbing::query_get_at<rustc_data_structures::vec_cache::VecCache<rustc_span::def_id::LocalDefId,rustc_middle::query::erase::Erased<array$<u8,8> >,rustc_query_system::dep_graph::graph::DepNodeIndex> >
                               at F:\Rust\master\compiler\rustc_middle\src\query\plumbing.rs:182
 103:     0x7ffcdec4d5d0 - core::iter::traits::iterator::Iterator::find
                               at F:\Rust\master\library\core\src\iter\traits\iterator.rs:2833
 104:     0x7ffcdec4d5d0 - rustc_resolve::late::LateResolutionVisitor::suggest_alternative_construction_methods
                               at F:\Rust\master\compiler\rustc_resolve\src\late\diagnostics.rs:1998
 105:     0x7ffcdec4602b - rustc_resolve::late::LateResolutionVisitor::try_lookup_name_relaxed
                               at F:\Rust\master\compiler\rustc_resolve\src\late\diagnostics.rs:769
 106:     0x7ffcdec36789 - rustc_resolve::late::LateResolutionVisitor::smart_resolve_report_errors
                               at F:\Rust\master\compiler\rustc_resolve\src\late\diagnostics.rs:462
 107:     0x7ffcdecf4466 - rustc_resolve::late::impl$11::smart_resolve_path_fragment::closure$0
                               at F:\Rust\master\compiler\rustc_resolve\src\late.rs:4094
 108:     0x7ffcdecf26ad - rustc_resolve::late::LateResolutionVisitor::smart_resolve_path_fragment
                               at F:\Rust\master\compiler\rustc_resolve\src\late.rs:4279
 109:     0x7ffcdeca19a7 - rustc_resolve::late::LateResolutionVisitor::resolve_expr
                               at F:\Rust\master\compiler\rustc_resolve\src\late.rs:4696
 110:     0x7ffcdeca0bff - rustc_resolve::late::LateResolutionVisitor::resolve_expr
                               at F:\Rust\master\compiler\rustc_resolve\src\late.rs:4794
 111:     0x7ffcdec739d9 - rustc_resolve::late::impl$10::visit_local
                               at F:\Rust\master\compiler\rustc_resolve\src\late.rs:782
 112:     0x7ffcdec9ea10 - rustc_resolve::late::LateResolutionVisitor::resolve_block
                               at F:\Rust\master\compiler\rustc_resolve\src\late.rs:4611
 113:     0x7ffcdec7d8a0 - rustc_resolve::late::impl$10::visit_block
                               at F:\Rust\master\compiler\rustc_resolve\src\late.rs:756
 114:     0x7ffcdec7d8a0 - rustc_resolve::late::impl$10::visit_fn::closure$1::closure$0::closure$2
                               at F:\Rust\master\compiler\rustc_resolve\src\late.rs:1080
 115:     0x7ffcdec7d8a0 - rustc_resolve::late::LateResolutionVisitor::with_lifetime_rib
                               at F:\Rust\master\compiler\rustc_resolve\src\late.rs:1662
 116:     0x7ffcdec7d8a0 - rustc_resolve::late::impl$10::visit_fn::closure$1::closure$0
                               at F:\Rust\master\compiler\rustc_resolve\src\late.rs:1078
 117:     0x7ffcdec7d8a0 - rustc_resolve::late::LateResolutionVisitor::with_label_rib
                               at F:\Rust\master\compiler\rustc_resolve\src\late.rs:2988
 118:     0x7ffcdec7d8a0 - rustc_resolve::late::impl$10::visit_fn::closure$1
                               at F:\Rust\master\compiler\rustc_resolve\src\late.rs:1038
 119:     0x7ffcdec7d8a0 - rustc_resolve::late::LateResolutionVisitor::with_rib
                               at F:\Rust\master\compiler\rustc_resolve\src\late.rs:1517
 120:     0x7ffcdec7d8a0 - rustc_resolve::late::impl$10::visit_fn
                               at F:\Rust\master\compiler\rustc_resolve\src\late.rs:1036
 121:     0x7ffcdeb85bf8 - rustc_ast::visit::impl$2::walk
                               at F:\Rust\master\compiler\rustc_ast\src\visit.rs:385
 122:     0x7ffcdeb85bf8 - rustc_ast::visit::walk_item_ctxt<rustc_resolve::late::LateResolutionVisitor,enum2$<rustc_ast::ast::ItemKind> >
                               at F:\Rust\master\compiler\rustc_ast\src\visit.rs:1004
 123:     0x7ffcdec68450 - rustc_resolve::late::LateResolutionVisitor::resolve_item
                               at F:\Rust\master\compiler\rustc_resolve\src\late.rs:2623
 124:     0x7ffcdec68450 - rustc_resolve::late::impl$10::visit_item::closure$0
                               at F:\Rust\master\compiler\rustc_resolve\src\late.rs:747
 125:     0x7ffcdec68450 - rustc_resolve::late::LateResolutionVisitor::with_lifetime_rib
                               at F:\Rust\master\compiler\rustc_resolve\src\late.rs:1662
 126:     0x7ffcdec68450 - rustc_resolve::late::impl$10::visit_item
                               at F:\Rust\master\compiler\rustc_resolve\src\late.rs:747
 127:     0x7ffcdecca255 - rustc_ast::visit::walk_crate
                               at F:\Rust\master\compiler\rustc_ast\src\visit.rs:321
 128:     0x7ffcdecca255 - rustc_resolve::Resolver::late_resolve_crate
                               at F:\Rust\master\compiler\rustc_resolve\src\late.rs:5128
 129:     0x7ffcdecca255 - rustc_resolve::impl$24::resolve_crate::closure$0::closure$4
                               at F:\Rust\master\compiler\rustc_resolve\src\lib.rs:1758
 130:     0x7ffcdecca255 - rustc_data_structures::profiling::VerboseTimingGuard::run
                               at F:\Rust\master\compiler\rustc_data_structures\src\profiling.rs:753
 131:     0x7ffcdecca255 - rustc_session::session::Session::time
                               at F:\Rust\master\compiler\rustc_session\src\utils.rs:16
 132:     0x7ffcdecca255 - rustc_resolve::impl$24::resolve_crate::closure$0
                               at F:\Rust\master\compiler\rustc_resolve\src\lib.rs:1758
 133:     0x7ffcdecc581c - rustc_data_structures::profiling::VerboseTimingGuard::run
                               at F:\Rust\master\compiler\rustc_data_structures\src\profiling.rs:753
 134:     0x7ffcdecc581c - rustc_session::session::Session::time
                               at F:\Rust\master\compiler\rustc_session\src\utils.rs:16
 135:     0x7ffcdecc581c - rustc_resolve::Resolver::resolve_crate
                               at F:\Rust\master\compiler\rustc_resolve\src\lib.rs:1747
 136:     0x7ffcdba48a9e - rustc_interface::passes::configure_and_expand
                               at F:\Rust\master\compiler\rustc_interface\src\passes.rs:275
 137:     0x7ffcdba2eec7 - rustc_interface::passes::resolver_for_lowering_raw
                               at F:\Rust\master\compiler\rustc_interface\src\passes.rs:655
 138:     0x7ffcdf22aba3 - rustc_query_impl::query_impl::resolver_for_lowering_raw::dynamic_query::closure$2::closure$0
                               at F:\Rust\master\compiler\rustc_query_impl\src\plumbing.rs:277
 139:     0x7ffcdf22aba3 - rustc_query_impl::plumbing::__rust_begin_short_backtrace<rustc_query_impl::query_impl::resolver_for_lowering_raw::dynamic_query::closure$2::closure_env$0,rustc_middle::query::erase::Erased<array$<u8,16> > >
                               at F:\Rust\master\compiler\rustc_query_impl\src\plumbing.rs:542
 140:     0x7ffcdf1e7a0d - rustc_query_impl::query_impl::resolver_for_lowering_raw::dynamic_query::closure$2
                               at F:\Rust\master\compiler\rustc_query_impl\src\plumbing.rs:616
 141:     0x7ffcdf1e7a0d - core::ops::function::FnOnce::call_once<rustc_query_impl::query_impl::resolver_for_lowering_raw::dynamic_query::closure_env$2,tuple$<rustc_middle::ty::context::TyCtxt,tuple$<> > >
                               at F:\Rust\master\library\core\src\ops\function.rs:250
 142:     0x7ffcdefee0ab - rustc_query_impl::impl$2::compute
                               at F:\Rust\master\compiler\rustc_query_impl\src\lib.rs:121
 143:     0x7ffcdefee0ab - rustc_query_system::query::plumbing::execute_job_non_incr::closure$0
                               at F:\Rust\master\compiler\rustc_query_system\src\query\plumbing.rs:474
 144:     0x7ffcdefee0ab - rustc_middle::ty::context::tls::enter_context::closure$0
                               at F:\Rust\master\compiler\rustc_middle\src\ty\context\tls.rs:72
 145:     0x7ffcdefee0ab - std::thread::local::LocalKey::try_with
                               at F:\Rust\master\library\std\src\thread\local.rs:311
 146:     0x7ffcdefee0ab - std::thread::local::LocalKey::with
                               at F:\Rust\master\library\std\src\thread\local.rs:275
 147:     0x7ffcdefee0ab - rustc_middle::ty::context::tls::enter_context
                               at F:\Rust\master\compiler\rustc_middle\src\ty\context\tls.rs:69
 148:     0x7ffcdefee0ab - rustc_query_impl::plumbing::impl$3::start_query::closure$0
                               at F:\Rust\master\compiler\rustc_query_impl\src\plumbing.rs:152
 149:     0x7ffcdefee0ab - rustc_middle::ty::context::tls::with_related_context::closure$0
                               at F:\Rust\master\compiler\rustc_middle\src\ty\context\tls.rs:124
 150:     0x7ffcdefee0ab - rustc_middle::ty::context::tls::with_context::closure$0
                               at F:\Rust\master\compiler\rustc_middle\src\ty\context\tls.rs:102
 151:     0x7ffcdefee0ab - rustc_middle::ty::context::tls::with_context_opt
                               at F:\Rust\master\compiler\rustc_middle\src\ty\context\tls.rs:91
 152:     0x7ffcdefee0ab - rustc_middle::ty::context::tls::with_context
                               at F:\Rust\master\compiler\rustc_middle\src\ty\context\tls.rs:102
 153:     0x7ffcdefee0ab - rustc_middle::ty::context::tls::with_related_context
                               at F:\Rust\master\compiler\rustc_middle\src\ty\context\tls.rs:115
 154:     0x7ffcdefee0ab - rustc_query_impl::plumbing::impl$3::start_query
                               at F:\Rust\master\compiler\rustc_query_impl\src\plumbing.rs:137
 155:     0x7ffcdefee0ab - rustc_query_system::query::plumbing::execute_job_non_incr
                               at F:\Rust\master\compiler\rustc_query_system\src\query\plumbing.rs:474
 156:     0x7ffcdefee0ab - rustc_query_system::query::plumbing::execute_job
                               at F:\Rust\master\compiler\rustc_query_system\src\query\plumbing.rs:410
 157:     0x7ffcdefee0ab - rustc_query_system::query::plumbing::try_execute_query<rustc_query_impl::DynamicConfig<rustc_query_system::query::caches::SingleCache<rustc_middle::query::erase::Erased<array$<u8,16> > >,false,false,false>,rustc_query_impl::plumbing::QueryCtxt,false>
                               at F:\Rust\master\compiler\rustc_query_system\src\query\plumbing.rs:354
 158:     0x7ffcdf2326a7 - rustc_query_system::query::plumbing::get_query_non_incr::closure$0
                               at F:\Rust\master\compiler\rustc_query_system\src\query\plumbing.rs:807
 159:     0x7ffcdf2326a7 - stacker::maybe_grow
                               at C:\Users\John\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\stacker-0.1.18\src\lib.rs:55
 160:     0x7ffcdf2326a7 - rustc_data_structures::stack::ensure_sufficient_stack
                               at F:\Rust\master\compiler\rustc_data_structures\src\stack.rs:21
 161:     0x7ffcdf2326a7 - rustc_query_system::query::plumbing::get_query_non_incr
                               at F:\Rust\master\compiler\rustc_query_system\src\query\plumbing.rs:807
 162:     0x7ffcdf2326a7 - rustc_query_impl::query_impl::resolver_for_lowering_raw::get_query_non_incr::__rust_end_short_backtrace
                               at F:\Rust\master\compiler\rustc_query_impl\src\plumbing.rs:592
 163:     0x7ffce011f66a - rustc_middle::query::plumbing::query_get_at
                               at F:\Rust\master\compiler\rustc_middle\src\query\plumbing.rs:182
 164:     0x7ffce011f66a - rustc_middle::query::plumbing::TyCtxtAt::resolver_for_lowering_raw
                               at F:\Rust\master\compiler\rustc_middle\src\query\plumbing.rs:472
 165:     0x7ffce011f66a - rustc_middle::ty::context::TyCtxt::resolver_for_lowering_raw
                               at F:\Rust\master\compiler\rustc_middle\src\query\plumbing.rs:463
 166:     0x7ffce011f66a - rustc_middle::ty::context::TyCtxt::resolver_for_lowering
                               at F:\Rust\master\compiler\rustc_middle\src\ty\context.rs:3251
 167:     0x7ffcdb7baba5 - rustc_middle::ty::context::GlobalCtxt::enter
                               at F:\Rust\master\compiler\rustc_middle\src\ty\context.rs:1428
 168:     0x7ffcdb7baba5 - rustc_middle::ty::context::TyCtxt::create_global_ctxt
                               at F:\Rust\master\compiler\rustc_middle\src\ty\context.rs:1627
 169:     0x7ffcdb7baba5 - rustc_interface::passes::create_and_enter_global_ctxt::closure$2
                               at F:\Rust\master\compiler\rustc_interface\src\passes.rs:820
 170:     0x7ffcdb7baba5 - core::ops::function::FnOnce::call_once<rustc_interface::passes::create_and_enter_global_ctxt::closure_env$2<enum2$<core::option::Option<rustc_interface::queries::Linker> >,rustc_driver_impl::run_compiler::closure$0::closure_env$2>,tuple$<ref$<rustc_session
                               at F:\Rust\master\library\core\src\ops\function.rs:250
 171:     0x7ffcdb79f555 - rustc_interface::passes::create_and_enter_global_ctxt<enum2$<core::option::Option<rustc_interface::queries::Linker> >,rustc_driver_impl::run_compiler::closure$0::closure_env$2>
                               at F:\Rust\master\compiler\rustc_interface\src\passes.rs:860
 172:     0x7ffcdb7b47ec - rustc_interface::interface::run_compiler::closure$1<tuple$<>,rustc_driver_impl::run_compiler::closure_env$0>
                               at F:\Rust\master\compiler\rustc_interface\src\interface.rs:508
 173:     0x7ffcdb7a2043 - rustc_interface::util::run_in_thread_pool_with_globals::closure$0
                               at F:\Rust\master\compiler\rustc_interface\src\util.rs:175
 174:     0x7ffcdb7a2043 - rustc_interface::util::run_in_thread_with_globals::closure$0::closure$0::closure$0
                               at F:\Rust\master\compiler\rustc_interface\src\util.rs:138
 175:     0x7ffcdb7a2043 - scoped_tls::ScopedKey::set
                               at C:\Users\John\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\scoped-tls-1.0.1\src\lib.rs:137
 176:     0x7ffcdb7a2043 - rustc_span::create_session_globals_then
                               at F:\Rust\master\compiler\rustc_span\src\lib.rs:142
 177:     0x7ffcdb7a2043 - rustc_interface::util::run_in_thread_with_globals::closure$0::closure$0
                               at F:\Rust\master\compiler\rustc_interface\src\util.rs:137
 178:     0x7ffcdb7a2043 - std::sys::backtrace::__rust_begin_short_backtrace<rustc_interface::util::run_in_thread_with_globals::closure$0::closure_env$0<rustc_interface::util::run_in_thread_pool_with_globals::closure_env$0<rustc_interface::interface::run_compiler::closure_env$1<tupl
                               at F:\Rust\master\library\std\src\sys\backtrace.rs:152
 179:     0x7ffcdb7b8870 - core::ops::function::FnOnce::call_once<std::thread::impl$0::spawn_unchecked_::closure_env$1<rustc_interface::util::run_in_thread_with_globals::closure$0::closure_env$0<rustc_interface::util::run_in_thread_pool_with_globals::closure_env$0<rustc_interface::i
                               at F:\Rust\master\library\core\src\ops\function.rs:250
 180:     0x7ffce067daed - alloc::boxed::impl$28::call_once
                               at F:\Rust\master\library\alloc\src\boxed.rs:1970
 181:     0x7ffce067daed - alloc::boxed::impl$28::call_once
                               at F:\Rust\master\library\alloc\src\boxed.rs:1970
 182:     0x7ffce067daed - std::sys::pal::windows::thread::impl$0::new::thread_start
                               at F:\Rust\master\library\std\src\sys\pal\windows\thread.rs:56
 183:     0x7ffdd8697374 - BaseThreadInitThunk
 184:     0x7ffdda67cc91 - RtlUserThreadStart

TaKO8Ki added a commit to TaKO8Ki/rust that referenced this issue Mar 26, 2025
…handler, r=oli-obk

Avoiding calling queries when collecting active queries

This PR changes active query collection to no longer call queries. Instead the fields needing queries have their computation delayed to when an cycle error is emitted or when printing the query backtrace in a panic.

This is done by splitting the fields in `QueryStackFrame` needing queries into a new `QueryStackFrameExtra` type. When collecting queries `QueryStackFrame` will contain a closure that can create `QueryStackFrameExtra`, which does make use of queries. Calling `lift` on a `QueryStackFrame` or `CycleError` will convert it to a variant containing `QueryStackFrameExtra` using those closures.

This also only calls queries needed to collect information on a cycle errors, instead of information on all active queries.

Calling queries when collecting active queries is a bit odd. Calling queries should not be done in the deadlock handler at all.

This avoids the out of memory scenario in rust-lang#124901.
Zalathar added a commit to Zalathar/rust that referenced this issue Mar 27, 2025
…handler, r=oli-obk

Avoiding calling queries when collecting active queries

This PR changes active query collection to no longer call queries. Instead the fields needing queries have their computation delayed to when an cycle error is emitted or when printing the query backtrace in a panic.

This is done by splitting the fields in `QueryStackFrame` needing queries into a new `QueryStackFrameExtra` type. When collecting queries `QueryStackFrame` will contain a closure that can create `QueryStackFrameExtra`, which does make use of queries. Calling `lift` on a `QueryStackFrame` or `CycleError` will convert it to a variant containing `QueryStackFrameExtra` using those closures.

This also only calls queries needed to collect information on a cycle errors, instead of information on all active queries.

Calling queries when collecting active queries is a bit odd. Calling queries should not be done in the deadlock handler at all.

This avoids the out of memory scenario in rust-lang#124901.
rust-timer added a commit to rust-lang-ci/rust that referenced this issue Mar 27, 2025
Rollup merge of rust-lang#138672 - Zoxc:deferred-queries-in-deadlock-handler, r=oli-obk

Avoiding calling queries when collecting active queries

This PR changes active query collection to no longer call queries. Instead the fields needing queries have their computation delayed to when an cycle error is emitted or when printing the query backtrace in a panic.

This is done by splitting the fields in `QueryStackFrame` needing queries into a new `QueryStackFrameExtra` type. When collecting queries `QueryStackFrame` will contain a closure that can create `QueryStackFrameExtra`, which does make use of queries. Calling `lift` on a `QueryStackFrame` or `CycleError` will convert it to a variant containing `QueryStackFrameExtra` using those closures.

This also only calls queries needed to collect information on a cycle errors, instead of information on all active queries.

Calling queries when collecting active queries is a bit odd. Calling queries should not be done in the deadlock handler at all.

This avoids the out of memory scenario in rust-lang#124901.
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-compilemem Issue: Problems and improvements with respect to memory usage during compilation. I-crash Issue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics. P-medium Medium priority regression-from-stable-to-stable Performance or correctness regression from one stable version to another.
Projects
None yet
Development

No branches or pull requests

6 participants