Closed
Description
This started to appear on Rust stable (1.72) after 66e8cb8 is merged. It failed when we tried to check style for all the features.
++ for_all_features 'cargo clippy'
++ cargo clippy --features vm_space,ro_space,code_space,vo_bit,is_mmtk_object,object_pinning,immix_non_moving,immix_smaller_block,immix_zero_on_release,sanity,analysis,nogc_lock_free,nogc_no_zeroing,single_worker,extreme_assertions,nogc_multi_space,work_packet_stats,malloc_counted_size,count_live_bytes_in_gc
Compiling mmtk v0.19.0 (/home/runner/work/mmtk-core/mmtk-core)
thread 'rustc' panicked at 'forcing query with already existing `DepNode`
- query-key: (ByRef { alloc: ConstAllocation { .. }, offset: Size(0 bytes) }, util::metadata::side_metadata::global::SideMetadataSpec)
- dep-node: try_destructure_mir_constant_for_diagnostics(8ee85db3da0b8d25-401d3d57adad2b0d)', /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/compiler/rustc_query_system/src/dep_graph/graph.rs:351:9
stack backtrace:
0: 0xee2eda78 - std::backtrace_rs::backtrace::libunwind::trace::ha70eea129e7d2a5b
at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
1: 0xee2eda78 - std::backtrace_rs::backtrace::trace_unsynchronized::hf2790414cd064fa3
at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
2: 0xee2eda78 - std::sys_common::backtrace::_print_fmt::h20ee8058fc5e04f2
at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/sys_common/backtrace.rs:65:5
3: 0xee2eda78 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h58d518f543159de3
at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/sys_common/backtrace.rs:44:22
4: 0xee353940 - core::fmt::rt::Argument::fmt::he75d9d0eb5a029aa
at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/core/src/fmt/rt.rs:138:9
5: 0xee353940 - core::fmt::write::h987f34a58eca8dd1
at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/core/src/fmt/mod.rs:1094:21
6: 0xee2e0e8d - std::io::Write::write_fmt::h2cfa48842b7a2ff9
at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/io/mod.rs:1714:15
7: 0xee2ed88f - std::sys_common::backtrace::_print::ha0a9f9ec697dc419
at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/sys_common/backtrace.rs:47:5
8: 0xee2ed88f - std::sys_common::backtrace::print::hf942f2ccdf9d3ad3
at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/sys_common/backtrace.rs:34:9
9: 0xee2f03ce - std::panicking::default_hook::{{closure}}::he1e48cebbd0e82cc
at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/panicking.rs:269:22
10: 0xee2f0141 - std::panicking::default_hook::h06560cc01213988c
at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/panicking.rs:288:9
11: 0xee2b181c - core::ops::function::Fn::call::hb10e9f424c5f28b0
at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/core/src/ops/function.rs:79:5
12: 0xeeb37309 - rustc_driver_impl[1172afe80aba862a]::install_ice_hook::{closure#0}
13: 0xee2f0c3f - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h48cdcb91d51272b4
at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/alloc/src/boxed.rs:2007:9
14: 0xee2f0c3f - std::panicking::rust_panic_with_hook::h30252ba29e857cf4
at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/panicking.rs:709:13
15: 0xee2f09ac - std::panicking::begin_panic_handler::{{closure}}::h6498c274e8e6e233
at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/panicking.rs:597:13
16: 0xee2edf15 - std::sys_common::backtrace::__rust_end_short_backtrace::h9a1a56ab25f65660
at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/sys_common/backtrace.rs:151:18
17: 0xee2f06a2 - rust_begin_unwind
at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/panicking.rs:593:5
18: 0xee2aeb25 - core::panicking::panic_fmt::h68c7ebc5f78d740a
at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/core/src/panicking.rs:67:14
19: 0xf2e8d318 - rustc_query_system[25087abe48ce79b3]::query::plumbing::try_execute_query::<rustc_query_impl[fad54e99a352df03]::DynamicConfig<rustc_query_system[25087abe48ce79b3]::query::caches::DefaultCache<(rustc_middle[4da1f22c666fd593]::mir::interpret::value::ConstValue, rustc_middle[4da1f22c666fd593]::ty::Ty), rustc_middle[4da1f22c666fd593]::query::erase::Erased<[u8; 12usize]>>, false, false, false>, rustc_query_impl[fad54e99a352df03]::plumbing::QueryCtxt, true>
20: 0xf2c2021f - rustc_query_impl[fad54e99a352df03]::query_impl::try_destructure_mir_constant_for_diagnostics::get_query_incr::__rust_end_short_backtrace
21: 0x56b7642d - clippy_utils[f412eda6244949d3]::consts::field_of_struct
22: 0x56b725cd - <clippy_utils[f412eda6244949d3]::consts::ConstEvalLateContext>::expr
23: 0x56b70ce3 - clippy_utils[f412eda6244949d3]::consts::constant_simple
24: 0x56a8cdba - clippy_lints[21fafd3b5a6aeb5f]::operators::identity_op::check
25: 0x568a6b37 - <clippy_lints[21fafd3b5a6aeb5f]::operators::Operators as rustc_lint[3a9b49d9fa11ea76]::passes::LateLintPass>::check_expr
26: 0xf37e8991 - <rustc_lint[3a9b49d9fa11ea76]::late::RuntimeCombinedLateLintPass as rustc_lint[3a9b49d9fa11ea76]::passes::LateLintPass>::check_expr
27: 0xeed256ad - <rustc_lint[3a9b49d9fa11ea76]::late::LateContextAndPass<rustc_lint[3a9b49d9fa11ea76]::late::RuntimeCombinedLateLintPass> as rustc_hir[800ed4f110abd428]::intravisit::Visitor>::visit_expr
28: 0xeeca3b93 - rustc_hir[800ed4f110abd428]::intravisit::walk_body::<rustc_lint[3a9b49d9fa11ea76]::late::LateContextAndPass<rustc_lint[3a9b49d9fa11ea76]::late::RuntimeCombinedLateLintPass>>
29: 0xeed25e6f - <rustc_lint[3a9b49d9fa11ea76]::late::LateContextAndPass<rustc_lint[3a9b49d9fa11ea76]::late::RuntimeCombinedLateLintPass> as rustc_hir[800ed4f110abd428]::intravisit::Visitor>::visit_nested_body
30: 0xeeca4a05 - rustc_hir[800ed4f110abd428]::intravisit::walk_item::<rustc_lint[3a9b49d9fa11ea76]::late::LateContextAndPass<rustc_lint[3a9b49d9fa11ea76]::late::RuntimeCombinedLateLintPass>>
31: 0xeed27f9e - <rustc_lint[3a9b49d9fa11ea76]::late::LateContextAndPass<rustc_lint[3a9b49d9fa11ea76]::late::RuntimeCombinedLateLintPass> as rustc_hir[800ed4f110abd428]::intravisit::Visitor>::visit_nested_item
32: 0xeeca4c4e - rustc_hir[800ed4f110abd428]::intravisit::walk_item::<rustc_lint[3a9b49d9fa11ea76]::late::LateContextAndPass<rustc_lint[3a9b49d9fa11ea76]::late::RuntimeCombinedLateLintPass>>
33: 0xeed27f9e - <rustc_lint[3a9b49d9fa11ea76]::late::LateContextAndPass<rustc_lint[3a9b49d9fa11ea76]::late::RuntimeCombinedLateLintPass> as rustc_hir[800ed4f110abd428]::intravisit::Visitor>::visit_nested_item
34: 0xeeca4c4e - rustc_hir[800ed4f110abd428]::intravisit::walk_item::<rustc_lint[3a9b49d9fa11ea76]::late::LateContextAndPass<rustc_lint[3a9b49d9fa11ea76]::late::RuntimeCombinedLateLintPass>>
35: 0xeed27f9e - <rustc_lint[3a9b49d9fa11ea76]::late::LateContextAndPass<rustc_lint[3a9b49d9fa11ea76]::late::RuntimeCombinedLateLintPass> as rustc_hir[800ed4f110abd428]::intravisit::Visitor>::visit_nested_item
36: 0xeed2249b - rustc_lint[3a9b49d9fa11ea76]::late::late_lint_crate::<rustc_lint[3a9b49d9fa11ea76]::BuiltinCombinedLateLintPass>
37: 0xeecda661 - <rustc_session[c1b535b10516fa25]::session::Session>::time::<(), rustc_lint[3a9b49d9fa11ea76]::late::check_crate<rustc_lint[3a9b49d9fa11ea76]::BuiltinCombinedLateLintPass, rustc_interface[62f1da0fa23c6cc2]::passes::analysis::{closure#5}::{closure#1}::{closure#2}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}>
38: 0xeecdaaa1 - <rustc_session[c1b535b10516fa25]::session::Session>::time::<(), rustc_interface[62f1da0fa23c6cc2]::passes::analysis::{closure#5}::{closure#1}::{closure#2}::{closure#0}>
39: 0xeed072c5 - <core[76df6b3651442529]::panic::unwind_safe::AssertUnwindSafe<rustc_interface[62f1da0fa23c6cc2]::passes::analysis::{closure#5}::{closure#1}> as core[76df6b3651442529]::ops::function::FnOnce<()>>::call_once
40: 0xeecdc4cd - <rustc_session[c1b535b10516fa25]::session::Session>::time::<(), rustc_interface[62f1da0fa23c6cc2]::passes::analysis::{closure#5}>
41: 0xeed5153d - rustc_interface[62f1da0fa23c6cc2]::passes::analysis
42: 0xf2bc0f8f - rustc_query_impl[fad54e99a352df03]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[fad54e99a352df03]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[4da1f22c666fd593]::query::erase::Erased<[u8; 1usize]>>
43: 0xf2ddfa1a - <rustc_query_impl[fad54e99a352df03]::query_impl::analysis::dynamic_query::{closure#2} as core[76df6b3651442529]::ops::function::FnOnce<(rustc_middle[4da1f22c666fd593]::ty::context::TyCtxt, ())>>::call_once
44: 0xf2e23287 - rustc_query_system[25087abe48ce79b3]::query::plumbing::try_execute_query::<rustc_query_impl[fad54e99a352df03]::DynamicConfig<rustc_query_system[25087abe48ce79b3]::query::caches::SingleCache<rustc_middle[4da1f22c666fd593]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[fad54e99a352df03]::plumbing::QueryCtxt, true>
45: 0xf2d08923 - rustc_query_impl[fad54e99a352df03]::query_impl::analysis::get_query_incr::__rust_end_short_backtrace
46: 0xeeb909dd - <rustc_middle[4da1f22c666fd593]::ty::context::GlobalCtxt>::enter::<rustc_driver_impl[1172afe80aba862a]::run_compiler::{closure#1}::{closure#2}::{closure#4}, core[76df6b3651442529]::result::Result<(), rustc_span[b5574735174ee799]::ErrorGuaranteed>>
47: 0xeeb75976 - <rustc_interface[62f1da0fa23c6cc2]::queries::QueryResult<&rustc_middle[4da1f22c666fd593]::ty::context::GlobalCtxt>>::enter::<core[76df6b3651442529]::result::Result<(), rustc_span[b5574735174ee799]::ErrorGuaranteed>, rustc_driver_impl[1172afe80aba862a]::run_compiler::{closure#1}::{closure#2}::{closure#4}>
48: 0xeeb433ee - <rustc_interface[62f1da0fa23c6cc2]::interface::Compiler>::enter::<rustc_driver_impl[1172afe80aba862a]::run_compiler::{closure#1}::{closure#2}, core[76df6b3651442529]::result::Result<core[76df6b3651442529]::option::Option<rustc_interface[62f1da0fa23c6cc2]::queries::Linker>, rustc_span[b5574735174ee799]::ErrorGuaranteed>>
49: 0xeeb74608 - rustc_span[b5574735174ee799]::set_source_map::<core[76df6b3651442529]::result::Result<(), rustc_span[b5574735174ee799]::ErrorGuaranteed>, rustc_interface[62f1da0fa23c6cc2]::interface::run_compiler<core[76df6b3651442529]::result::Result<(), rustc_span[b5574735174ee799]::ErrorGuaranteed>, rustc_driver_impl[1172afe80aba862a]::run_compiler::{closure#1}>::{closure#0}::{closure#0}>
50: 0xeeb69e98 - <scoped_tls[4006e75f543c45e4]::ScopedKey<rustc_span[b5574735174ee799]::SessionGlobals>>::set::<rustc_interface[62f1da0fa23c6cc2]::interface::run_compiler<core[76df6b3651442529]::result::Result<(), rustc_span[b5574735174ee799]::ErrorGuaranteed>, rustc_driver_impl[1172afe80aba862a]::run_compiler::{closure#1}>::{closure#0}, core[76df6b3651442529]::result::Result<(), rustc_span[b5574735174ee799]::ErrorGuaranteed>>
51: 0xeeb5ee33 - std[8318b20a33bd2287]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[62f1da0fa23c6cc2]::util::run_in_thread_pool_with_globals<rustc_interface[62f1da0fa23c6cc2]::interface::run_compiler<core[76df6b3651442529]::result::Result<(), rustc_span[b5574735174ee799]::ErrorGuaranteed>, rustc_driver_impl[1172afe80aba862a]::run_compiler::{closure#1}>::{closure#0}, core[76df6b3651442529]::result::Result<(), rustc_span[b5574735174ee799]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[76df6b3651442529]::result::Result<(), rustc_span[b5574735174ee799]::ErrorGuaranteed>>
52: 0xeeb988ca - <<std[8318b20a33bd2287]::thread::Builder>::spawn_unchecked_<rustc_interface[62f1da0fa23c6cc2]::util::run_in_thread_pool_with_globals<rustc_interface[62f1da0fa23c6cc2]::interface::run_compiler<core[76df6b3651442529]::result::Result<(), rustc_span[b5574735174ee799]::ErrorGuaranteed>, rustc_driver_impl[1172afe80aba862a]::run_compiler::{closure#1}>::{closure#0}, core[76df6b3651442529]::result::Result<(), rustc_span[b5574735174ee799]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[76df6b3651442529]::result::Result<(), rustc_span[b5574735174ee799]::ErrorGuaranteed>>::{closure#1} as core[76df6b3651442529]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
53: 0xee2fb76b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h3b648595c157383b
at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/alloc/src/boxed.rs:1993:9
54: 0xee2fb76b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::he4fd5407a55440e4
at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/alloc/src/boxed.rs:1993:9
55: 0xee2fb76b - std::sys::unix::thread::Thread::new::thread_start::h83939deda7afa123
at /rustc/5680fa18feaa87f3ff04063800aec256c3d4b4be/library/std/src/sys/unix/thread.rs:108:17
56: 0xedf5cb91 - <unknown>
57: 0xedff[96](https://github.com/mmtk/mmtk-core/actions/runs/6022411034/job/16337106486#step:7:97)4c - <unknown>
58: 0x0 - <unknown>
error: the compiler unexpectedly panicked. this is a bug.
note: we would appreciate a bug report: https://github.com/rust-lang/rust-clippy/issues/new
note: rustc 1.72.0 (5680fa18f 2023-08-23) running on i686-unknown-linux-gnu
note: compiler flags: --crate-type rlib -C embed-bitcode=no -C debuginfo=2 -C incremental=[REDACTED]
note: some of the compiler flags provided by cargo are hidden
query stack during panic:
#0 [try_destructure_mir_constant_for_diagnostics] destructuring MIR constant
#1 [analysis] running analysis passes on this crate
end of query stack
note: Clippy version: clippy 0.1.72 (5680fa1 2023-08-23)
error: could not compile `mmtk` (lib)
Before the PR, clippy with Rust 1.72 failed at the step of checking with default features (one step before checking with all the features), complaining that clippy::cast_ref_to_mut
is renamed.
RUSTFLAGS='-D warnings'
++ cargo clippy
Compiling proc-macro2 v1.0.[6](https://github.com/mmtk/mmtk-core/actions/runs/6021389477/job/16334181544#step:7:7)6
Compiling unicode-ident v1.0.11
Compiling libc v0.2.14[7](https://github.com/mmtk/mmtk-core/actions/runs/6021389477/job/16334181544#step:7:8)
Compiling autocfg v1.1.0
Compiling quote v1.0.33
Compiling syn v2.0.29
Compiling jobserver v0.1.26
Compiling cc v1.0.[8](https://github.com/mmtk/mmtk-core/actions/runs/6021389477/job/16334181544#step:7:9)3
Compiling pkg-config v0.3.27
Checking cfg-if v1.0.0
Compiling crossbeam-utils v0.8.16
Compiling vcpkg v0.2.15
Compiling tinyvec_macros v0.1.1
Compiling thiserror v1.0.47
Compiling tinyvec v1.6.0
Compiling libz-sys v1.1.12
Compiling thiserror-impl v1.0.47
Compiling memoffset v0.[9](https://github.com/mmtk/mmtk-core/actions/runs/6021389477/job/16334181544#step:7:10).0
Checking scopeguard v1.2.0
Compiling serde v1.0.188
Compiling unicode-normalization v0.1.22
Compiling serde_derive v1.0.188
Compiling crossbeam-epoch v0.9.15
Compiling ucd-trie v0.1.6
Compiling version_check v0.9.4
Compiling percent-encoding v2.3.0
Compiling unicode-bidi v0.3.13
Compiling idna v0.4.0
Compiling form_urlencoded v1.2.0
Compiling pest v2.7.2
Compiling libgit2-sys v0.14.2+1.5.1
Compiling semver v1.0.18
Compiling syn v1.0.[10](https://github.com/mmtk/mmtk-core/actions/runs/6021389477/job/16334181544#step:7:11)9
Compiling semver-parser v0.10.2
Compiling url v2.4.1
Compiling toml v0.5.[11](https://github.com/mmtk/mmtk-core/actions/runs/6021389477/job/16334181544#step:7:12)
Compiling semver v0.11.0
Checking crossbeam-deque v0.8.3
Compiling proc-macro-error-attr v1.0.4
Checking crossbeam-channel v0.5.8
Compiling log v0.4.20
Compiling bitflags v1.3.2
Compiling rayon-core v1.11.0
Compiling rustix v0.38.10
Checking memchr v2.6.1
Checking aho-corasick v1.0.5
Checking num_cpus v1.16.0
Compiling cargo-lock v8.0.3
Compiling rustc_version v0.3.3
Compiling proc-macro-error v1.0.4
Compiling lock_api v0.4.10
Checking regex-syntax v0.7.5
Compiling rustversion v1.0.14
Compiling crossbeam-queue v0.3.8
Checking bitflags v2.4.0
Checking linux-raw-sys v0.4.5
Checking either v1.9.0
Checking regex-automata v0.3.7
Compiling atomic-traits v0.3.0
Compiling num-traits v0.2.16
Checking regex v1.9.4
Checking rayon v1.7.0
Checking is-terminal v0.4.9
Compiling enum-map-derive v0.[13](https://github.com/mmtk/mmtk-core/actions/runs/6021389477/job/16334181544#step:7:14).0
Compiling heck v0.4.1
Checking termcolor v1.2.0
Checking once_cell v1.18.0
Checking humantime v2.1.0
Checking sysinfo v0.29.9
Checking env_logger v0.10.0
Compiling strum_macros v0.24.3
Checking enum-map v2.6.1
Checking crossbeam v0.8.2
Checking spin v0.9.8
Compiling mmtk-macros v0.19.0 (/home/runner/work/mmtk-core/mmtk-core/macros)
Checking itertools v0.10.5
Compiling delegate v0.9.0
Checking lazy_static v1.4.0
Checking static_assertions v1.1.0
Checking atomic v0.5.3
Checking downcast-rs v1.2.0
Checking atomic_refcell v0.1.11
Checking strum v0.24.1
Checking probe v0.5.1
Compiling git2 v0.[16](https://github.com/mmtk/mmtk-core/actions/runs/6021389477/job/16334181544#step:7:17).1
Compiling built v0.6.0
Compiling mmtk v0.19.0 (/home/runner/work/mmtk-core/mmtk-core)
error: unnecessary `pub(self)`
--> src/scheduler/mod.rs:10:1
|
10 | pub(self) mod work_counter;
| ^^^^^^^^^ help: remove it
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_pub_self
= note: `-D clippy::needless-pub-self` implied by `-D warnings`
error: lint `clippy::cast_ref_to_mut` has been renamed to `invalid_reference_casting`
--> src/scheduler/gc_work.rs:49:[17](https://github.com/mmtk/mmtk-core/actions/runs/6021389477/job/16334181544#step:7:18)
|
[49](https://github.com/mmtk/mmtk-core/actions/runs/6021389477/job/16334181544#step:7:50) | #[allow(clippy::cast_ref_to_mut)]
| ^^^^^^^^^^^^^^^^^^^^^^^ help: use the new name: `invalid_reference_casting`
|
= note: `-D renamed-and-removed-lints` implied by `-D warnings`