Uh oh!
There was an error while loading. Please reload this page.
Query panic!() to useful diagnostic - #119086
Conversation
rustbot
commented
Dec 18, 2023
r? @davidtwco (rustbot has picked a reviewer for you, use r? to override) |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
In the same vein as #118955 rust/compiler/rustc_query_system/src/dep_graph/mod.rs Lines 63 to 65 in 2a76340 |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
I see, so there are well defined errors that occur that will lead to a query being poisoned, then when checked they will be So as I have it right now it is useful for compiler bugs, but not useful for user-facing errors like those testing as it may be more confusing. I don't know enough about the query system to say if those are actually mutually exclusive. Maybe there's a way to signal there's a graceful error? Maybe a new |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
This comment has been minimized.
This comment has been minimized.
davidtwco
commented
Jan 3, 2024
@bors r+ rollup |
bors
commented
Jan 3, 2024
bors
commented
Jan 3, 2024
🌲 The tree is currently closed for pull requests below priority 100. This pull request will be tested once the tree is reopened. |
Query panic!() to useful diagnostic Changes some more ICEs from bare panic!()s Adds an `expect_job()` helper method as that is a moral equivalent of what was happening at the uses. re:rust-lang#118955
fmease
commented
Jan 3, 2024
10 commits for a +21/-11 diff is quite a lot. I've already rolled it up but I think that this should've been squashed 🙈 |
compiler-errors
commented
Jan 3, 2024
Wait yes, please squash this @bors r- |
RossSmyth
commented
Jan 3, 2024
Okie dokie, forgot about this |
compiler-errors
commented
Jan 3, 2024
@bors r+ |
bors
commented
Jan 3, 2024
bors
commented
Jan 3, 2024
🌲 The tree is currently closed for pull requests below priority 100. This pull request will be tested once the tree is reopened. |
Rollup of 21 pull requests Successful merges: - rust-lang#119086 (Query panic!() to useful diagnostic) - rust-lang#119239 (Remove unnecessary arm in `check_expr_yield`) - rust-lang#119298 (suppress change-tracker warnings in CI containers) - rust-lang#119319 (Document that File does not buffer reads/writes) - rust-lang#119434 (rc: Take *const T in is_dangling) - rust-lang#119444 (Rename `TyCtxt::is_closure` to `TyCtxt::is_closure_or_coroutine`) - rust-lang#119474 (Update tracking issue of naked_functions) - rust-lang#119476 (Pretty-print always-const trait predicates correctly) - rust-lang#119477 (rustdoc ui: adjust tooltip z-index to be above sidebar) - rust-lang#119479 (Remove two unused feature gates from rustc_query_impl) - rust-lang#119487 (Minor improvements in comment on `freshen.rs`) - rust-lang#119492 (Update books) - rust-lang#119494 (Deny defaults for higher-ranked generic parameters) - rust-lang#119498 (Update deadlinks of `strict_provenance` lints) - rust-lang#119505 (Don't synthesize host effect params for trait associated functions marked const) - rust-lang#119510 (Report I/O errors from rmeta encoding with emit_fatal) - rust-lang#119512 (Mark myself as back from leave) - rust-lang#119514 (coverage: Avoid a query stability hazard in `function_coverage_map`) - rust-lang#119523 (llvm: Allow `noundef` in codegen tests) - rust-lang#119534 (Update `thread_local` examples to use `local_key_cell_methods`) - rust-lang#119544 (Fix: Properly set vendor in i686-win7-windows-msvc target) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of rust-lang#119086 - RossSmyth:query_panics, r=compiler-errors Query panic!() to useful diagnostic Changes some more ICEs from bare panic!()s Adds an `expect_job()` helper method as that is a moral equivalent of what was happening at the uses. re:rust-lang#118955
| // The query we waited on panicked. Continue unwinding here. | ||
| Some(QueryResult::Poisoned) => FatalError.raise(), | ||
| Some(QueryResult::Poisoned) => { | ||
| panic!("query '{}' not cached due to poisoning", query.name()) |
There was a problem hiding this comment.
This branch now introduces a panic, which is not correct.
Don't panic when waiting on poisoned queries This fixes a bug introduced in rust-lang#119086.
Don't panic when waiting on poisoned queries This fixes a bug introduced in rust-lang#119086.
Don't panic when waiting on poisoned queries This fixes a bug introduced in rust-lang#119086.
Rollup merge of rust-lang#121913 - Zoxc:query-fix, r=compiler-errors Don't panic when waiting on poisoned queries This fixes a bug introduced in rust-lang#119086.
Changes some more ICEs from bare panic!()s
Adds an
expect_job()helper method as that is a moral equivalent of what was happening at the uses.re:#118955