-
Notifications
You must be signed in to change notification settings - Fork 12.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Query panic!() to useful diagnostic #119086
Conversation
r? @davidtwco (rustbot has picked a reviewer for you, use r? to override) |
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 |
This comment has been minimized.
This comment has been minimized.
@bors r+ rollup |
🌲 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
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 🙈 |
Wait yes, please squash this @bors r- |
abe9c14
to
0d421c5
Compare
Okie dokie, forgot about this |
@bors r+ |
🌲 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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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