Skip to content

Commit

Permalink
chore: Remove parking_lot deadlock_detection feature
Browse files Browse the repository at this point in the history
We were using up a dedicated thread just for this and we know we have
limited resources on the phone. We should add this code locally if we
ever suspect there is a problem with deadlocks.
  • Loading branch information
luckysori committed Sep 1, 2023
1 parent c050e00 commit c3c4400
Show file tree
Hide file tree
Showing 4 changed files with 2 additions and 24 deletions.
1 change: 0 additions & 1 deletion coordinator/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,6 @@ path = "../crates/orderbook-commons"

[dependencies.parking_lot]
version = "0.12.1"
features = ["deadlock_detection"]

[dependencies.rust_decimal]
version = "1"
Expand Down
2 changes: 1 addition & 1 deletion crates/ln-dlc-node/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ lightning-persister = { version = "0.0.114" }
lightning-transaction-sync = { version = "0.0.114", features = ["esplora-blocking"] }
log = "0.4.17"
p2pd-oracle-client = { version = "0.1.0" }
parking_lot = { version = "0.12.1", features = ["deadlock_detection"] }
parking_lot = { version = "0.12.1" }
rand = "0.8.5"
reqwest = { version = "0.11", default-features = false, features = ["json"] }
rust-bitcoin-coin-selection = { version = "0.1.0", features = ["rand"] }
Expand Down
21 changes: 0 additions & 21 deletions crates/ln-dlc-node/src/node/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -486,8 +486,6 @@ where
self.keys_manager.clone(),
));

std::thread::spawn(monitor_for_deadlocks());

tracing::info!("Lightning node started with node ID {}", self.info);

Ok(RunningNode { _handles: handles })
Expand Down Expand Up @@ -573,25 +571,6 @@ fn spawn_background_processor(
remote_handle
}

/// Parking lot mutexes have the ability to mark deadlocks.
///
/// Take advantage of this behaviour and log deadlocks when they occur.
fn monitor_for_deadlocks() -> impl Fn() {
move || loop {
let deadlocks = parking_lot::deadlock::check_deadlock();

for (i, threads) in deadlocks.iter().enumerate() {
tracing::error!(%i, "Deadlock detected");
for t in threads {
tracing::error!(thread_id = %t.thread_id());
tracing::error!("{:#?}", t.backtrace());
}
}

std::thread::sleep(Duration::from_secs(10));
}
}

async fn lightning_wallet_sync(
channel_manager: Arc<ChannelManager>,
chain_monitor: Arc<ChainMonitor>,
Expand Down
2 changes: 1 addition & 1 deletion mobile/native/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ ln-dlc-node = { path = "../../crates/ln-dlc-node" }
openssl = { version = "0.10.55", features = ["vendored"] }
orderbook-client = { path = "../../crates/orderbook-client" }
orderbook-commons = { path = "../../crates/orderbook-commons" }
parking_lot = { version = "0.12.1", features = ["deadlock_detection"] }
parking_lot = { version = "0.12.1" }
reqwest = { version = "0.11", default-features = false, features = ["json"] }
rust_decimal = { version = "1", features = ["serde-with-float"] }
serde = { version = "1.0.152", features = ["serde_derive"] }
Expand Down

0 comments on commit c3c4400

Please sign in to comment.