Skip to content

[Performance run] Switch rustc_hash -> ahash - #78218

Closed
jyn514 wants to merge 1 commit into
rust-lang:masterfrom
jyn514:ahash
Closed

[Performance run] Switch rustc_hash -> ahash#78218
jyn514 wants to merge 1 commit into
rust-lang:masterfrom
jyn514:ahash

Conversation

@jyn514

@jyn514jyn514 commented Oct 22, 2020

Copy link
Copy Markdown
Member

@rust-highfive

Copy link
Copy Markdown
Contributor

r? @petrochenkov

(rust_highfive has picked a reviewer for you, use r? to override)

@rust-highfive

Copy link
Copy Markdown
Contributor

⚠️Warning⚠️

  • These commits modify submodules.

@rust-highfiverust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Oct 22, 2020
@jyn514

Copy link
Copy Markdown
MemberAuthor

r? @ghost

@jyn514

Copy link
Copy Markdown
MemberAuthor

@bors try @rust-timer queue

@rust-timer

Copy link
Copy Markdown
Collaborator

Awaiting bors try build completion

@jyn514jyn514 added I-compiletime Issue: Problems and improvements with respect to compile times. S-waiting-on-perf Status: Waiting on a perf run to be completed. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Oct 22, 2020
@bors

bors commented Oct 22, 2020

Copy link
Copy Markdown
Collaborator

⌛ Trying commit 82d48f974c8e7e1aa41e046a15fe1156838dbed4 with merge 9e97a2afa35ac40a2800d40d03720c154b6b8b90...

@workingjubilee

Copy link
Copy Markdown
Member

This was previously tried in #59592

@jyn514

Copy link
Copy Markdown
MemberAuthor

@workingjubilee that PR doesn't compile; it never went through rust-timer.

@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job dist-x86_64-linux of your PR failed (pretty log, raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
 Compiling std v0.0.0 (/checkout/library/std)
Compiling compiler_builtins v0.1.35
Compiling unwind v0.0.0 (/checkout/library/unwind)
Compiling profiler_builtins v0.0.0 (/checkout/library/profiler_builtins)
rustc exited with signal: 9
error: could not compile `core`
Caused by:
Caused by:
process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustc --crate-name core --edition=2018 library/core/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no -C codegen-units=1 -C debuginfo=1 -C metadata=2675a9a46b5cec89 -C extra-filename=-2675a9a46b5cec89 --out-dir /checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps --target x86_64-unknown-linux-gnu -C linker=clang -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/x86_64-unknown-linux-gnu/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage1-std/release/deps -Zmacro-backtrace '-Clink-args=-Wl,-rpath,$ORIGIN/../lib' -Zsave-analysis -Cprefer-dynamic -Cembed-bitcode=yes -Z binary-dep-depinfo` (exit code: 254)
command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "build" "--target" "x86_64-unknown-linux-gnu" "-Zbinary-dep-depinfo" "-j" "16" "--release" "--locked" "--color" "always" "--features" "panic-unwind backtrace profiler compiler-builtins-c" "--manifest-path" "/checkout/library/test/Cargo.toml" "--message-format" "json-render-diagnostics"
failed to run: /checkout/obj/build/bootstrap/debug/bootstrap dist --host x86_64-unknown-linux-gnu --target x86_64-unknown-linux-gnu --include-default-paths src/tools/build-manifest
Build completed unsuccessfully in 0:21:47
== clock drift check ==
local time: Thu Oct 22 05:51:05 UTC 2020
local time: Thu Oct 22 05:51:05 UTC 2020
network time: Thu, 22 Oct 2020 01:02:47 GMT
== end clock drift check ==
##[error]Process completed with exit code 1.
Terminate orphan process: pid (4598) (python)

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @rust-lang/infra. (Feature Requests)

@bors

bors commented Oct 22, 2020

Copy link
Copy Markdown
Collaborator

💔 Test failed - checks-actions

@borsbors added the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Oct 22, 2020
@matklad

matklad commented Oct 22, 2020

Copy link
Copy Markdown
Contributor

Impl-wise, I wonder if it would be easier to publish rustc_hash_ahash fork to crates.io? That way, all otherprojects can test using just a [patch.crates-io] in Cargo.toml.

EDITM: hm, I am not actually sure if patch allows replacing crates...

@jyn514

Copy link
Copy Markdown
MemberAuthor

Hmm the failure is weird - this is on an old branch, maybe I need to rebase over an llvm update or something?

 [100%] Linking CXX static library ../linux/libclang_rt.tsan-x86_64.a
[100%] Built target clang_rt.tsan-x86_64
cargo:root=/checkout/obj/build/x86_64-unknown-linux-gnu/native/sanitizers
finished in 13.541 seconds
Building stage1 std artifacts (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
Compiling cc v1.0.60
Compiling core v0.0.0 (/checkout/library/core)
Compiling libc v0.2.79
Compiling std v0.0.0 (/checkout/library/std)
Compiling compiler_builtins v0.1.35
Compiling unwind v0.0.0 (/checkout/library/unwind)
Compiling profiler_builtins v0.0.0 (/checkout/library/profiler_builtins)
rustc exited with signal: 9
error: could not compile `core`

Building locally now to make sure it isn't some weirdness with CI.

@jyn514

Copy link
Copy Markdown
MemberAuthor

I'm getting errors locally, too. Not sure what's going on.

thread 'rustc' panicked at 'forcing query with already existing `DepNode`
- query-key: crate0
- dep-node: index_hir(core[e6b8])', /home/joshua/rustc2/compiler/rustc_query_system/src/query/plumbing.rs:577:5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
error: internal compiler error: unexpected panic
note: the compiler unexpectedly panicked. this is a bug.
note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md
note: rustc 1.49.0-dev running on x86_64-unknown-linux-gnu
note: compiler flags: -Z macro-backtrace -Z binary-dep-depinfo -Z force-unstable-if-unmarked -C opt-level=3 -C embed-bitcode=no -C debuginfo=1 -C debug-assertions=on -C overflow-checks=off -C incremental -C link-args=-Wl,-rpath,$ORIGIN/../lib -C prefer-dynamic -C llvm-args=-import-instr-limit=10 -C embed-bitcode=yes --crate-type lib
note: some of the compiler flags provided by cargo are hidden
query stack during panic:
#0 [hir_owner] HIR owner of `macros`
#1 [analysis] running analysis passes on this crate
end of query stack
error: could not compile `core`

@tesuji

tesuji commented Oct 22, 2020

Copy link
Copy Markdown
Contributor

Does ahash pass the std tests ? I guess ahash produce different hash result than siphash.

@jyn514

Copy link
Copy Markdown
MemberAuthor

@lzutao there's no way to know; this error is while building libstd, and I can't run tests until the library is built.

@mati865

Copy link
Copy Markdown
Member

Hmm the failure is weird - this is on an old branch, maybe I need to rebase over an llvm update or something?

 [100%] Linking CXX static library ../linux/libclang_rt.tsan-x86_64.a
[100%] Built target clang_rt.tsan-x86_64
cargo:root=/checkout/obj/build/x86_64-unknown-linux-gnu/native/sanitizers
finished in 13.541 seconds
Building stage1 std artifacts (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
Compiling cc v1.0.60
Compiling core v0.0.0 (/checkout/library/core)
Compiling libc v0.2.79
Compiling std v0.0.0 (/checkout/library/std)
Compiling compiler_builtins v0.1.35
Compiling unwind v0.0.0 (/checkout/library/unwind)
Compiling profiler_builtins v0.0.0 (/checkout/library/profiler_builtins)
rustc exited with signal: 9
error: could not compile `core`

Building locally now to make sure it isn't some weirdness with CI.

That totally looks like OOM kill.

@jyn514jyn514 removed the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Oct 29, 2020
@bors

bors commented Oct 30, 2020

Copy link
Copy Markdown
Collaborator

☔ The latest upstream changes (presumably #78528) made this pull request unmergeable. Please resolve the merge conflicts.

Note that reviewers usually do not review pull requests until merge conflicts are resolved! Once you resolve the conflicts, you should change the labels applied by bors to indicate that your PR is ready for review. Post this as a comment to change the labels:

@rustbot modify labels: +S-waiting-on-review -S-waiting-on-author

@jyn514

Copy link
Copy Markdown
MemberAuthor

This was previously tried in #69153 (comment) and led to 1-4% regressions.

@jyn514jyn514 closed this Nov 17, 2020
@tkaitchuck

tkaitchuck commented Nov 17, 2020

Copy link
Copy Markdown
Contributor

@jyn514 That PR was prior to support for specialization which made significant performance improvements.
Comparing benchmarks then vs now, aHash now talks 1/2 the time to hash integers that it used to and and 2/3rds the time for strings.
I don't know if that will mean an aHash will now be faster or not. Because most of the compiler's use of hashmap use u64s etc as a key. In this case fxHash is just a single multiply instruction. It may be hard to improve upon. But it is probably worth testing again with specialization enabled. (This requires setting a feature flag at the moment)

This still uses std::collections::HashMap since there were a lot of
issues with AHashMap.
This also enables the `specialize` feature in hopes of getting better
performance.
@jyn514

Copy link
Copy Markdown
MemberAuthor

I updated this to use specialization in hopes it would be faster, and got rid of AHashMap because it was causing bugs. Now this uses HashMap<K, V, AHasher> directly.

Does anyone know the difference between AHasher and DefaultBuildHasher<AHasher>?

@bors try @rust-timer queue

@rust-timer

Copy link
Copy Markdown
Collaborator

Awaiting bors try build completion

@bors

bors commented Nov 22, 2020

Copy link
Copy Markdown
Collaborator

⌛ Trying commit 4e8aae3 with merge bea8ef10039b512489034f1fa2590703aebc8582...

@bors

bors commented Nov 22, 2020

Copy link
Copy Markdown
Collaborator

💔 Test failed - checks-actions

@jyn514

jyn514 commented Nov 22, 2020

Copy link
Copy Markdown
MemberAuthor

The CI failure looks like a segfault, which is weird - maybe it's using a lot more memory than FxHasher? Locally it panics instead:

thread 'rustc' panicked at 'forcing query with already existing `DepNode`
- query-key: crate0
- dep-node: index_hir(core[e6b8])', /home/joshua/rustc2/compiler/rustc_query_system/src/query/plumbing.rs:586:5
stack backtrace:
Backtrace
 0: rust_begin_unwind
at ./library/std/src/panicking.rs:493:5
1: std::panicking::begin_panic_fmt
at ./library/std/src/panicking.rs:435:5
2: rustc_query_system::query::plumbing::force_query_with_job
at ./compiler/rustc_query_system/src/query/plumbing.rs:586:5
3: rustc_query_system::query::plumbing::try_execute_query
at ./compiler/rustc_query_system/src/query/plumbing.rs:476:36
4: rustc_query_system::query::plumbing::get_query_impl::{{closure}}
at ./compiler/rustc_query_system/src/query/plumbing.rs:645:23
5: <rustc_query_system::query::caches::DefaultCache<K,V> as rustc_query_system::query::caches::QueryCache>::lookup
at ./compiler/rustc_query_system/src/query/caches.rs:114:79
6: rustc_query_system::query::plumbing::try_get_cached
at ./compiler/rustc_query_system/src/query/plumbing.rs:379:5
7: rustc_query_system::query::plumbing::get_query_impl
at ./compiler/rustc_query_system/src/query/plumbing.rs:637:5
8: rustc_query_system::query::plumbing::get_query
at ./compiler/rustc_query_system/src/query/plumbing.rs:739:5
9: rustc_middle::ty::query::TyCtxtAt::index_hir
at ./compiler/rustc_middle/src/ty/query/plumbing.rs:487:17
10: rustc_middle::ty::query::<impl rustc_middle::ty::context::TyCtxt>::index_hir
at ./compiler/rustc_middle/src/ty/query/plumbing.rs:448:17
11: rustc_middle::hir::provide::{{closure}}
at ./compiler/rustc_middle/src/hir/mod.rs:78:37
12: core::ops::function::FnOnce::call_once
at ./library/core/src/ops/function.rs:227:5
13: rustc_query_system::dep_graph::graph::DepGraph<K>::with_task_impl::{{closure}}
at ./compiler/rustc_query_system/src/dep_graph/graph.rs:249:53
14: rustc_middle::dep_graph::<impl rustc_query_system::dep_graph::DepKind for rustc_middle::dep_graph::dep_node::DepKind>::with_deps::{{closure}}::{{closure}}
at ./compiler/rustc_middle/src/dep_graph/mod.rs:71:46
15: rustc_middle::ty::context::tls::enter_context::{{closure}}
at ./compiler/rustc_middle/src/ty/context.rs:1735:50
16: rustc_middle::ty::context::tls::set_tlv
at ./compiler/rustc_middle/src/ty/context.rs:1719:9
17: rustc_middle::ty::context::tls::enter_context
at ./compiler/rustc_middle/src/ty/context.rs:1735:9
18: rustc_middle::dep_graph::<impl rustc_query_system::dep_graph::DepKind for rustc_middle::dep_graph::dep_node::DepKind>::with_deps::{{closure}}
at ./compiler/rustc_middle/src/dep_graph/mod.rs:71:13
19: rustc_middle::ty::context::tls::with_context::{{closure}}
at ./compiler/rustc_middle/src/ty/context.rs:1763:40
20: rustc_middle::ty::context::tls::with_context_opt
at ./compiler/rustc_middle/src/ty/context.rs:1752:22
21: rustc_middle::ty::context::tls::with_context
at ./compiler/rustc_middle/src/ty/context.rs:1763:9
22: rustc_middle::dep_graph::<impl rustc_query_system::dep_graph::DepKind for rustc_middle::dep_graph::dep_node::DepKind>::with_deps
at ./compiler/rustc_middle/src/dep_graph/mod.rs:68:9
23: rustc_query_system::dep_graph::graph::DepGraph<K>::with_task_impl
at ./compiler/rustc_query_system/src/dep_graph/graph.rs:249:17
24: rustc_query_system::query::plumbing::force_query_with_job::{{closure}}::{{closure}}
25: rustc_middle::ty::query::plumbing::<impl rustc_query_system::query::QueryContext for rustc_middle::ty::context::TyCtxt>::start_query::{{closure}}::{{closure}}::{{closure}}
at ./compiler/rustc_middle/src/ty/query/plumbing.rs:73:74
26: stacker::maybe_grow
at /home/joshua/.local/lib/cargo/registry/src/github.com-1ecc6299db9ec823/stacker-0.1.12/src/lib.rs:55:9
27: rustc_data_structures::stack::ensure_sufficient_stack
at ./compiler/rustc_data_structures/src/stack.rs:16:5
28: rustc_middle::ty::query::plumbing::<impl rustc_query_system::query::QueryContext for rustc_middle::ty::context::TyCtxt>::start_query::{{closure}}::{{closure}}
at ./compiler/rustc_middle/src/ty/query/plumbing.rs:73:17
29: rustc_middle::ty::context::tls::enter_context::{{closure}}
at ./compiler/rustc_middle/src/ty/context.rs:1735:50
30: rustc_middle::ty::context::tls::set_tlv
at ./compiler/rustc_middle/src/ty/context.rs:1719:9
31: rustc_middle::ty::context::tls::enter_context
at ./compiler/rustc_middle/src/ty/context.rs:1735:9
32: rustc_middle::ty::query::plumbing::<impl rustc_query_system::query::QueryContext for rustc_middle::ty::context::TyCtxt>::start_query::{{closure}}
at ./compiler/rustc_middle/src/ty/query/plumbing.rs:72:13
33: rustc_middle::ty::context::tls::with_related_context::{{closure}}
at ./compiler/rustc_middle/src/ty/context.rs:1779:13
34: rustc_middle::ty::context::tls::with_context::{{closure}}
at ./compiler/rustc_middle/src/ty/context.rs:1763:40
35: rustc_middle::ty::context::tls::with_context_opt
at ./compiler/rustc_middle/src/ty/context.rs:1752:22
36: rustc_middle::ty::context::tls::with_context
at ./compiler/rustc_middle/src/ty/context.rs:1763:9
37: rustc_middle::ty::context::tls::with_related_context
at ./compiler/rustc_middle/src/ty/context.rs:1776:9
38: rustc_middle::ty::query::plumbing::<impl rustc_query_system::query::QueryContext for rustc_middle::ty::context::TyCtxt>::start_query
at ./compiler/rustc_middle/src/ty/query/plumbing.rs:61:9
39: rustc_query_system::query::plumbing::force_query_with_job::{{closure}}
at ./compiler/rustc_query_system/src/query/plumbing.rs:598:9
40: rustc_query_system::query::plumbing::with_diagnostics
at ./compiler/rustc_query_system/src/query/plumbing.rs:302:18
41: rustc_query_system::query::plumbing::force_query_with_job
at ./compiler/rustc_query_system/src/query/plumbing.rs:597:51
42: rustc_query_system::query::plumbing::try_execute_query
at ./compiler/rustc_query_system/src/query/plumbing.rs:476:36
43: rustc_query_system::query::plumbing::get_query_impl::{{closure}}
at ./compiler/rustc_query_system/src/query/plumbing.rs:645:23
44: <rustc_query_system::query::caches::DefaultCache<K,V> as rustc_query_system::query::caches::QueryCache>::lookup
at ./compiler/rustc_query_system/src/query/caches.rs:114:79
45: rustc_query_system::query::plumbing::try_get_cached
at ./compiler/rustc_query_system/src/query/plumbing.rs:379:5
46: rustc_query_system::query::plumbing::get_query_impl
at ./compiler/rustc_query_system/src/query/plumbing.rs:637:5
47: rustc_query_system::query::plumbing::get_query
at ./compiler/rustc_query_system/src/query/plumbing.rs:739:5
48: rustc_middle::ty::query::TyCtxtAt::hir_owner
at ./compiler/rustc_middle/src/ty/query/plumbing.rs:487:17
49: rustc_middle::ty::query::<impl rustc_middle::ty::context::TyCtxt>::hir_owner
at ./compiler/rustc_middle/src/ty/query/plumbing.rs:448:17
50: rustc_middle::hir::map::Map::find_entry
at ./compiler/rustc_middle/src/hir/map/mod.rs:270:25
51: rustc_middle::hir::map::Map::find
at ./compiler/rustc_middle/src/hir/map/mod.rs:506:9
52: rustc_middle::hir::map::Map::expect_item
at ./compiler/rustc_middle/src/hir/map/mod.rs:731:15
53: rustc_middle::hir::map::Map::visit_item_likes_in_module
at ./compiler/rustc_middle/src/hir/map/mod.rs:463:32
54: rustc_passes::hir_id_validator::check_crate::{{closure}}
at ./compiler/rustc_passes/src/hir_id_validator.rs:19:9
55: core::iter::traits::iterator::Iterator::for_each::call::{{closure}}
at ./library/core/src/iter/traits/iterator.rs:675:29
56: core::iter::traits::iterator::Iterator::fold
at ./library/core/src/iter/traits/iterator.rs:2023:21
57: core::iter::traits::iterator::Iterator::for_each
at ./library/core/src/iter/traits/iterator.rs:678:9
58: rustc_passes::hir_id_validator::check_crate
at ./compiler/rustc_passes/src/hir_id_validator.rs:17:5
59: rustc_interface::passes::analysis
at ./compiler/rustc_interface/src/passes.rs:797:5
60: rustc_middle::ty::query::<impl rustc_query_system::query::config::QueryAccessors<rustc_middle::ty::context::TyCtxt> for rustc_middle::ty::query::queries::analysis>::compute
at ./compiler/rustc_middle/src/ty/query/plumbing.rs:377:17
61: rustc_query_system::dep_graph::graph::DepGraph<K>::with_task_impl::{{closure}}
at ./compiler/rustc_query_system/src/dep_graph/graph.rs:249:53
62: rustc_middle::dep_graph::<impl rustc_query_system::dep_graph::DepKind for rustc_middle::dep_graph::dep_node::DepKind>::with_deps::{{closure}}::{{closure}}
at ./compiler/rustc_middle/src/dep_graph/mod.rs:71:46
63: rustc_middle::ty::context::tls::enter_context::{{closure}}
at ./compiler/rustc_middle/src/ty/context.rs:1735:50
64: rustc_middle::ty::context::tls::set_tlv
at ./compiler/rustc_middle/src/ty/context.rs:1719:9
65: rustc_middle::ty::context::tls::enter_context
at ./compiler/rustc_middle/src/ty/context.rs:1735:9
66: rustc_middle::dep_graph::<impl rustc_query_system::dep_graph::DepKind for rustc_middle::dep_graph::dep_node::DepKind>::with_deps::{{closure}}
at ./compiler/rustc_middle/src/dep_graph/mod.rs:71:13
67: rustc_middle::ty::context::tls::with_context::{{closure}}
at ./compiler/rustc_middle/src/ty/context.rs:1763:40
68: rustc_middle::ty::context::tls::with_context_opt
at ./compiler/rustc_middle/src/ty/context.rs:1752:22
69: rustc_middle::ty::context::tls::with_context
at ./compiler/rustc_middle/src/ty/context.rs:1763:9
70: rustc_middle::dep_graph::<impl rustc_query_system::dep_graph::DepKind for rustc_middle::dep_graph::dep_node::DepKind>::with_deps
at ./compiler/rustc_middle/src/dep_graph/mod.rs:68:9
71: rustc_query_system::dep_graph::graph::DepGraph<K>::with_task_impl
at ./compiler/rustc_query_system/src/dep_graph/graph.rs:249:17
72: rustc_query_system::dep_graph::graph::DepGraph<K>::with_eval_always_task
at ./compiler/rustc_query_system/src/dep_graph/graph.rs:334:9
73: rustc_query_system::query::plumbing::force_query_with_job::{{closure}}::{{closure}}
at ./compiler/rustc_query_system/src/query/plumbing.rs:600:17
74: rustc_middle::ty::query::plumbing::<impl rustc_query_system::query::QueryContext for rustc_middle::ty::context::TyCtxt>::start_query::{{closure}}::{{closure}}::{{closure}}
at ./compiler/rustc_middle/src/ty/query/plumbing.rs:73:74
75: stacker::maybe_grow
at /home/joshua/.local/lib/cargo/registry/src/github.com-1ecc6299db9ec823/stacker-0.1.12/src/lib.rs:55:9
76: rustc_data_structures::stack::ensure_sufficient_stack
at ./compiler/rustc_data_structures/src/stack.rs:16:5
77: rustc_middle::ty::query::plumbing::<impl rustc_query_system::query::QueryContext for rustc_middle::ty::context::TyCtxt>::start_query::{{closure}}::{{closure}}
at ./compiler/rustc_middle/src/ty/query/plumbing.rs:73:17
78: rustc_middle::ty::context::tls::enter_context::{{closure}}
at ./compiler/rustc_middle/src/ty/context.rs:1735:50
79: rustc_middle::ty::context::tls::set_tlv
at ./compiler/rustc_middle/src/ty/context.rs:1719:9
80: rustc_middle::ty::context::tls::enter_context
at ./compiler/rustc_middle/src/ty/context.rs:1735:9
81: rustc_middle::ty::query::plumbing::<impl rustc_query_system::query::QueryContext for rustc_middle::ty::context::TyCtxt>::start_query::{{closure}}
at ./compiler/rustc_middle/src/ty/query/plumbing.rs:72:13
82: rustc_middle::ty::context::tls::with_related_context::{{closure}}
at ./compiler/rustc_middle/src/ty/context.rs:1779:13
83: rustc_middle::ty::context::tls::with_context::{{closure}}
at ./compiler/rustc_middle/src/ty/context.rs:1763:40
84: rustc_middle::ty::context::tls::with_context_opt
at ./compiler/rustc_middle/src/ty/context.rs:1752:22
85: rustc_middle::ty::context::tls::with_context
at ./compiler/rustc_middle/src/ty/context.rs:1763:9
86: rustc_middle::ty::context::tls::with_related_context
at ./compiler/rustc_middle/src/ty/context.rs:1776:9
87: rustc_middle::ty::query::plumbing::<impl rustc_query_system::query::QueryContext for rustc_middle::ty::context::TyCtxt>::start_query
at ./compiler/rustc_middle/src/ty/query/plumbing.rs:61:9
88: rustc_query_system::query::plumbing::force_query_with_job::{{closure}}
at ./compiler/rustc_query_system/src/query/plumbing.rs:598:9
89: rustc_query_system::query::plumbing::with_diagnostics
at ./compiler/rustc_query_system/src/query/plumbing.rs:302:18
90: rustc_query_system::query::plumbing::force_query_with_job
at ./compiler/rustc_query_system/src/query/plumbing.rs:597:51
91: rustc_query_system::query::plumbing::try_execute_query
at ./compiler/rustc_query_system/src/query/plumbing.rs:476:36
92: rustc_query_system::query::plumbing::get_query_impl::{{closure}}
at ./compiler/rustc_query_system/src/query/plumbing.rs:645:23
93: <rustc_query_system::query::caches::DefaultCache<K,V> as rustc_query_system::query::caches::QueryCache>::lookup
at ./compiler/rustc_query_system/src/query/caches.rs:114:79
94: rustc_query_system::query::plumbing::try_get_cached
at ./compiler/rustc_query_system/src/query/plumbing.rs:379:5
95: rustc_query_system::query::plumbing::get_query_impl
at ./compiler/rustc_query_system/src/query/plumbing.rs:637:5
96: rustc_query_system::query::plumbing::get_query
at ./compiler/rustc_query_system/src/query/plumbing.rs:739:5
97: rustc_middle::ty::query::TyCtxtAt::analysis
at ./compiler/rustc_middle/src/ty/query/plumbing.rs:487:17
98: rustc_middle::ty::query::<impl rustc_middle::ty::context::TyCtxt>::analysis
at ./compiler/rustc_middle/src/ty/query/plumbing.rs:448:17
99: rustc_driver::run_compiler::{{closure}}::{{closure}}::{{closure}}
at ./compiler/rustc_driver/src/lib.rs:435:59
100: rustc_interface::passes::QueryContext::enter::{{closure}}
at ./compiler/rustc_interface/src/passes.rs:725:42
101: rustc_middle::ty::context::tls::enter_context::{{closure}}
at ./compiler/rustc_middle/src/ty/context.rs:1735:50
102: rustc_middle::ty::context::tls::set_tlv
at ./compiler/rustc_middle/src/ty/context.rs:1719:9
103: rustc_middle::ty::context::tls::enter_context
at ./compiler/rustc_middle/src/ty/context.rs:1735:9
104: rustc_interface::passes::QueryContext::enter
at ./compiler/rustc_interface/src/passes.rs:725:9
105: rustc_driver::run_compiler::{{closure}}::{{closure}}
at ./compiler/rustc_driver/src/lib.rs:435:13
106: rustc_interface::queries::<impl rustc_interface::interface::Compiler>::enter
at ./compiler/rustc_interface/src/queries.rs:415:19
107: rustc_driver::run_compiler::{{closure}}
at ./compiler/rustc_driver/src/lib.rs:336:22
108: rustc_interface::interface::create_compiler_and_run::{{closure}}
at ./compiler/rustc_interface/src/interface.rs:196:13
109: rustc_span::with_source_map
at ./compiler/rustc_span/src/lib.rs:764:5
110: rustc_interface::interface::create_compiler_and_run
at ./compiler/rustc_interface/src/interface.rs:190:5
111: rustc_interface::interface::run_compiler::{{closure}}
at ./compiler/rustc_interface/src/interface.rs:212:12
112: rustc_interface::util::setup_callbacks_and_run_in_thread_pool_with_globals::{{closure}}::{{closure}}
at ./compiler/rustc_interface/src/util.rs:152:13
113: scoped_tls::ScopedKey<T>::set
at /home/joshua/.local/lib/cargo/registry/src/github.com-1ecc6299db9ec823/scoped-tls-1.0.0/src/lib.rs:137:9
114: rustc_span::with_session_globals
at ./compiler/rustc_span/src/lib.rs:93:5
115: rustc_interface::util::setup_callbacks_and_run_in_thread_pool_with_globals::{{closure}}
at ./compiler/rustc_interface/src/util.rs:150:9
116: rustc_interface::util::scoped_thread::{{closure}}
at ./compiler/rustc_interface/src/util.rs:125:24
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
query stack during panic:
#0 [hir_owner] HIR owner of `macros`
#1 [analysis] running analysis passes on this crate
end of query stack
error: could not compile `core`

@jyn514

Copy link
Copy Markdown
MemberAuthor

I don't plan to follow up on this. @tkaitchuck let me know if you want help getting this to work - I'm not sure exactly what's going wrong with the CI failure, but I can answer general questions about rustc.

@jyn514jyn514 closed this Nov 29, 2020
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

I-compiletimeIssue: Problems and improvements with respect to compile times.S-waiting-on-authorStatus: This is awaiting some action (such as code changes or more information) from the author.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

11 participants

@jyn514@rust-highfive@rust-timer@bors@workingjubilee@rust-log-analyzer@matklad@tesuji@mati865@tkaitchuck@petrochenkov