lighthouse/beacon_node
Michael Sproul 74eb267643 Remove double-locking deadlock from HTTP API (#4687)
## Issue Addressed

Fix a deadlock introduced in #4236 which was caught during the v4.4.0 release testing cycle (with thanks to @paulhauner and `gdb`).

## Proposed Changes

Avoid re-locking the fork choice read lock when querying a state by root in the HTTP API. This avoids a deadlock due to the lock already being held.

## Additional Info

The [RwLock docs](https://docs.rs/lock_api/latest/lock_api/struct.RwLock.html#method.read) explicitly advise against re-locking:

> Note that attempts to recursively acquire a read lock on a RwLock when the current thread already holds one may result in a deadlock.
2023-08-31 11:18:00 +00:00
..
beacon_chain Fix bug in block root storage (#4663) 2023-08-28 05:34:28 +00:00
beacon_processor Fix beacon-processor-max-workers (#4636) 2023-08-21 05:02:34 +00:00
builder_client Tidy formatting of Reqwest errors (#4336) 2023-06-27 01:06:50 +00:00
client Add Holesky (#4653) 2023-08-28 05:34:27 +00:00
eth1 Replace ganache-cli with anvil (#3555) 2023-05-15 07:22:02 +00:00
execution_layer update dependencies (#4639) 2023-08-28 00:55:28 +00:00
genesis rust 1.72 lints (#4659) 2023-08-24 14:33:24 -04:00
http_api Remove double-locking deadlock from HTTP API (#4687) 2023-08-31 11:18:00 +00:00
http_metrics upgrade to libp2p 0.52 (#4431) 2023-08-02 00:59:34 +00:00
lighthouse_network rust 1.72 lints (#4659) 2023-08-24 14:33:24 -04:00
network Do not log slot clock error prior to genesis (#4657) 2023-08-28 00:55:32 +00:00
operation_pool Fix some typos (#4565) 2023-08-14 00:29:43 +00:00
src Add Holesky (#4653) 2023-08-28 05:34:27 +00:00
store Fix bug in block root storage (#4663) 2023-08-28 05:34:28 +00:00
tests Appease Clippy 1.68 and refactor http_api (#4068) 2023-03-13 01:40:03 +00:00
timer Use async code when interacting with EL (#3244) 2022-07-03 05:36:50 +00:00
Cargo.toml Release v4.4.0 (#4673) 2023-08-31 02:12:35 +00:00