Skip to content
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

merge queue: embarking main (c885de4) and [#7219 + #7218 + #7241 + #7226 + #7222 + #7238 + #7229] together #7243

Closed
wants to merge 34 commits into from
Closed
Changes from 1 commit
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
2812dba
Remove duplicate asserts
upbqdn Jul 15, 2023
5c061d9
Remove workarounds for inserting trees into NFS
upbqdn Jul 15, 2023
7868e71
Use correct height for constructing new chain
upbqdn Jul 15, 2023
60a287f
Don't push the 0th block into a chain
upbqdn Jul 15, 2023
0fd231c
Don't commit two blocks at the same height
upbqdn Jul 15, 2023
b4bf35c
Fix typo
teor2345 Jul 16, 2023
f6b8176
Add an async-error feature and an initial module structure
teor2345 Jul 11, 2023
ee78f36
Implement checking for panics in OS threads and async tasks
teor2345 Jul 12, 2023
74ce0d3
Implement waiting for panics in OS threads and async tasks
teor2345 Jul 13, 2023
a59b04e
Add a TODO to simplify some state request error handling
teor2345 Jul 13, 2023
35cdec5
Use the new panic-checking methods in zebra-state
teor2345 Jul 13, 2023
4b59bdd
Use new panic-checking methods in zebra-network
teor2345 Jul 17, 2023
9ddf377
fixup! Implement waiting for panics in OS threads and async tasks
teor2345 Jul 17, 2023
93ecfc5
Replace existing async code with generic panic-checking methods
teor2345 Jul 17, 2023
7c31404
Simplify trait to a single method
teor2345 Jul 17, 2023
22b0c5b
Move thread panic code into generic trait impls
teor2345 Jul 17, 2023
b54da8b
Generate chains with at least two blocks
upbqdn Jul 17, 2023
6c2eaa4
Merge branch 'fix-height-in-tests' of github.com:ZcashFoundation/zebr…
upbqdn Jul 17, 2023
389a2ba
build(deps): bump the cli group with 1 update
dependabot[bot] Jul 17, 2023
6910116
Simplify option handling
teor2345 Jul 17, 2023
0e65540
Fix comment
teor2345 Jul 17, 2023
b6a4f63
Add missing track_caller
teor2345 Jul 17, 2023
e6687b2
build(deps): bump insta from 1.30.0 to 1.31.0
dependabot[bot] Jul 17, 2023
6c3cf02
build(deps): bump the crypto group with 1 update
dependabot[bot] Jul 17, 2023
d4896be
Bumps sha2/secp256k1, updates deny.toml
arya2 Jul 17, 2023
deea124
removes unused import, updates method calls
arya2 Jul 17, 2023
a358127
Change dependabot.yml Actions schedule and fix groups
teor2345 Jul 18, 2023
2e248b8
Merge of #7219
mergify[bot] Jul 18, 2023
859acaf
Merge of #7218
mergify[bot] Jul 18, 2023
772aa04
Merge of #7241
mergify[bot] Jul 18, 2023
220277a
Merge of #7226
mergify[bot] Jul 18, 2023
3c3e64a
Merge of #7222
mergify[bot] Jul 18, 2023
4da828f
Merge of #7238
mergify[bot] Jul 18, 2023
e504245
Merge of #7229
mergify[bot] Jul 18, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
fixup! Implement waiting for panics in OS threads and async tasks
  • Loading branch information
teor2345 committed Jul 17, 2023
commit 9ddf37716cb9d1d3d194e245ff7e08e11bdcebac
26 changes: 3 additions & 23 deletions zebra-chain/src/diagnostic/task/future.rs
Original file line number Diff line number Diff line change
Expand Up @@ -85,29 +85,9 @@ where
#[track_caller]
fn panic_on_early_termination(self) -> Self::UnwrappedOutput {
async move {
let join_error = match self.await {
Ok(task_output) => return task_output,
Err(join_error) => join_error,
};

match join_error.try_into_panic() {
Ok(panic_payload) => panic::resume_unwind(panic_payload),

// We can ignore this error by making the future wait forever.
// Waiting forever is only correct when Zebra is shutting down,
// otherwise it could lead to hangs.
Err(task_cancelled) if is_shutting_down() => {
debug!(
?task_cancelled,
"ignoring cancelled task because Zebra is shutting down"
);

future::pending().await
}

Err(task_cancelled) => {
panic!("task cancelled during normal Zebra operation: {task_cancelled:?}");
}
match self.await.check_for_panics() {
Ok(task_output) => task_output,
Err(_expected_cancel_error) => future::pending().await,
}
}
.boxed()
Expand Down