Make create_def a side effect instead of marking the entire query as always red by oli-obk · Pull Request #115613 · rust-lang/rust (original) (raw)
The instruction count regressions are all coupled with wall time improvements.
There are real wall time regressions, but also improvements. I'd say overall it's a wash. Now I just need to see why hyper stops compiling lol
thread 'rustc' panicked at /rustc/7e4699b549dea8f2d757eedc700b8b7920960b79/compiler/rustc_query_system/src/dep_graph/graph.rs:644:13:
forcing query with already existing `DepNode`
- query-key: DefId(0:5121 ~ hyper[00ec]::body:📨:{impl#3}::send_trailers::{opaque#0}::'_)
- dep-node: def_span(hyper[00ec]::body:📨:{impl#3}::send_trailers::{opaque#0}::'_)
stack backtrace:
0: 0x7ffff5142ca3 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h843bbfd82b67dbdc
1: 0x7ffff57f5947 - core::fmt::write::hd8c0d6ebfc44b2d4
2: 0x7ffff6866d11 - std::io::Write::write_fmt::h5b8c479a0a891d96
3: 0x7ffff5142b02 - std::sys::backtrace::BacktraceLock::print::hf6561a214a42649d
4: 0x7ffff51466fa - std::panicking::default_hook::{{closure}}::hefab48d99c863da0
5: 0x7ffff514627f - std::panicking::default_hook::h8c9a67b2624f9598
6: 0x7ffff4175243 - std[3bc09ca882a9900e]::panicking::update_hook::<alloc[26935528e868a007]::boxed::Box<rustc_driver_impl[3855747714377aab]::install_ice_hook::{closure#1}>>::{closure#0}
7: 0x7ffff5146f73 - std::panicking::rust_panic_with_hook::h47f5c8be0d2f3f06
8: 0x7ffff5146c6a - std::panicking::begin_panic_handler::{{closure}}::h9f5fea5a52b8aa7f
9: 0x7ffff5143179 - std::sys::backtrace::__rust_end_short_backtrace::he85991374d8d1de3
10: 0x7ffff514692d - __rustc[7fca0b3884520f6e]::rust_begin_unwind
11: 0x7ffff1a78fa0 - core::panicking::panic_fmt::ha41e83c5413d3f79
12: 0x7ffff4010d35 - <rustc_query_system[d43e9aa0b402961a]::dep_graph::graph::DepGraphData<_>>::assert_dep_node_not_yet_allocated_in_current_session::panic_cold_display::<alloc[26935528e868a007]:🧵:String>
13: 0x7ffff5afc30e - rustc_query_system[d43e9aa0b402961a]::query::plumbing::try_execute_query::<rustc_query_impl[cd24fe2d0275ca9e]::DynamicConfig<rustc_query_system[d43e9aa0b402961a]::query::caches::DefIdCache<rustc_middle[53e9a5506c571025]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[cd24fe2d0275ca9e]::plumbing::QueryCtxt, true>
14: 0x7ffff5af8c30 - rustc_query_impl[cd24fe2d0275ca9e]::query_impl::def_span::get_query_incr::__rust_end_short_backtrace
15: 0x7ffff5d668d2 - <rustc_metadata[b7d544d8b75375ac]::rmeta::encoder::EncodeContext>::encode_def_ids
16: 0x7ffff5d4ca41 - <rustc_metadata[b7d544d8b75375ac]::rmeta::encoder::EncodeContext>::encode_crate_root
17: 0x7ffff6718fb0 - rustc_metadata[b7d544d8b75375ac]::rmeta::encoder::encode_metadata
18: 0x7ffff69a5b83 - rustc_metadata[b7d544d8b75375ac]::fs::encode_and_write_metadata
19: 0x7ffff69a0df4 - <rustc_interface[d603959c4b1939b1]::queries::Linker>::codegen_and_build_linker
20: 0x7ffff699ea38 - rustc_interface[d603959c4b1939b1]::passes::create_and_enter_global_ctxt::<core[a6f1d2c9471df5d6]::option::Option<rustc_interface[d603959c4b1939b1]::queries::Linker>, rustc_driver_impl[3855747714377aab]::run_compiler::{closure#0}::{closure#2}>::{closure#2}::{closure#0}
21: 0x7ffff689c2a6 - rustc_interface[d603959c4b1939b1]::interface::run_compiler::<(), rustc_driver_impl[3855747714377aab]::run_compiler::{closure#0}>::{closure#1}
22: 0x7ffff68609be - std[3bc09ca882a9900e]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[d603959c4b1939b1]::util::run_in_thread_with_globals<rustc_interface[d603959c4b1939b1]::util::run_in_thread_pool_with_globals<rustc_interface[d603959c4b1939b1]::interface::run_compiler<(), rustc_driver_impl[3855747714377aab]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
23: 0x7ffff6860e34 - <<std[3bc09ca882a9900e]::thread::Builder>::spawn_unchecked_<rustc_interface[d603959c4b1939b1]::util::run_in_thread_with_globals<rustc_interface[d603959c4b1939b1]::util::run_in_thread_pool_with_globals<rustc_interface[d603959c4b1939b1]::interface::run_compiler<(), rustc_driver_impl[3855747714377aab]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[a6f1d2c9471df5d6]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
24: 0x7ffff686222b - std::sys::pal::unix::thread::Thread:🆕:thread_start::h1ebe2cb76ad45bd5
25: 0x7ffff01cc6db - start_thread
at /build/glibc-CVJwZb/glibc-2.27/nptl/pthread_create.c:463:0
26: 0x7fffefef561f - __clone
at /build/glibc-CVJwZb/glibc-2.27/misc/../sysdeps/unix/sysv/linux/x86_64/clone.S:95:0
27: 0x0 - <unknown>
error: 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: please make sure that you have updated to the latest nightly
note: please attach the file at `/tmp/.tmpXTFFOD/rustc-ice-2025-05-08T14_14_47-5024.txt` to your bug report
note: compiler flags: --crate-type lib -C embed-bitcode=no -C debuginfo=2 -C incremental=[REDACTED] -Z incremental-verify-ich -Z self-profile=/tmp/.tmpXTFFOD/self-profile-output-5017-1746713687554
note: some of the compiler flags provided by cargo are hidden
query stack during panic:
#0 [def_span] looking up span for `body:📨:<impl at src/body/incoming.rs:351:1: 351:12>::send_trailers::{opaque#0}::'_`
end of query stack
thread 'main' panicked at collector/src/bin/rustc-fake.rs:31:5:
command did not complete successfully: LC_NUMERIC="C" RUSTC_FORCE_INCR_COMP_ARTIFACT_HEADER="rustc-perf" RUSTC_FORCE_RUSTC_VERSION="rustc-perf" "perf" "stat" "-x;" "-e" "instructions:u,cycles:u,task-clock,cpu-clock,faults,context-switches,branch-misses,cache-misses" "--log-fd" "1" "setarch" "x86_64" "-R" "/home/collector/rustc-perf/cache/7e4699b549dea8f2d757eedc700b8b7920960b79/bin/rustc" "--crate-name" "hyper" "--edition=2021" "src/lib.rs" "--error-format=json" "--json=diagnostic-rendered-ansi,artifacts,future-incompat" "--crate-type" "lib" "--emit=dep-info,metadata" "-C" "embed-bitcode=no" "-C" "debuginfo=2" "--warn=unexpected_cfgs" "--check-cfg" "cfg(hyper_unstable_tracing)" "--check-cfg" "cfg(hyper_unstable_ffi)" "--cfg" "feature=\"client\"" "--cfg" "feature=\"default\"" "--cfg" "feature=\"full\"" "--cfg" "feature=\"http1\"" "--cfg" "feature=\"http2\"" "--cfg" "feature=\"server\"" "--check-cfg" "cfg(docsrs,test)" "--check-cfg" "cfg(feature, values(\"capi\", \"client\", \"default\", \"ffi\", \"full\", \"http1\", \"http2\", \"nightly\", \"server\", \"tracing\"))" "-C" "metadata=4b197943049a7554" "-C" "extra-filename=-a84533cd2c2b70c8" "--out-dir" "/tmp/.tmpXTFFOD/target/debug/deps" "-L" "dependency=/tmp/.tmpXTFFOD/target/debug/deps" "--extern" "bytes=/tmp/.tmpXTFFOD/target/debug/deps/libbytes-41909bdff0288c17.rmeta" "--extern" "futures_channel=/tmp/.tmpXTFFOD/target/debug/deps/libfutures_channel-c83de858d5464c85.rmeta" "--extern" "futures_util=/tmp/.tmpXTFFOD/target/debug/deps/libfutures_util-3bbec5c951516809.rmeta" "--extern" "h2=/tmp/.tmpXTFFOD/target/debug/deps/libh2-9d9f848dfde867e9.rmeta" "--extern" "http=/tmp/.tmpXTFFOD/target/debug/deps/libhttp-58ce258cce83aa9f.rmeta" "--extern" "http_body=/tmp/.tmpXTFFOD/target/debug/deps/libhttp_body-9031adf98ad18672.rmeta" "--extern" "httparse=/tmp/.tmpXTFFOD/target/debug/deps/libhttparse-ed330500d3ff5544.rmeta" "--extern" "httpdate=/tmp/.tmpXTFFOD/target/debug/deps/libhttpdate-785a8fde9f31b304.rmeta" "--extern" "itoa=/tmp/.tmpXTFFOD/target/debug/deps/libitoa-552ebf7bdf4f013a.rmeta" "--extern" "pin_project_lite=/tmp/.tmpXTFFOD/target/debug/deps/libpin_project_lite-d5d269c14b1ea46f.rmeta" "--extern" "smallvec=/tmp/.tmpXTFFOD/target/debug/deps/libsmallvec-c5f88e6cd6396457.rmeta" "--extern" "tokio=/tmp/.tmpXTFFOD/target/debug/deps/libtokio-48b9a2e8785b0e4c.rmeta" "--extern" "want=/tmp/.tmpXTFFOD/target/debug/deps/libwant-abca090310cbd894.rmeta" "-C" "incremental=/tmp/.tmpXTFFOD/incremental-state" "-Adeprecated" "-Aunknown-lints" "-Zincremental-verify-ich" "-Zself-profile=/tmp/.tmpXTFFOD/self-profile-output-5017-1746713687554"
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
error: could not compile `hyper` (lib)