Skip to content

Commit 5cfaeeb

Browse files
committed
Add some logging to query cycles
``` rustc_query_impl::execution::try_execute_query query="hir_crate_items" ... rustc_query_impl::execution::try_execute_query query="lower_delayed_owner" ... rustc_query_impl::execution::try_execute_query query="asyncness" rustc_query_impl::execution::try_execute_query query="codegen_fn_attrs" rustc_query_impl::execution::try_execute_query query="hir_crate_items" 0ms INFO rustc_query_impl::execution hit a query cycle evaluating hir_crate_items! rustc_middle::queries::default_span self=hir_crate_items(()) rustc_middle::queries::default_span self=lower_delayed_owner(DefId(0:14 ~ bad_resolve[0a7b]::{impl#1}::bar)) rustc_query_impl::execution::try_execute_query query="def_span" rustc_query_impl::execution::try_execute_query query="local_def_id_to_hir_id" rustc_query_impl::execution::try_execute_query query="lower_delayed_owner" 0ms INFO rustc_query_impl::execution hit a query cycle evaluating lower_delayed_owner! rustc_middle::queries::default_span self=lower_delayed_owner(DefId(0:14 ~ bad_resolve[0a7b]::{impl#1}::bar)) rustc_query_impl::execution::try_execute_query query="def_span" 0ms INFO rustc_query_impl::execution hit a query cycle evaluating def_span! rustc_middle::queries::default_span self=def_span(DefId(0:14 ~ bad_resolve[0a7b]::{impl#1}::bar)) rustc_query_impl::execution::try_execute_query query="def_span" rustc_query_impl::execution::try_execute_query query="local_def_id_to_hir_id" rustc_query_impl::execution::try_execute_query query="opt_hir_owner_nodes" rustc_middle::queries::default_span self=local_def_id_to_hir_id(DefId(0:14 ~ bad_resolve[0a7b]::{impl#1}::bar)) rustc_query_impl::execution::try_execute_query query="def_span" ```
1 parent 5b90906 commit 5cfaeeb

2 files changed

Lines changed: 4 additions & 0 deletions

File tree

compiler/rustc_middle/src/query/plumbing.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -454,6 +454,7 @@ macro_rules! define_callbacks {
454454
}
455455

456456
/// Returns the default span for this query if `span` is a dummy span.
457+
#[tracing::instrument(level = "debug", skip(tcx, span))]
457458
pub fn default_span(&self, tcx: TyCtxt<'tcx>, span: Span) -> Span {
458459
if !span.is_dummy() {
459460
return span

compiler/rustc_query_impl/src/execution.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,8 @@ fn find_and_handle_cycle<'tcx, C: QueryCache>(
223223
try_execute: QueryJobId,
224224
span: Span,
225225
) -> (C::Value, Option<DepNodeIndex>) {
226+
tracing::info!("hit a query cycle evaluating {}!", query.name);
227+
226228
// Ensure there were no errors collecting all active jobs.
227229
// We need the complete map to ensure we find a cycle to break.
228230
let job_map = collect_active_query_jobs(tcx, CollectActiveJobsKind::FullNoContention);
@@ -278,6 +280,7 @@ fn wait_for_query<'tcx, C: QueryCache>(
278280

279281
/// Shared main part of both [`execute_query_incr_inner`] and [`execute_query_non_incr_inner`].
280282
#[inline(never)]
283+
#[tracing::instrument(level = "debug", skip_all, fields(query = query.name, key))]
281284
fn try_execute_query<'tcx, C: QueryCache, const INCR: bool>(
282285
query: &'tcx QueryVTable<'tcx, C>,
283286
tcx: TyCtxt<'tcx>,

0 commit comments

Comments
 (0)