lighthouse/beacon_node/beacon_chain/src
Paul Hauner 7a64994283 Call per_slot_task from a blocking thread (v2) (#3199)
*This PR was adapted from @pawanjay176's work in #3197.*

## Issue Addressed

Fixes a regression in https://github.com/sigp/lighthouse/pull/3168

## Proposed Changes

https://github.com/sigp/lighthouse/pull/3168 added calls to `fork_choice` in  `BeaconChain::per_slot_task` function. This leads to a panic as `per_slot_task` is called from an async context which calls fork choice, which then calls `block_on`.

This PR changes the timer to call the `per_slot_task` function in a blocking thread.

Co-authored-by: Pawan Dhananjay <pawandhananjay@gmail.com>
2022-05-20 23:05:07 +00:00
..
attestation_verification Batch BLS verification for attestations (#2399) 2021-09-22 08:49:41 +00:00
schema_change Separate execution payloads in the DB (#3157) 2022-05-12 00:42:17 +00:00
attestation_verification.rs Ignore attestations to finalized blocks (don't reject) (#3052) 2022-03-04 00:41:22 +00:00
attester_cache.rs Add early attester cache (#2872) 2022-01-11 01:35:55 +00:00
beacon_chain.rs Call per_slot_task from a blocking thread (v2) (#3199) 2022-05-20 23:05:07 +00:00
beacon_fork_choice_store.rs Separate execution payloads in the DB (#3157) 2022-05-12 00:42:17 +00:00
beacon_proposer_cache.rs Prepare proposer (#3043) 2022-03-09 00:42:05 +00:00
beacon_snapshot.rs Separate execution payloads in the DB (#3157) 2022-05-12 00:42:17 +00:00
block_reward.rs Separate execution payloads in the DB (#3157) 2022-05-12 00:42:17 +00:00
block_times_cache.rs Add BlockTimesCache to allow additional block delay metrics (#2546) 2021-09-30 04:31:41 +00:00
block_verification.rs Fix Rust 1.61 clippy lints (#3192) 2022-05-20 05:02:13 +00:00
builder.rs Run fork choice before block proposal (#3168) 2022-05-20 05:02:11 +00:00
chain_config.rs Run fork choice before block proposal (#3168) 2022-05-20 05:02:11 +00:00
early_attester_cache.rs Prevent attestation to future blocks from early attester cache (#3183) 2022-05-17 01:51:25 +00:00
errors.rs Run fork choice before block proposal (#3168) 2022-05-20 05:02:11 +00:00
eth1_chain.rs Removed PowBlock struct that never got used (#2813) 2021-12-02 14:29:20 +11:00
events.rs Implement API for block rewards (#2628) 2022-01-27 01:06:02 +00:00
execution_payload.rs Separate execution payloads in the DB (#3157) 2022-05-12 00:42:17 +00:00
fork_choice_signal.rs Run fork choice before block proposal (#3168) 2022-05-20 05:02:11 +00:00
fork_revert.rs Separate execution payloads in the DB (#3157) 2022-05-12 00:42:17 +00:00
head_tracker.rs Altair consensus changes and refactors (#2279) 2021-07-09 06:15:32 +00:00
historical_blocks.rs Separate execution payloads in the DB (#3157) 2022-05-12 00:42:17 +00:00
lib.rs Run fork choice before block proposal (#3168) 2022-05-20 05:02:11 +00:00
metrics.rs Run fork choice before block proposal (#3168) 2022-05-20 05:02:11 +00:00
migrate.rs Separate execution payloads in the DB (#3157) 2022-05-12 00:42:17 +00:00
naive_aggregation_pool.rs Update to Rust 1.59 and 2021 edition (#3038) 2022-02-25 00:10:17 +00:00
observed_aggregates.rs v2.2.0 (#3139) 2022-04-05 02:53:09 +00:00
observed_attesters.rs Ensure doppelganger detects attestations in blocks (#2495) 2021-08-09 02:43:03 +00:00
observed_block_producers.rs Doppelganger detection (#2230) 2021-07-31 03:50:52 +00:00
observed_operations.rs Clippy 1.49.0 updates and dht persistence test fix (#2156) 2021-01-19 00:34:28 +00:00
persisted_beacon_chain.rs Fix head tracker concurrency bugs (#1771) 2020-10-19 05:58:39 +00:00
persisted_fork_choice.rs Optimise balances cache in case of skipped slots (#2849) 2021-12-13 23:35:57 +00:00
pre_finalization_cache.rs Separate execution payloads in the DB (#3157) 2022-05-12 00:42:17 +00:00
proposer_prep_service.rs Don't log crits for missing EE before Bellatrix (#3150) 2022-04-11 23:14:47 +00:00
schema_change.rs Remove DB migrations for legacy database schemas (#3181) 2022-05-17 04:54:39 +00:00
shuffling_cache.rs Advance state to next slot after importing block (#2174) 2021-02-15 07:17:52 +00:00
snapshot_cache.rs Separate execution payloads in the DB (#3157) 2022-05-12 00:42:17 +00:00
state_advance_timer.rs Run fork choice before block proposal (#3168) 2022-05-20 05:02:11 +00:00
sync_committee_verification.rs Update to Rust 1.59 and 2021 edition (#3038) 2022-02-25 00:10:17 +00:00
test_utils.rs Run fork choice before block proposal (#3168) 2022-05-20 05:02:11 +00:00
timeout_rw_lock.rs Add flag to disable lock timeouts (#2714) 2021-10-19 00:30:40 +00:00
validator_monitor.rs Update to Rust 1.59 and 2021 edition (#3038) 2022-02-25 00:10:17 +00:00
validator_pubkey_cache.rs Remove DB migrations for legacy database schemas (#3181) 2022-05-17 04:54:39 +00:00