From 8e50829586b9b09453cfd90c16f936aca8a778e7 Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Fri, 17 Nov 2023 22:32:04 +0000 Subject: [PATCH 01/40] 1/n [exponential backoff peers]: refactor "tx" to be once per connected peer --- crates/librqbit/src/peer_state.rs | 14 ++- crates/librqbit/src/torrent_state.rs | 141 +++++++++++++-------------- 2 files changed, 80 insertions(+), 75 deletions(-) diff --git a/crates/librqbit/src/peer_state.rs b/crates/librqbit/src/peer_state.rs index 27bfa63..cc9d50d 100644 --- a/crates/librqbit/src/peer_state.rs +++ b/crates/librqbit/src/peer_state.rs @@ -2,8 +2,10 @@ use std::{collections::HashSet, sync::Arc}; use librqbit_core::id20::Id20; use librqbit_core::lengths::{ChunkInfo, ValidPieceIndex}; +use tokio::sync::mpsc::UnboundedSender; use tokio::sync::{Notify, Semaphore}; +use crate::peer_connection::WriterRequest; use crate::type_aliases::BF; #[derive(Debug, Hash, PartialEq, Eq)] @@ -21,10 +23,14 @@ impl From<&ChunkInfo> for InflightRequest { } } -#[derive(Debug)] +// TODO: Arc can be removed probably, as UnboundedSender should be clone + it can be downgraded to weak. +pub type PeerTx = Arc>; + +#[derive(Debug, Default)] pub enum PeerState { + #[default] Queued, - Connecting, + Connecting(PeerTx), Live(LivePeerState), } @@ -37,10 +43,11 @@ pub struct LivePeerState { pub have_notify: Arc, pub bitfield: Option, pub inflight_requests: HashSet, + pub tx: PeerTx, } impl LivePeerState { - pub fn new(peer_id: Id20) -> Self { + pub fn new(peer_id: Id20, tx: PeerTx) -> Self { LivePeerState { peer_id, i_am_choked: true, @@ -49,6 +56,7 @@ impl LivePeerState { have_notify: Arc::new(Notify::new()), requests_sem: Arc::new(Semaphore::new(0)), inflight_requests: Default::default(), + tx, } } } diff --git a/crates/librqbit/src/torrent_state.rs b/crates/librqbit/src/torrent_state.rs index 2bb39a6..b9c0a86 100644 --- a/crates/librqbit/src/torrent_state.rs +++ b/crates/librqbit/src/torrent_state.rs @@ -10,7 +10,7 @@ use std::{ time::{Duration, Instant}, }; -use anyhow::Context; +use anyhow::{bail, Context}; use buffers::{ByteBuf, ByteString}; use clone_to_owned::CloneToOwned; use futures::{stream::FuturesUnordered, StreamExt}; @@ -40,7 +40,7 @@ use crate::{ peer_connection::{ PeerConnection, PeerConnectionHandler, PeerConnectionOptions, WriterRequest, }, - peer_state::{InflightRequest, LivePeerState, PeerState}, + peer_state::{InflightRequest, LivePeerState, PeerState, PeerTx}, spawn_utils::{spawn, BlockingSpawner}, type_aliases::{PeerHandle, BF}, }; @@ -55,7 +55,6 @@ pub struct PeerStates { states: HashMap, seen: HashSet, inflight_pieces: HashMap, - tx: HashMap>>, } #[derive(Debug, Default)] @@ -73,7 +72,7 @@ impl PeerStates { .values() .fold(AggregatePeerStats::default(), |mut s, p| { match p { - PeerState::Connecting => s.connecting += 1, + PeerState::Connecting(_) => s.connecting += 1, PeerState::Live(_) => s.live += 1, PeerState::Queued => s.queued += 1, }; @@ -82,15 +81,11 @@ impl PeerStates { stats.seen = self.seen.len(); stats } - pub fn add_if_not_seen( - &mut self, - addr: SocketAddr, - tx: UnboundedSender, - ) -> Option { + pub fn add_if_not_seen(&mut self, addr: SocketAddr) -> Option { if self.seen.contains(&addr) { return None; } - let handle = self.add(addr, tx)?; + let handle = self.add(addr)?; self.seen.insert(addr); Some(handle) } @@ -113,23 +108,16 @@ impl PeerStates { self.get_live_mut(handle) .ok_or_else(|| anyhow::anyhow!("peer dropped")) } - pub fn add( - &mut self, - addr: SocketAddr, - tx: UnboundedSender, - ) -> Option { + pub fn add(&mut self, addr: SocketAddr) -> Option { let handle = addr; if self.states.contains_key(&addr) { return None; } self.states.insert(handle, PeerState::Queued); - self.tx.insert(handle, Arc::new(tx)); Some(handle) } pub fn drop_peer(&mut self, handle: PeerHandle) -> Option { - let result = self.states.remove(&handle); - self.tx.remove(&handle); - result + self.states.remove(&handle) } pub fn mark_i_am_choked(&mut self, handle: PeerHandle, is_choked: bool) -> Option { let live = self.get_live_mut(handle)?; @@ -158,8 +146,8 @@ impl PeerStates { live.bitfield = Some(bitfield); Some(prev) } - pub fn clone_tx(&self, handle: PeerHandle) -> Option>> { - Some(self.tx.get(&handle)?.clone()) + pub fn clone_tx(&self, handle: PeerHandle) -> Option { + Some(self.get_live(handle)?.tx.clone()) } pub fn remove_inflight_piece(&mut self, piece: ValidPieceIndex) -> Option { self.inflight_pieces.remove(&piece) @@ -242,8 +230,11 @@ pub struct TorrentState { stats: AtomicStats, options: TorrentStateOptions, + // Limits how many active (occupying network resources) peers there are at a moment in time. peer_semaphore: Semaphore, - peer_queue_tx: UnboundedSender<(SocketAddr, UnboundedReceiver)>, + + // The queue for peer manager to connect to them. + peer_queue_tx: UnboundedSender, finished_notify: Notify, } @@ -292,45 +283,51 @@ impl TorrentState { let state = state.clone(); async move { loop { - let (addr, out_rx) = peer_queue_rx.recv().await.unwrap(); + let addr = peer_queue_rx.recv().await.unwrap(); let permit = state.peer_semaphore.acquire().await.unwrap(); - match state.locked.write().peers.states.get_mut(&addr) { - Some(s @ PeerState::Queued) => *s = PeerState::Connecting, - s => { - warn!("did not expect to see the peer in state {:?}", s); - continue; - } - }; - - let handler = PeerHandler { - addr, - state: state.clone(), - spawner, - }; - let options = PeerConnectionOptions { - connect_timeout: state.options.peer_connect_timeout, - read_write_timeout: state.options.peer_read_write_timeout, - ..Default::default() - }; - let peer_connection = PeerConnection::new( - addr, - state.info_hash, - state.peer_id, - handler, - Some(options), - spawner, - ); - permit.forget(); - spawn(format!("manage_peer({addr})"), async move { - if let Err(e) = peer_connection.manage_peer(out_rx).await { - debug!("error managing peer {}: {:#}", addr, e) - }; - let state = peer_connection.into_handler().state; - state.drop_peer(addr); - state.peer_semaphore.add_permits(1); - Ok::<_, anyhow::Error>(()) + spawn(format!("manage_peer({addr})"), { + let state = state.clone(); + async move { + let rx = match state.locked.write().peers.states.get_mut(&addr) { + Some(s @ PeerState::Queued) => { + let (tx, rx) = unbounded_channel(); + *s = PeerState::Connecting(Arc::new(tx)); + rx + } + s => { + bail!("did not expect to see the peer in state {:?}", s); + } + }; + + let handler = PeerHandler { + addr, + state: state.clone(), + spawner, + }; + let options = PeerConnectionOptions { + connect_timeout: state.options.peer_connect_timeout, + read_write_timeout: state.options.peer_read_write_timeout, + ..Default::default() + }; + let peer_connection = PeerConnection::new( + addr, + state.info_hash, + state.peer_id, + handler, + Some(options), + spawner, + ); + + if let Err(e) = peer_connection.manage_peer(rx).await { + debug!("error managing peer {}: {:#}", addr, e) + }; + let state = peer_connection.into_handler().state; + state.drop_peer(addr); + state.peer_semaphore.add_permits(1); + Ok::<_, anyhow::Error>(()) + } }); } } @@ -456,14 +453,18 @@ impl TorrentState { fn set_peer_live(&self, handle: PeerHandle, h: Handshake) { let mut g = self.locked.write(); - match g.peers.states.get_mut(&handle) { - Some(s @ &mut PeerState::Connecting) => { - *s = PeerState::Live(LivePeerState::new(Id20(h.peer_id))); - } + let s = match g.peers.states.get_mut(&handle) { + Some(s @ PeerState::Connecting(_)) => s, _ => { - warn!("peer {} was in wrong state", handle); + warn!("peer {} was in a wrong state", handle); + return; } - } + }; + let tx = match std::mem::take(s) { + PeerState::Connecting(tx) => tx, + _ => unreachable!(), + }; + *s = PeerState::Live(LivePeerState::new(Id20(h.peer_id), tx)); } fn drop_peer(&self, handle: PeerHandle) -> bool { @@ -511,11 +512,7 @@ impl TorrentState { continue; } - let tx = match g.peers.tx.get(handle) { - Some(tx) => tx, - None => continue, - }; - let tx = Arc::downgrade(tx); + let tx = Arc::downgrade(&live.tx); futures.push(async move { if let Some(tx) = tx.upgrade() { if tx @@ -547,13 +544,13 @@ impl TorrentState { } pub fn add_peer_if_not_seen(self: &Arc, addr: SocketAddr) -> bool { - let (out_tx, out_rx) = tokio::sync::mpsc::unbounded_channel::(); - match self.locked.write().peers.add_if_not_seen(addr, out_tx) { + // let (out_tx, out_rx) = tokio::sync::mpsc::unbounded_channel::(); + match self.locked.write().peers.add_if_not_seen(addr) { Some(handle) => handle, None => return false, }; - match self.peer_queue_tx.send((addr, out_rx)) { + match self.peer_queue_tx.send(addr) { Ok(_) => {} Err(_) => { warn!("peer adder died, can't add peer") From 55e692d4765b5e5646bd7975a73c08a0df85b9cd Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Fri, 17 Nov 2023 22:51:05 +0000 Subject: [PATCH 02/40] 2/n Wrap PeerState into peer --- crates/librqbit/src/peer_state.rs | 14 ++++++- crates/librqbit/src/torrent_state.rs | 59 +++++++++++++++++----------- 2 files changed, 50 insertions(+), 23 deletions(-) diff --git a/crates/librqbit/src/peer_state.rs b/crates/librqbit/src/peer_state.rs index cc9d50d..94c5f5a 100644 --- a/crates/librqbit/src/peer_state.rs +++ b/crates/librqbit/src/peer_state.rs @@ -2,7 +2,7 @@ use std::{collections::HashSet, sync::Arc}; use librqbit_core::id20::Id20; use librqbit_core::lengths::{ChunkInfo, ValidPieceIndex}; -use tokio::sync::mpsc::UnboundedSender; +use tokio::sync::mpsc::{UnboundedReceiver, UnboundedSender}; use tokio::sync::{Notify, Semaphore}; use crate::peer_connection::WriterRequest; @@ -24,8 +24,20 @@ impl From<&ChunkInfo> for InflightRequest { } // TODO: Arc can be removed probably, as UnboundedSender should be clone + it can be downgraded to weak. +pub type PeerRx = UnboundedReceiver; pub type PeerTx = Arc>; +#[derive(Debug, Default)] +pub struct PeerStats { + pub unsuccessful_connection_attempts: usize, +} + +#[derive(Debug, Default)] +pub struct Peer { + pub state: PeerState, + pub stats: PeerStats, +} + #[derive(Debug, Default)] pub enum PeerState { #[default] diff --git a/crates/librqbit/src/torrent_state.rs b/crates/librqbit/src/torrent_state.rs index b9c0a86..682220a 100644 --- a/crates/librqbit/src/torrent_state.rs +++ b/crates/librqbit/src/torrent_state.rs @@ -40,7 +40,7 @@ use crate::{ peer_connection::{ PeerConnection, PeerConnectionHandler, PeerConnectionOptions, WriterRequest, }, - peer_state::{InflightRequest, LivePeerState, PeerState, PeerTx}, + peer_state::{InflightRequest, LivePeerState, Peer, PeerRx, PeerState, PeerTx}, spawn_utils::{spawn, BlockingSpawner}, type_aliases::{PeerHandle, BF}, }; @@ -52,7 +52,7 @@ pub struct InflightPiece { #[derive(Default)] pub struct PeerStates { - states: HashMap, + states: HashMap, seen: HashSet, inflight_pieces: HashMap, } @@ -71,7 +71,7 @@ impl PeerStates { .states .values() .fold(AggregatePeerStats::default(), |mut s, p| { - match p { + match &p.state { PeerState::Connecting(_) => s.connecting += 1, PeerState::Live(_) => s.live += 1, PeerState::Queued => s.queued += 1, @@ -93,13 +93,13 @@ impl PeerStates { &self.seen } pub fn get_live(&self, handle: PeerHandle) -> Option<&LivePeerState> { - if let PeerState::Live(ref l) = self.states.get(&handle)? { + if let PeerState::Live(ref l) = &self.states.get(&handle)?.state { return Some(l); } None } pub fn get_live_mut(&mut self, handle: PeerHandle) -> Option<&mut LivePeerState> { - if let PeerState::Live(ref mut l) = self.states.get_mut(&handle)? { + if let PeerState::Live(ref mut l) = &mut self.states.get_mut(&handle)?.state { return Some(l); } None @@ -113,10 +113,10 @@ impl PeerStates { if self.states.contains_key(&addr) { return None; } - self.states.insert(handle, PeerState::Queued); + self.states.insert(handle, Default::default()); Some(handle) } - pub fn drop_peer(&mut self, handle: PeerHandle) -> Option { + pub fn drop_peer(&mut self, handle: PeerHandle) -> Option { self.states.remove(&handle) } pub fn mark_i_am_choked(&mut self, handle: PeerHandle, is_choked: bool) -> Option { @@ -146,6 +146,23 @@ impl PeerStates { live.bitfield = Some(bitfield); Some(prev) } + pub fn mark_peer_connecting(&mut self, h: PeerHandle) -> anyhow::Result { + let peer = self + .states + .get_mut(&h) + .context("peer not found in states")?; + match &mut peer.state { + s @ PeerState::Queued => { + let (tx, rx) = unbounded_channel(); + *s = PeerState::Connecting(Arc::new(tx)); + Ok(rx) + } + s => { + bail!("did not expect to see the peer in state {:?}", s); + } + } + } + pub fn clone_tx(&self, handle: PeerHandle) -> Option { Some(self.get_live(handle)?.tx.clone()) } @@ -290,16 +307,7 @@ impl TorrentState { spawn(format!("manage_peer({addr})"), { let state = state.clone(); async move { - let rx = match state.locked.write().peers.states.get_mut(&addr) { - Some(s @ PeerState::Queued) => { - let (tx, rx) = unbounded_channel(); - *s = PeerState::Connecting(Arc::new(tx)); - rx - } - s => { - bail!("did not expect to see the peer in state {:?}", s); - } - }; + let rx = state.locked.write().peers.mark_peer_connecting(addr)?; let handler = PeerHandler { addr, @@ -453,8 +461,15 @@ impl TorrentState { fn set_peer_live(&self, handle: PeerHandle, h: Handshake) { let mut g = self.locked.write(); - let s = match g.peers.states.get_mut(&handle) { - Some(s @ PeerState::Connecting(_)) => s, + let peer = match g.peers.states.get_mut(&handle) { + Some(peer) => peer, + None => { + warn!("peer {} was in a wrong state", handle); + return; + } + }; + let s = match &mut peer.state { + s @ PeerState::Connecting(_) => s, _ => { warn!("peer {} was in a wrong state", handle); return; @@ -473,7 +488,7 @@ impl TorrentState { Some(peer) => peer, None => return false, }; - if let PeerState::Live(l) = peer { + if let PeerState::Live(l) = peer.state { for req in l.inflight_requests { g.chunks.mark_chunk_request_cancelled(req.piece, req.chunk); } @@ -496,8 +511,8 @@ impl TorrentState { let mut futures = Vec::new(); let g = self.locked.read(); - for (handle, peer_state) in g.peers.states.iter() { - match peer_state { + for (handle, peer) in g.peers.states.iter() { + match &peer.state { PeerState::Live(live) => { if !live.peer_interested { continue; From 6ebf2120a4578772185bc6bafad2a9d801f9dd8b Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Fri, 17 Nov 2023 23:30:07 +0000 Subject: [PATCH 03/40] Peers now reconnect! --- Cargo.lock | 21 ++++++++ crates/librqbit/Cargo.toml | 3 +- crates/librqbit/src/peer_state.rs | 20 ++++++- crates/librqbit/src/torrent_state.rs | 78 ++++++++++++++++++++++------ crates/rqbit/src/main.rs | 3 +- 5 files changed, 105 insertions(+), 20 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b6b4159..e1ed135 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -146,6 +146,17 @@ dependencies = [ "tower-service", ] +[[package]] +name = "backoff" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1" +dependencies = [ + "getrandom", + "instant", + "rand", +] + [[package]] name = "backtrace" version = "0.3.69" @@ -755,6 +766,15 @@ dependencies = [ "hashbrown", ] +[[package]] +name = "instant" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +dependencies = [ + "cfg-if", +] + [[package]] name = "ipnet" version = "2.9.0" @@ -825,6 +845,7 @@ version = "2.2.2" dependencies = [ "anyhow", "axum", + "backoff", "bincode", "bitvec", "byteorder", diff --git a/crates/librqbit/Cargo.toml b/crates/librqbit/Cargo.toml index e5e882c..8ce32cc 100644 --- a/crates/librqbit/Cargo.toml +++ b/crates/librqbit/Cargo.toml @@ -55,7 +55,8 @@ uuid = {version = "1.2", features = ["v4"]} futures = "0.3" url = "2" hex = "0.4" +backoff = "0.4.0" [dev-dependencies] futures = {version = "0.3"} -pretty_env_logger = "0.5" \ No newline at end of file +pretty_env_logger = "0.5" diff --git a/crates/librqbit/src/peer_state.rs b/crates/librqbit/src/peer_state.rs index 94c5f5a..bcfa19d 100644 --- a/crates/librqbit/src/peer_state.rs +++ b/crates/librqbit/src/peer_state.rs @@ -1,5 +1,7 @@ +use std::time::Duration; use std::{collections::HashSet, sync::Arc}; +use backoff::{ExponentialBackoff, ExponentialBackoffBuilder}; use librqbit_core::id20::Id20; use librqbit_core::lengths::{ChunkInfo, ValidPieceIndex}; use tokio::sync::mpsc::{UnboundedReceiver, UnboundedSender}; @@ -27,9 +29,22 @@ impl From<&ChunkInfo> for InflightRequest { pub type PeerRx = UnboundedReceiver; pub type PeerTx = Arc>; -#[derive(Debug, Default)] +#[derive(Debug)] pub struct PeerStats { - pub unsuccessful_connection_attempts: usize, + pub backoff: ExponentialBackoff, +} + +impl Default for PeerStats { + fn default() -> Self { + Self { + backoff: ExponentialBackoffBuilder::new() + .with_initial_interval(Duration::from_secs(10)) + .with_multiplier(6.) + .with_max_interval(Duration::from_secs(3600)) + .with_max_elapsed_time(Some(Duration::from_secs(86400))) + .build(), + } + } } #[derive(Debug, Default)] @@ -44,6 +59,7 @@ pub enum PeerState { Queued, Connecting(PeerTx), Live(LivePeerState), + Dead, } #[derive(Debug)] diff --git a/crates/librqbit/src/torrent_state.rs b/crates/librqbit/src/torrent_state.rs index 682220a..86e7e53 100644 --- a/crates/librqbit/src/torrent_state.rs +++ b/crates/librqbit/src/torrent_state.rs @@ -11,6 +11,7 @@ use std::{ }; use anyhow::{bail, Context}; +use backoff::backoff::Backoff; use buffers::{ByteBuf, ByteString}; use clone_to_owned::CloneToOwned; use futures::{stream::FuturesUnordered, StreamExt}; @@ -28,7 +29,7 @@ use serde::Serialize; use sha1w::Sha1; use tokio::{ sync::{ - mpsc::{unbounded_channel, UnboundedReceiver, UnboundedSender}, + mpsc::{unbounded_channel, UnboundedSender}, Notify, Semaphore, }, time::timeout, @@ -63,6 +64,7 @@ pub struct AggregatePeerStats { pub connecting: usize, pub live: usize, pub seen: usize, + pub dead: usize, } impl PeerStates { @@ -75,6 +77,7 @@ impl PeerStates { PeerState::Connecting(_) => s.connecting += 1, PeerState::Live(_) => s.live += 1, PeerState::Queued => s.queued += 1, + PeerState::Dead => s.dead += 1, }; s }); @@ -116,6 +119,13 @@ impl PeerStates { self.states.insert(handle, Default::default()); Some(handle) } + pub fn mark_peer_dead(&mut self, handle: PeerHandle) -> Option { + let peer = self.states.get_mut(&handle)?; + match std::mem::replace(&mut peer.state, PeerState::Dead) { + PeerState::Live(l) => Some(l), + _ => None, + } + } pub fn drop_peer(&mut self, handle: PeerHandle) -> Option { self.states.remove(&handle) } @@ -169,6 +179,14 @@ impl PeerStates { pub fn remove_inflight_piece(&mut self, piece: ValidPieceIndex) -> Option { self.inflight_pieces.remove(&piece) } + + fn mark_peer_trustworthy(&mut self, handle: SocketAddr) { + let p = match self.states.get_mut(&handle) { + Some(p) => p, + None => return, + }; + p.stats.backoff.reset(); + } } pub struct TorrentStateLocked { @@ -332,7 +350,7 @@ impl TorrentState { debug!("error managing peer {}: {:#}", addr, e) }; let state = peer_connection.into_handler().state; - state.drop_peer(addr); + state.on_peer_died(addr); state.peer_semaphore.add_permits(1); Ok::<_, anyhow::Error>(()) } @@ -482,18 +500,45 @@ impl TorrentState { *s = PeerState::Live(LivePeerState::new(Id20(h.peer_id), tx)); } - fn drop_peer(&self, handle: PeerHandle) -> bool { + fn on_peer_died(self: &Arc, handle: PeerHandle) { let mut g = self.locked.write(); - let peer = match g.peers.drop_peer(handle) { + let live = match g.peers.mark_peer_dead(handle) { Some(peer) => peer, - None => return false, + None => return, }; - if let PeerState::Live(l) = peer.state { - for req in l.inflight_requests { - g.chunks.mark_chunk_request_cancelled(req.piece, req.chunk); - } + for req in live.inflight_requests { + g.chunks.mark_chunk_request_cancelled(req.piece, req.chunk); + } + let backoff = g + .peers + .states + .get_mut(&handle) + .unwrap() + .stats + .backoff + .next_backoff(); + + if let Some(dur) = backoff { + let state = self.clone(); + spawn("wait for peer", async move { + tokio::time::sleep(dur).await; + { + let mut g = state.locked.write(); + let peer = match g.peers.states.get_mut(&handle) { + Some(p) => p, + None => bail!("bug: peer disappeared"), + }; + match &peer.state { + PeerState::Dead => peer.state = PeerState::Queued, + _ => bail!("peer in unexpected state"), + } + } + state.peer_queue_tx.send(handle)?; + Ok::<_, anyhow::Error>(()) + }); + } else { + g.peers.drop_peer(handle); } - true } pub fn get_uploaded(&self) -> u64 { @@ -511,7 +556,7 @@ impl TorrentState { let mut futures = Vec::new(); let g = self.locked.read(); - for (handle, peer) in g.peers.states.iter() { + for (_, peer) in g.peers.states.iter() { match &peer.state { PeerState::Live(live) => { if !live.peer_interested { @@ -1064,11 +1109,12 @@ impl PeerHandler { full_piece_download_time.as_millis() as u64, Ordering::Relaxed, ); - self.state - .locked - .write() - .chunks - .mark_piece_downloaded(chunk_info.piece_index); + { + let mut g = self.state.locked.write(); + + g.chunks.mark_piece_downloaded(chunk_info.piece_index); + g.peers.mark_peer_trustworthy(handle); + } debug!( "piece={} successfully downloaded and verified from {}", diff --git a/crates/rqbit/src/main.rs b/crates/rqbit/src/main.rs index 4ce72e7..344af16 100644 --- a/crates/rqbit/src/main.rs +++ b/crates/rqbit/src/main.rs @@ -223,7 +223,7 @@ async fn async_main(opts: Opts, spawner: BlockingSpawner) -> anyhow::Result<()> (progress as f64 / total as f64) * 100f64 }; info!( - "[{}]: {:.2}% ({:.2}), down speed {:.2} MiB/s, fetched {}, remaining {:.2} of {:.2}, uploaded {:.2}, peers: {{live: {}, connecting: {}, queued: {}, seen: {}}}", + "[{}]: {:.2}% ({:.2}), down speed {:.2} MiB/s, fetched {}, remaining {:.2} of {:.2}, uploaded {:.2}, peers: {{live: {}, connecting: {}, queued: {}, seen: {}, dead: {}}}", idx, downloaded_pct, SF::new(progress), @@ -236,6 +236,7 @@ async fn async_main(opts: Opts, spawner: BlockingSpawner) -> anyhow::Result<()> peer_stats.connecting, peer_stats.queued, peer_stats.seen, + peer_stats.dead ); }, } From 2203ffe4a94e937012d758c7037a4e5e0d525869 Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Sat, 18 Nov 2023 00:20:49 +0000 Subject: [PATCH 04/40] Fixed bugs --- TODO.md | 12 +-- crates/librqbit/src/peer_connection.rs | 4 + crates/librqbit/src/peer_state.rs | 82 ++++++++++++++- crates/librqbit/src/torrent_state.rs | 62 ++++++----- rustc-ice-2023-11-17T23_37_51-9985.txt | 140 +++++++++++++++++++++++++ rustc-ice-2023-11-17T23_37_51-9986.txt | 140 +++++++++++++++++++++++++ rustc-ice-2023-11-17T23_37_51-9987.txt | 140 +++++++++++++++++++++++++ 7 files changed, 536 insertions(+), 44 deletions(-) create mode 100644 rustc-ice-2023-11-17T23_37_51-9985.txt create mode 100644 rustc-ice-2023-11-17T23_37_51-9986.txt create mode 100644 rustc-ice-2023-11-17T23_37_51-9987.txt diff --git a/TODO.md b/TODO.md index 13194fc..c6aafee 100644 --- a/TODO.md +++ b/TODO.md @@ -1,16 +1,6 @@ -- [x] Selective file downloading (mostly done) - - [x] Proper counting of how much is left, and how much is downloaded - -- [x] Send bitfield at the start if I have something -- [x] use the "update_hash" function in piece checking -- [ ] signaling when file is done - -- [ ] when we have the whole torrent, there's no point talking to peers that also have the whole torrent - +- [ ] when we have the whole torrent, there's no point talking to peers that also have the whole torrent and keep reconnecting to them. - [ ] per-file stats - [ ] per-peer stats -- [x] slow peers cause slowness in the end, need the "end of game" algorithm - someday: - [ ] cancellation from the client-side for the lib (i.e. stop the torrent manager) \ No newline at end of file diff --git a/crates/librqbit/src/peer_connection.rs b/crates/librqbit/src/peer_connection.rs index af35a02..68771e9 100644 --- a/crates/librqbit/src/peer_connection.rs +++ b/crates/librqbit/src/peer_connection.rs @@ -31,6 +31,7 @@ pub trait PeerConnectionHandler { pub enum WriterRequest { Message(MessageOwned), ReadChunkRequest(ChunkInfo), + Disconnect, } #[derive(Default, Copy, Clone)] @@ -247,6 +248,9 @@ impl PeerConnection { uploaded_add = Some(chunk.size); full_len } + WriterRequest::Disconnect => { + return Ok(()); + } }; debug!("sending to {}: {:?}, length={}", self.addr, &req, len); diff --git a/crates/librqbit/src/peer_state.rs b/crates/librqbit/src/peer_state.rs index bcfa19d..16e0592 100644 --- a/crates/librqbit/src/peer_state.rs +++ b/crates/librqbit/src/peer_state.rs @@ -4,7 +4,7 @@ use std::{collections::HashSet, sync::Arc}; use backoff::{ExponentialBackoff, ExponentialBackoffBuilder}; use librqbit_core::id20::Id20; use librqbit_core::lengths::{ChunkInfo, ValidPieceIndex}; -use tokio::sync::mpsc::{UnboundedReceiver, UnboundedSender}; +use tokio::sync::mpsc::{unbounded_channel, UnboundedReceiver, UnboundedSender}; use tokio::sync::{Notify, Semaphore}; use crate::peer_connection::WriterRequest; @@ -56,10 +56,82 @@ pub struct Peer { #[derive(Debug, Default)] pub enum PeerState { #[default] + // Will be tried to be connected as soon as possible. Queued, Connecting(PeerTx), Live(LivePeerState), + // There was an error, and it's waiting for exponential backoff. Dead, + // The peer has the full torrent, and we have the full torrent, so no need + // to keep talking to it. + FullyHaveNoLongerNeeded, +} + +impl PeerState { + fn take_connecting(&mut self) -> Option { + if let PeerState::Connecting(_) = self { + match std::mem::take(self) { + PeerState::Connecting(tx) => Some(tx), + _ => unreachable!(), + } + } else { + None + } + } + + fn take_live(&mut self) -> Option { + if let PeerState::Live(_) = self { + match std::mem::take(self) { + PeerState::Live(l) => Some(l), + _ => unreachable!(), + } + } else { + None + } + } + + pub fn get_live_mut(&mut self) -> Option<&mut LivePeerState> { + match self { + PeerState::Live(l) => Some(l), + _ => None, + } + } + + pub fn queued_to_connecting(&mut self) -> Option { + if let PeerState::Queued = self { + let (tx, rx) = unbounded_channel(); + *self = PeerState::Connecting(Arc::new(tx)); + Some(rx) + } else { + None + } + } + pub fn connecting_to_live(&mut self, peer_id: Id20) -> Option<&mut LivePeerState> { + let tx = self.take_connecting()?; + *self = PeerState::Live(LivePeerState::new(peer_id, tx)); + self.get_live_mut() + } + + pub fn dead_to_queued(&mut self) -> bool { + if let PeerState::Dead = self { + *self = PeerState::Queued; + return true; + } + false + } + + pub fn to_dead(&mut self) -> Option { + match std::mem::replace(self, PeerState::Dead) { + PeerState::Live(l) => Some(l), + _ => None, + } + } + + pub fn live_to(&mut self, new_state: PeerState) -> Option { + let l = self.take_live()?; + *self = new_state; + Some(l) + } } #[derive(Debug)] @@ -87,4 +159,12 @@ impl LivePeerState { tx, } } + + pub fn has_full_torrent(&self, total_pieces: usize) -> bool { + let bf = match self.bitfield.as_ref() { + Some(bf) => bf, + None => return false, + }; + bf.get(0..total_pieces).map_or(false, |s| s.all()) + } } diff --git a/crates/librqbit/src/torrent_state.rs b/crates/librqbit/src/torrent_state.rs index 86e7e53..73287b5 100644 --- a/crates/librqbit/src/torrent_state.rs +++ b/crates/librqbit/src/torrent_state.rs @@ -65,6 +65,7 @@ pub struct AggregatePeerStats { pub live: usize, pub seen: usize, pub dead: usize, + pub fully_have_and_we_are_finished: usize, } impl PeerStates { @@ -78,6 +79,7 @@ impl PeerStates { PeerState::Live(_) => s.live += 1, PeerState::Queued => s.queued += 1, PeerState::Dead => s.dead += 1, + PeerState::FullyHaveNoLongerNeeded => s.fully_have_and_we_are_finished += 1, }; s }); @@ -121,10 +123,7 @@ impl PeerStates { } pub fn mark_peer_dead(&mut self, handle: PeerHandle) -> Option { let peer = self.states.get_mut(&handle)?; - match std::mem::replace(&mut peer.state, PeerState::Dead) { - PeerState::Live(l) => Some(l), - _ => None, - } + peer.state.to_dead() } pub fn drop_peer(&mut self, handle: PeerHandle) -> Option { self.states.remove(&handle) @@ -161,16 +160,11 @@ impl PeerStates { .states .get_mut(&h) .context("peer not found in states")?; - match &mut peer.state { - s @ PeerState::Queued => { - let (tx, rx) = unbounded_channel(); - *s = PeerState::Connecting(Arc::new(tx)); - Ok(rx) - } - s => { - bail!("did not expect to see the peer in state {:?}", s); - } - } + let rx = peer + .state + .queued_to_connecting() + .context("invalid peer state")?; + Ok(rx) } pub fn clone_tx(&self, handle: PeerHandle) -> Option { @@ -486,29 +480,17 @@ impl TorrentState { return; } }; - let s = match &mut peer.state { - s @ PeerState::Connecting(_) => s, - _ => { - warn!("peer {} was in a wrong state", handle); - return; - } - }; - let tx = match std::mem::take(s) { - PeerState::Connecting(tx) => tx, - _ => unreachable!(), - }; - *s = PeerState::Live(LivePeerState::new(Id20(h.peer_id), tx)); + peer.state.connecting_to_live(Id20(h.peer_id)); } fn on_peer_died(self: &Arc, handle: PeerHandle) { let mut g = self.locked.write(); - let live = match g.peers.mark_peer_dead(handle) { - Some(peer) => peer, - None => return, - }; - for req in live.inflight_requests { - g.chunks.mark_chunk_request_cancelled(req.piece, req.chunk); + if let Some(live) = g.peers.mark_peer_dead(handle) { + for req in live.inflight_requests { + g.chunks.mark_chunk_request_cancelled(req.piece, req.chunk); + } } + let backoff = g .peers .states @@ -1123,6 +1105,7 @@ impl PeerHandler { if self.state.get_left_to_download() == 0 { self.state.finished_notify.notify_waiters(); + self.disconnect_all_peers_that_have_full_torrent(); self.reopen_read_only()?; } @@ -1145,4 +1128,19 @@ impl PeerHandler { .with_context(|| format!("error processing received chunk {chunk_info:?}"))?; Ok(()) } + + fn disconnect_all_peers_that_have_full_torrent(&self) { + let mut g = self.state.locked.write(); + for (_, peer) in g.peers.states.iter_mut() { + if let PeerState::Live(l) = &peer.state { + if l.has_full_torrent(self.state.lengths.total_pieces() as usize) { + let live = peer + .state + .live_to(PeerState::FullyHaveNoLongerNeeded) + .unwrap(); + let _ = live.tx.send(WriterRequest::Disconnect); + } + } + } + } } diff --git a/rustc-ice-2023-11-17T23_37_51-9985.txt b/rustc-ice-2023-11-17T23_37_51-9985.txt new file mode 100644 index 0000000..7b5092d --- /dev/null +++ b/rustc-ice-2023-11-17T23_37_51-9985.txt @@ -0,0 +1,140 @@ +thread 'rustc' panicked at /rustc/dd430bc8c22f57992ec1457a87437d14283fdd65/compiler/rustc_errors/src/lib.rs:999:33: +Box +stack backtrace: + 0: 0x1059a3dac - std::backtrace::Backtrace::create::he1446a17ed3fb192 + 1: 0x10edcb134 - as core[e0b35f7eb9175e97]::ops::function::Fn<(&dyn for<'a, 'b> core[e0b35f7eb9175e97]::ops::function::Fn<(&'a core[e0b35f7eb9175e97]::panic::panic_info::PanicInfo<'b>,), Output = ()> + core[e0b35f7eb9175e97]::marker::Sync + core[e0b35f7eb9175e97]::marker::Send, &core[e0b35f7eb9175e97]::panic::panic_info::PanicInfo)>>::call + 2: 0x1059bbca8 - std::panicking::rust_panic_with_hook::h05bd262a58657294 + 3: 0x10fbffd4c - std[4d79feac4cea9cd0]::panicking::begin_panic::::{closure#0} + 4: 0x10fbfe448 - std[4d79feac4cea9cd0]::sys_common::backtrace::__rust_end_short_backtrace::::{closure#0}, !> + 5: 0x112bec854 - std[4d79feac4cea9cd0]::panicking::begin_panic:: + 6: 0x10fb1bd68 - ::span_bug:: + 7: 0x10fb1b92c - ::span_bug:: + 8: 0x10fbe1584 - rustc_middle[c4367cd1cb8e0dc9]::util::bug::opt_span_bug_fmt::::{closure#0} + 9: 0x10fbe15b8 - rustc_middle[c4367cd1cb8e0dc9]::ty::context::tls::with_opt::::{closure#0}, !>::{closure#0} + 10: 0x10fbdea54 - rustc_middle[c4367cd1cb8e0dc9]::ty::context::tls::with_context_opt::::{closure#0}, !>::{closure#0}, !> + 11: 0x112bed690 - rustc_middle[c4367cd1cb8e0dc9]::util::bug::span_bug_fmt:: + 12: 0x10facfd78 - rustc_mir_transform[b0d987c76d7549be]::coroutine::mir_coroutine_witnesses + 13: 0x10ffd3d28 - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> + 14: 0x11011dc7c - >::call_once + 15: 0x10ff466e8 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> + 16: 0x10fee2e08 - rustc_query_system[865695b26f343ed8]::query::plumbing::force_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt> + 17: 0x10ffb0d98 - ::{closure#0} as core[e0b35f7eb9175e97]::ops::function::FnOnce<(rustc_middle[c4367cd1cb8e0dc9]::ty::context::TyCtxt, rustc_query_system[865695b26f343ed8]::dep_graph::dep_node::DepNode)>>::call_once + 18: 0x11005d434 - >::try_mark_previous_green:: + 19: 0x11005d20c - >::try_mark_green:: + 20: 0x10ff14abc - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::, rustc_middle[c4367cd1cb8e0dc9]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> + 21: 0x1101b69c4 - rustc_query_impl[6ec06d95fa579ddc]::query_impl::needs_drop_raw::get_query_incr::__rust_end_short_backtrace + 22: 0x11059fd34 - ::needs_drop + 23: 0x1105ad520 - rustc_trait_selection[caa1e5098b58bda5]::traits::query::dropck_outlives::dtorck_constraint_for_ty_inner + 24: 0x1105a63e0 - rustc_trait_selection[caa1e5098b58bda5]::traits::query::dropck_outlives::compute_dropck_outlives_inner + 25: 0x11063ac8c - ::enter_canonical_trait_query::, rustc_middle[c4367cd1cb8e0dc9]::traits::query::DropckOutlivesResult, rustc_traits[56979a00368fe7bc]::dropck_outlives::dropck_outlives::{closure#0}> + 26: 0x11064c2dc - rustc_traits[56979a00368fe7bc]::dropck_outlives::dropck_outlives + 27: 0x10ffd09bc - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> + 28: 0x11011a488 - >)>>::call_once + 29: 0x10ff013b0 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, rustc_middle[c4367cd1cb8e0dc9]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> + 30: 0x110126f34 - rustc_query_impl[6ec06d95fa579ddc]::query_impl::dropck_outlives::get_query_incr::__rust_end_short_backtrace + 31: 0x11047ec08 - rustc_middle[c4367cd1cb8e0dc9]::query::plumbing::query_get_at::>, rustc_middle[c4367cd1cb8e0dc9]::query::erase::Erased<[u8; 8usize]>>> + 32: 0x10e8aa458 - ::fully_perform_into + 33: 0x10e7d0a58 - as rustc_trait_selection[caa1e5098b58bda5]::traits::query::type_op::TypeOp>::fully_perform + 34: 0x10e7ab9b8 - ::add_drop_live_facts_for + 35: 0x10e7aac64 - rustc_borrowck[288b2637815caa8b]::type_check::liveness::trace::trace + 36: 0x10e7e2124 - rustc_borrowck[288b2637815caa8b]::type_check::liveness::generate + 37: 0x10e7ad240 - rustc_borrowck[288b2637815caa8b]::type_check::type_check + 38: 0x10e93cd7c - rustc_borrowck[288b2637815caa8b]::nll::compute_regions + 39: 0x10e78cfd0 - rustc_borrowck[288b2637815caa8b]::do_mir_borrowck + 40: 0x10e7840a0 - rustc_borrowck[288b2637815caa8b]::mir_borrowck + 41: 0x10ffcfba0 - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> + 42: 0x11002f10c - >::call_once + 43: 0x10ff8b7a8 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> + 44: 0x110035bc0 - rustc_query_impl[6ec06d95fa579ddc]::query_impl::mir_borrowck::get_query_incr::__rust_end_short_backtrace + 45: 0x10e797140 - rustc_middle[c4367cd1cb8e0dc9]::query::plumbing::query_get_at::>> + 46: 0x10e7b1bdc - ::prove_closure_bounds + 47: 0x10e7b5090 - ::check_rvalue + 48: 0x10e7b8464 - ::typeck_mir + 49: 0x10e7acde0 - rustc_borrowck[288b2637815caa8b]::type_check::type_check + 50: 0x10e93cd7c - rustc_borrowck[288b2637815caa8b]::nll::compute_regions + 51: 0x10e78cfd0 - rustc_borrowck[288b2637815caa8b]::do_mir_borrowck + 52: 0x10e7840a0 - rustc_borrowck[288b2637815caa8b]::mir_borrowck + 53: 0x10ffcfba0 - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> + 54: 0x11002f10c - >::call_once + 55: 0x10ff8b7a8 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> + 56: 0x110035bc0 - rustc_query_impl[6ec06d95fa579ddc]::query_impl::mir_borrowck::get_query_incr::__rust_end_short_backtrace + 57: 0x10f057fe8 - rustc_middle[c4367cd1cb8e0dc9]::query::plumbing::query_get_at::>> + 58: 0x10f06a940 - rustc_hir_analysis[c19c0bfd1608da07]::collect::type_of::opaque::find_opaque_ty_constraints_for_rpit + 59: 0x10ffd075c - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> + 60: 0x11011a304 - >::call_once + 61: 0x10ff466e8 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> + 62: 0x1100d219c - rustc_query_impl[6ec06d95fa579ddc]::query_impl::type_of_opaque::get_query_incr::__rust_end_short_backtrace + 63: 0x10f000e20 - rustc_middle[c4367cd1cb8e0dc9]::query::plumbing::query_get_at::>> + 64: 0x10f019a78 - rustc_hir_analysis[c19c0bfd1608da07]::collect::type_of::type_of + 65: 0x10ffd5210 - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> + 66: 0x11012062c - >::call_once + 67: 0x10ff466e8 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> + 68: 0x1101568b0 - rustc_query_impl[6ec06d95fa579ddc]::query_impl::type_of::get_query_incr::__rust_end_short_backtrace + 69: 0x10f8fa314 - rustc_middle[c4367cd1cb8e0dc9]::query::plumbing::query_get_at::>> + 70: 0x10f8e7f94 - ::expand_opaque_ty + 71: 0x10f8e8080 - >::fold_ty + 72: 0x10f8e82c8 - >::fold_ty + 73: 0x10f8eacdc - rustc_middle[c4367cd1cb8e0dc9]::ty::util::fold_list:: as rustc_type_ir[9486e74e44844ae3]::fold::TypeFoldable>::try_fold_with::{closure#0}> + 74: 0x10f888ed8 - >::try_super_fold_with:: + 75: 0x10f8e8060 - >::fold_ty + 76: 0x10f7c7fcc - <&rustc_middle[c4367cd1cb8e0dc9]::ty::list::List as rustc_type_ir[9486e74e44844ae3]::fold::TypeFoldable>::try_fold_with:: + 77: 0x10f888f1c - >::try_super_fold_with:: + 78: 0x10f8e8060 - >::fold_ty + 79: 0x10f8e82c8 - >::fold_ty + 80: 0x10f8eacdc - rustc_middle[c4367cd1cb8e0dc9]::ty::util::fold_list:: as rustc_type_ir[9486e74e44844ae3]::fold::TypeFoldable>::try_fold_with::{closure#0}> + 81: 0x10f888ed8 - >::try_super_fold_with:: + 82: 0x10f8e8060 - >::fold_ty + 83: 0x10f8e7fc4 - ::expand_opaque_ty + 84: 0x10f8e8080 - >::fold_ty + 85: 0x10f8e82c8 - >::fold_ty + 86: 0x10f8eacdc - rustc_middle[c4367cd1cb8e0dc9]::ty::util::fold_list:: as rustc_type_ir[9486e74e44844ae3]::fold::TypeFoldable>::try_fold_with::{closure#0}> + 87: 0x10f888ed8 - >::try_super_fold_with:: + 88: 0x10f8e8060 - >::fold_ty + 89: 0x10f7c7fcc - <&rustc_middle[c4367cd1cb8e0dc9]::ty::list::List as rustc_type_ir[9486e74e44844ae3]::fold::TypeFoldable>::try_fold_with:: + 90: 0x10f888e74 - >::try_super_fold_with:: + 91: 0x10f8e8060 - >::fold_ty + 92: 0x10f8eacdc - rustc_middle[c4367cd1cb8e0dc9]::ty::util::fold_list:: as rustc_type_ir[9486e74e44844ae3]::fold::TypeFoldable>::try_fold_with::{closure#0}> + 93: 0x10f888eb4 - >::try_super_fold_with:: + 94: 0x10f8e8060 - >::fold_ty + 95: 0x10f8e82c8 - >::fold_ty + 96: 0x10f8eacdc - rustc_middle[c4367cd1cb8e0dc9]::ty::util::fold_list:: as rustc_type_ir[9486e74e44844ae3]::fold::TypeFoldable>::try_fold_with::{closure#0}> + 97: 0x10f888ed8 - >::try_super_fold_with:: + 98: 0x10f8e8060 - >::fold_ty + 99: 0x10f8e7fc4 - ::expand_opaque_ty + 100: 0x10f780f54 - ::try_expand_impl_trait_type + 101: 0x10f01034c - rustc_hir_analysis[c19c0bfd1608da07]::check::check::check_item_type + 102: 0x10f0169cc - rustc_hir_analysis[c19c0bfd1608da07]::check::check::check_mod_item_types + 103: 0x10ffd292c - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> + 104: 0x1101b0bf8 - >::call_once + 105: 0x10ff2d2d4 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> + 106: 0x110158cb0 - rustc_query_impl[6ec06d95fa579ddc]::query_impl::check_mod_item_types::get_query_incr::__rust_end_short_backtrace + 107: 0x10f0c2914 - ::for_each_module:: + 108: 0x10f094b04 - rustc_hir_analysis[c19c0bfd1608da07]::check_crate + 109: 0x10f51d094 - rustc_interface[fd51d116160c92d2]::passes::analysis + 110: 0x10ffd5238 - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> + 111: 0x110155f7c - >::call_once + 112: 0x10feeeec4 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> + 113: 0x11019b9d8 - rustc_query_impl[6ec06d95fa579ddc]::query_impl::analysis::get_query_incr::__rust_end_short_backtrace + 114: 0x10edad124 - ::enter::> + 115: 0x10ed3f4f4 - ::enter::, rustc_span[cc43194fc10ba92f]::ErrorGuaranteed>> + 116: 0x10edab4dc - rustc_span[cc43194fc10ba92f]::set_source_map::, rustc_interface[fd51d116160c92d2]::interface::run_compiler, rustc_driver_impl[683555f6943f3d8]::run_compiler::{closure#1}>::{closure#0}::{closure#0}> + 117: 0x10edb3c5c - std[4d79feac4cea9cd0]::sys_common::backtrace::__rust_begin_short_backtrace::, rustc_driver_impl[683555f6943f3d8]::run_compiler::{closure#1}>::{closure#0}, core[e0b35f7eb9175e97]::result::Result<(), rustc_span[cc43194fc10ba92f]::ErrorGuaranteed>>::{closure#0}, core[e0b35f7eb9175e97]::result::Result<(), rustc_span[cc43194fc10ba92f]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[e0b35f7eb9175e97]::result::Result<(), rustc_span[cc43194fc10ba92f]::ErrorGuaranteed>> + 118: 0x10ed9b854 - <::spawn_unchecked_, rustc_driver_impl[683555f6943f3d8]::run_compiler::{closure#1}>::{closure#0}, core[e0b35f7eb9175e97]::result::Result<(), rustc_span[cc43194fc10ba92f]::ErrorGuaranteed>>::{closure#0}, core[e0b35f7eb9175e97]::result::Result<(), rustc_span[cc43194fc10ba92f]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[e0b35f7eb9175e97]::result::Result<(), rustc_span[cc43194fc10ba92f]::ErrorGuaranteed>>::{closure#1} as core[e0b35f7eb9175e97]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} + 119: 0x1059c3ea4 - std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 + 120: 0x18c159034 - __pthread_joiner_wake + + +rustc version: 1.76.0-nightly (dd430bc8c 2023-11-14) +platform: aarch64-apple-darwin + +query stack during panic: +#0 [mir_coroutine_witnesses] coroutine witness types for `peer_connection::::manage_peer::{closure#0}::{closure#3}` +#1 [needs_drop_raw] computing whether `{coroutine witness@crates/librqbit/src/peer_connection.rs:202:22: 268:10}` needs drop +#2 [dropck_outlives] computing dropck types for `{async block@crates/librqbit/src/peer_connection.rs:202:22: 268:10}` +#3 [mir_borrowck] borrow-checking `peer_connection::::manage_peer::{closure#0}` +#4 [mir_borrowck] borrow-checking `peer_connection::::manage_peer` +#5 [type_of_opaque] computing type of opaque `peer_connection::::manage_peer::{opaque#0}` +#6 [type_of] computing type of `peer_connection::::manage_peer::{opaque#0}` +#7 [check_mod_item_types] checking item types in module `dht_utils` +#8 [analysis] running analysis passes on this crate +end of query stack diff --git a/rustc-ice-2023-11-17T23_37_51-9986.txt b/rustc-ice-2023-11-17T23_37_51-9986.txt new file mode 100644 index 0000000..74a21c8 --- /dev/null +++ b/rustc-ice-2023-11-17T23_37_51-9986.txt @@ -0,0 +1,140 @@ +thread 'rustc' panicked at /rustc/dd430bc8c22f57992ec1457a87437d14283fdd65/compiler/rustc_errors/src/lib.rs:999:33: +Box +stack backtrace: + 0: 0x10470fdac - std::backtrace::Backtrace::create::he1446a17ed3fb192 + 1: 0x10db37134 - as core[e0b35f7eb9175e97]::ops::function::Fn<(&dyn for<'a, 'b> core[e0b35f7eb9175e97]::ops::function::Fn<(&'a core[e0b35f7eb9175e97]::panic::panic_info::PanicInfo<'b>,), Output = ()> + core[e0b35f7eb9175e97]::marker::Sync + core[e0b35f7eb9175e97]::marker::Send, &core[e0b35f7eb9175e97]::panic::panic_info::PanicInfo)>>::call + 2: 0x104727ca8 - std::panicking::rust_panic_with_hook::h05bd262a58657294 + 3: 0x10e96bd4c - std[4d79feac4cea9cd0]::panicking::begin_panic::::{closure#0} + 4: 0x10e96a448 - std[4d79feac4cea9cd0]::sys_common::backtrace::__rust_end_short_backtrace::::{closure#0}, !> + 5: 0x111958854 - std[4d79feac4cea9cd0]::panicking::begin_panic:: + 6: 0x10e887d68 - ::span_bug:: + 7: 0x10e88792c - ::span_bug:: + 8: 0x10e94d584 - rustc_middle[c4367cd1cb8e0dc9]::util::bug::opt_span_bug_fmt::::{closure#0} + 9: 0x10e94d5b8 - rustc_middle[c4367cd1cb8e0dc9]::ty::context::tls::with_opt::::{closure#0}, !>::{closure#0} + 10: 0x10e94aa54 - rustc_middle[c4367cd1cb8e0dc9]::ty::context::tls::with_context_opt::::{closure#0}, !>::{closure#0}, !> + 11: 0x111959690 - rustc_middle[c4367cd1cb8e0dc9]::util::bug::span_bug_fmt:: + 12: 0x10e83bd78 - rustc_mir_transform[b0d987c76d7549be]::coroutine::mir_coroutine_witnesses + 13: 0x10ed3fd28 - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> + 14: 0x10ee89c7c - >::call_once + 15: 0x10ecb26e8 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> + 16: 0x10ec4ee08 - rustc_query_system[865695b26f343ed8]::query::plumbing::force_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt> + 17: 0x10ed1cd98 - ::{closure#0} as core[e0b35f7eb9175e97]::ops::function::FnOnce<(rustc_middle[c4367cd1cb8e0dc9]::ty::context::TyCtxt, rustc_query_system[865695b26f343ed8]::dep_graph::dep_node::DepNode)>>::call_once + 18: 0x10edc9434 - >::try_mark_previous_green:: + 19: 0x10edc920c - >::try_mark_green:: + 20: 0x10ec80abc - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::, rustc_middle[c4367cd1cb8e0dc9]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> + 21: 0x10ef229c4 - rustc_query_impl[6ec06d95fa579ddc]::query_impl::needs_drop_raw::get_query_incr::__rust_end_short_backtrace + 22: 0x10f30bd34 - ::needs_drop + 23: 0x10f319520 - rustc_trait_selection[caa1e5098b58bda5]::traits::query::dropck_outlives::dtorck_constraint_for_ty_inner + 24: 0x10f3123e0 - rustc_trait_selection[caa1e5098b58bda5]::traits::query::dropck_outlives::compute_dropck_outlives_inner + 25: 0x10f3a6c8c - ::enter_canonical_trait_query::, rustc_middle[c4367cd1cb8e0dc9]::traits::query::DropckOutlivesResult, rustc_traits[56979a00368fe7bc]::dropck_outlives::dropck_outlives::{closure#0}> + 26: 0x10f3b82dc - rustc_traits[56979a00368fe7bc]::dropck_outlives::dropck_outlives + 27: 0x10ed3c9bc - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> + 28: 0x10ee86488 - >)>>::call_once + 29: 0x10ec6d3b0 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, rustc_middle[c4367cd1cb8e0dc9]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> + 30: 0x10ee92f34 - rustc_query_impl[6ec06d95fa579ddc]::query_impl::dropck_outlives::get_query_incr::__rust_end_short_backtrace + 31: 0x10f1eac08 - rustc_middle[c4367cd1cb8e0dc9]::query::plumbing::query_get_at::>, rustc_middle[c4367cd1cb8e0dc9]::query::erase::Erased<[u8; 8usize]>>> + 32: 0x10d616458 - ::fully_perform_into + 33: 0x10d53ca58 - as rustc_trait_selection[caa1e5098b58bda5]::traits::query::type_op::TypeOp>::fully_perform + 34: 0x10d5179b8 - ::add_drop_live_facts_for + 35: 0x10d516c64 - rustc_borrowck[288b2637815caa8b]::type_check::liveness::trace::trace + 36: 0x10d54e124 - rustc_borrowck[288b2637815caa8b]::type_check::liveness::generate + 37: 0x10d519240 - rustc_borrowck[288b2637815caa8b]::type_check::type_check + 38: 0x10d6a8d7c - rustc_borrowck[288b2637815caa8b]::nll::compute_regions + 39: 0x10d4f8fd0 - rustc_borrowck[288b2637815caa8b]::do_mir_borrowck + 40: 0x10d4f00a0 - rustc_borrowck[288b2637815caa8b]::mir_borrowck + 41: 0x10ed3bba0 - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> + 42: 0x10ed9b10c - >::call_once + 43: 0x10ecf77a8 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> + 44: 0x10eda1bc0 - rustc_query_impl[6ec06d95fa579ddc]::query_impl::mir_borrowck::get_query_incr::__rust_end_short_backtrace + 45: 0x10d503140 - rustc_middle[c4367cd1cb8e0dc9]::query::plumbing::query_get_at::>> + 46: 0x10d51dbdc - ::prove_closure_bounds + 47: 0x10d521090 - ::check_rvalue + 48: 0x10d524464 - ::typeck_mir + 49: 0x10d518de0 - rustc_borrowck[288b2637815caa8b]::type_check::type_check + 50: 0x10d6a8d7c - rustc_borrowck[288b2637815caa8b]::nll::compute_regions + 51: 0x10d4f8fd0 - rustc_borrowck[288b2637815caa8b]::do_mir_borrowck + 52: 0x10d4f00a0 - rustc_borrowck[288b2637815caa8b]::mir_borrowck + 53: 0x10ed3bba0 - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> + 54: 0x10ed9b10c - >::call_once + 55: 0x10ecf77a8 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> + 56: 0x10eda1bc0 - rustc_query_impl[6ec06d95fa579ddc]::query_impl::mir_borrowck::get_query_incr::__rust_end_short_backtrace + 57: 0x10ddc3fe8 - rustc_middle[c4367cd1cb8e0dc9]::query::plumbing::query_get_at::>> + 58: 0x10ddd6940 - rustc_hir_analysis[c19c0bfd1608da07]::collect::type_of::opaque::find_opaque_ty_constraints_for_rpit + 59: 0x10ed3c75c - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> + 60: 0x10ee86304 - >::call_once + 61: 0x10ecb26e8 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> + 62: 0x10ee3e19c - rustc_query_impl[6ec06d95fa579ddc]::query_impl::type_of_opaque::get_query_incr::__rust_end_short_backtrace + 63: 0x10dd6ce20 - rustc_middle[c4367cd1cb8e0dc9]::query::plumbing::query_get_at::>> + 64: 0x10dd85a78 - rustc_hir_analysis[c19c0bfd1608da07]::collect::type_of::type_of + 65: 0x10ed41210 - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> + 66: 0x10ee8c62c - >::call_once + 67: 0x10ecb26e8 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> + 68: 0x10eec28b0 - rustc_query_impl[6ec06d95fa579ddc]::query_impl::type_of::get_query_incr::__rust_end_short_backtrace + 69: 0x10e666314 - rustc_middle[c4367cd1cb8e0dc9]::query::plumbing::query_get_at::>> + 70: 0x10e653f94 - ::expand_opaque_ty + 71: 0x10e654080 - >::fold_ty + 72: 0x10e6542c8 - >::fold_ty + 73: 0x10e656cdc - rustc_middle[c4367cd1cb8e0dc9]::ty::util::fold_list:: as rustc_type_ir[9486e74e44844ae3]::fold::TypeFoldable>::try_fold_with::{closure#0}> + 74: 0x10e5f4ed8 - >::try_super_fold_with:: + 75: 0x10e654060 - >::fold_ty + 76: 0x10e533fcc - <&rustc_middle[c4367cd1cb8e0dc9]::ty::list::List as rustc_type_ir[9486e74e44844ae3]::fold::TypeFoldable>::try_fold_with:: + 77: 0x10e5f4f1c - >::try_super_fold_with:: + 78: 0x10e654060 - >::fold_ty + 79: 0x10e6542c8 - >::fold_ty + 80: 0x10e656cdc - rustc_middle[c4367cd1cb8e0dc9]::ty::util::fold_list:: as rustc_type_ir[9486e74e44844ae3]::fold::TypeFoldable>::try_fold_with::{closure#0}> + 81: 0x10e5f4ed8 - >::try_super_fold_with:: + 82: 0x10e654060 - >::fold_ty + 83: 0x10e653fc4 - ::expand_opaque_ty + 84: 0x10e654080 - >::fold_ty + 85: 0x10e6542c8 - >::fold_ty + 86: 0x10e656cdc - rustc_middle[c4367cd1cb8e0dc9]::ty::util::fold_list:: as rustc_type_ir[9486e74e44844ae3]::fold::TypeFoldable>::try_fold_with::{closure#0}> + 87: 0x10e5f4ed8 - >::try_super_fold_with:: + 88: 0x10e654060 - >::fold_ty + 89: 0x10e533fcc - <&rustc_middle[c4367cd1cb8e0dc9]::ty::list::List as rustc_type_ir[9486e74e44844ae3]::fold::TypeFoldable>::try_fold_with:: + 90: 0x10e5f4e74 - >::try_super_fold_with:: + 91: 0x10e654060 - >::fold_ty + 92: 0x10e656cdc - rustc_middle[c4367cd1cb8e0dc9]::ty::util::fold_list:: as rustc_type_ir[9486e74e44844ae3]::fold::TypeFoldable>::try_fold_with::{closure#0}> + 93: 0x10e5f4eb4 - >::try_super_fold_with:: + 94: 0x10e654060 - >::fold_ty + 95: 0x10e6542c8 - >::fold_ty + 96: 0x10e656cdc - rustc_middle[c4367cd1cb8e0dc9]::ty::util::fold_list:: as rustc_type_ir[9486e74e44844ae3]::fold::TypeFoldable>::try_fold_with::{closure#0}> + 97: 0x10e5f4ed8 - >::try_super_fold_with:: + 98: 0x10e654060 - >::fold_ty + 99: 0x10e653fc4 - ::expand_opaque_ty + 100: 0x10e4ecf54 - ::try_expand_impl_trait_type + 101: 0x10dd7c34c - rustc_hir_analysis[c19c0bfd1608da07]::check::check::check_item_type + 102: 0x10dd829cc - rustc_hir_analysis[c19c0bfd1608da07]::check::check::check_mod_item_types + 103: 0x10ed3e92c - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> + 104: 0x10ef1cbf8 - >::call_once + 105: 0x10ec992d4 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> + 106: 0x10eec4cb0 - rustc_query_impl[6ec06d95fa579ddc]::query_impl::check_mod_item_types::get_query_incr::__rust_end_short_backtrace + 107: 0x10de2e914 - ::for_each_module:: + 108: 0x10de00b04 - rustc_hir_analysis[c19c0bfd1608da07]::check_crate + 109: 0x10e289094 - rustc_interface[fd51d116160c92d2]::passes::analysis + 110: 0x10ed41238 - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> + 111: 0x10eec1f7c - >::call_once + 112: 0x10ec5aec4 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> + 113: 0x10ef079d8 - rustc_query_impl[6ec06d95fa579ddc]::query_impl::analysis::get_query_incr::__rust_end_short_backtrace + 114: 0x10db19124 - ::enter::> + 115: 0x10daab4f4 - ::enter::, rustc_span[cc43194fc10ba92f]::ErrorGuaranteed>> + 116: 0x10db174dc - rustc_span[cc43194fc10ba92f]::set_source_map::, rustc_interface[fd51d116160c92d2]::interface::run_compiler, rustc_driver_impl[683555f6943f3d8]::run_compiler::{closure#1}>::{closure#0}::{closure#0}> + 117: 0x10db1fc5c - std[4d79feac4cea9cd0]::sys_common::backtrace::__rust_begin_short_backtrace::, rustc_driver_impl[683555f6943f3d8]::run_compiler::{closure#1}>::{closure#0}, core[e0b35f7eb9175e97]::result::Result<(), rustc_span[cc43194fc10ba92f]::ErrorGuaranteed>>::{closure#0}, core[e0b35f7eb9175e97]::result::Result<(), rustc_span[cc43194fc10ba92f]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[e0b35f7eb9175e97]::result::Result<(), rustc_span[cc43194fc10ba92f]::ErrorGuaranteed>> + 118: 0x10db07854 - <::spawn_unchecked_, rustc_driver_impl[683555f6943f3d8]::run_compiler::{closure#1}>::{closure#0}, core[e0b35f7eb9175e97]::result::Result<(), rustc_span[cc43194fc10ba92f]::ErrorGuaranteed>>::{closure#0}, core[e0b35f7eb9175e97]::result::Result<(), rustc_span[cc43194fc10ba92f]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[e0b35f7eb9175e97]::result::Result<(), rustc_span[cc43194fc10ba92f]::ErrorGuaranteed>>::{closure#1} as core[e0b35f7eb9175e97]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} + 119: 0x10472fea4 - std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 + 120: 0x18c159034 - __pthread_joiner_wake + + +rustc version: 1.76.0-nightly (dd430bc8c 2023-11-14) +platform: aarch64-apple-darwin + +query stack during panic: +#0 [mir_coroutine_witnesses] coroutine witness types for `peer_connection::::manage_peer::{closure#0}::{closure#3}` +#1 [needs_drop_raw] computing whether `{coroutine witness@crates/librqbit/src/peer_connection.rs:202:22: 268:10}` needs drop +#2 [dropck_outlives] computing dropck types for `{async block@crates/librqbit/src/peer_connection.rs:202:22: 268:10}` +#3 [mir_borrowck] borrow-checking `peer_connection::::manage_peer::{closure#0}` +#4 [mir_borrowck] borrow-checking `peer_connection::::manage_peer` +#5 [type_of_opaque] computing type of opaque `peer_connection::::manage_peer::{opaque#0}` +#6 [type_of] computing type of `peer_connection::::manage_peer::{opaque#0}` +#7 [check_mod_item_types] checking item types in module `dht_utils` +#8 [analysis] running analysis passes on this crate +end of query stack diff --git a/rustc-ice-2023-11-17T23_37_51-9987.txt b/rustc-ice-2023-11-17T23_37_51-9987.txt new file mode 100644 index 0000000..e7f2c4a --- /dev/null +++ b/rustc-ice-2023-11-17T23_37_51-9987.txt @@ -0,0 +1,140 @@ +thread 'rustc' panicked at /rustc/dd430bc8c22f57992ec1457a87437d14283fdd65/compiler/rustc_errors/src/lib.rs:999:33: +Box +stack backtrace: + 0: 0x1026c3dac - std::backtrace::Backtrace::create::he1446a17ed3fb192 + 1: 0x10baeb134 - as core[e0b35f7eb9175e97]::ops::function::Fn<(&dyn for<'a, 'b> core[e0b35f7eb9175e97]::ops::function::Fn<(&'a core[e0b35f7eb9175e97]::panic::panic_info::PanicInfo<'b>,), Output = ()> + core[e0b35f7eb9175e97]::marker::Sync + core[e0b35f7eb9175e97]::marker::Send, &core[e0b35f7eb9175e97]::panic::panic_info::PanicInfo)>>::call + 2: 0x1026dbca8 - std::panicking::rust_panic_with_hook::h05bd262a58657294 + 3: 0x10c91fd4c - std[4d79feac4cea9cd0]::panicking::begin_panic::::{closure#0} + 4: 0x10c91e448 - std[4d79feac4cea9cd0]::sys_common::backtrace::__rust_end_short_backtrace::::{closure#0}, !> + 5: 0x10f90c854 - std[4d79feac4cea9cd0]::panicking::begin_panic:: + 6: 0x10c83bd68 - ::span_bug:: + 7: 0x10c83b92c - ::span_bug:: + 8: 0x10c901584 - rustc_middle[c4367cd1cb8e0dc9]::util::bug::opt_span_bug_fmt::::{closure#0} + 9: 0x10c9015b8 - rustc_middle[c4367cd1cb8e0dc9]::ty::context::tls::with_opt::::{closure#0}, !>::{closure#0} + 10: 0x10c8fea54 - rustc_middle[c4367cd1cb8e0dc9]::ty::context::tls::with_context_opt::::{closure#0}, !>::{closure#0}, !> + 11: 0x10f90d690 - rustc_middle[c4367cd1cb8e0dc9]::util::bug::span_bug_fmt:: + 12: 0x10c7efd78 - rustc_mir_transform[b0d987c76d7549be]::coroutine::mir_coroutine_witnesses + 13: 0x10ccf3d28 - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> + 14: 0x10ce3dc7c - >::call_once + 15: 0x10cc666e8 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> + 16: 0x10cc02e08 - rustc_query_system[865695b26f343ed8]::query::plumbing::force_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt> + 17: 0x10ccd0d98 - ::{closure#0} as core[e0b35f7eb9175e97]::ops::function::FnOnce<(rustc_middle[c4367cd1cb8e0dc9]::ty::context::TyCtxt, rustc_query_system[865695b26f343ed8]::dep_graph::dep_node::DepNode)>>::call_once + 18: 0x10cd7d434 - >::try_mark_previous_green:: + 19: 0x10cd7d20c - >::try_mark_green:: + 20: 0x10cc34abc - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::, rustc_middle[c4367cd1cb8e0dc9]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> + 21: 0x10ced69c4 - rustc_query_impl[6ec06d95fa579ddc]::query_impl::needs_drop_raw::get_query_incr::__rust_end_short_backtrace + 22: 0x10d2bfd34 - ::needs_drop + 23: 0x10d2cd520 - rustc_trait_selection[caa1e5098b58bda5]::traits::query::dropck_outlives::dtorck_constraint_for_ty_inner + 24: 0x10d2c63e0 - rustc_trait_selection[caa1e5098b58bda5]::traits::query::dropck_outlives::compute_dropck_outlives_inner + 25: 0x10d35ac8c - ::enter_canonical_trait_query::, rustc_middle[c4367cd1cb8e0dc9]::traits::query::DropckOutlivesResult, rustc_traits[56979a00368fe7bc]::dropck_outlives::dropck_outlives::{closure#0}> + 26: 0x10d36c2dc - rustc_traits[56979a00368fe7bc]::dropck_outlives::dropck_outlives + 27: 0x10ccf09bc - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> + 28: 0x10ce3a488 - >)>>::call_once + 29: 0x10cc213b0 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, rustc_middle[c4367cd1cb8e0dc9]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> + 30: 0x10ce46f34 - rustc_query_impl[6ec06d95fa579ddc]::query_impl::dropck_outlives::get_query_incr::__rust_end_short_backtrace + 31: 0x10d19ec08 - rustc_middle[c4367cd1cb8e0dc9]::query::plumbing::query_get_at::>, rustc_middle[c4367cd1cb8e0dc9]::query::erase::Erased<[u8; 8usize]>>> + 32: 0x10b5ca458 - ::fully_perform_into + 33: 0x10b4f0a58 - as rustc_trait_selection[caa1e5098b58bda5]::traits::query::type_op::TypeOp>::fully_perform + 34: 0x10b4cb9b8 - ::add_drop_live_facts_for + 35: 0x10b4cac64 - rustc_borrowck[288b2637815caa8b]::type_check::liveness::trace::trace + 36: 0x10b502124 - rustc_borrowck[288b2637815caa8b]::type_check::liveness::generate + 37: 0x10b4cd240 - rustc_borrowck[288b2637815caa8b]::type_check::type_check + 38: 0x10b65cd7c - rustc_borrowck[288b2637815caa8b]::nll::compute_regions + 39: 0x10b4acfd0 - rustc_borrowck[288b2637815caa8b]::do_mir_borrowck + 40: 0x10b4a40a0 - rustc_borrowck[288b2637815caa8b]::mir_borrowck + 41: 0x10ccefba0 - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> + 42: 0x10cd4f10c - >::call_once + 43: 0x10ccab7a8 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> + 44: 0x10cd55bc0 - rustc_query_impl[6ec06d95fa579ddc]::query_impl::mir_borrowck::get_query_incr::__rust_end_short_backtrace + 45: 0x10b4b7140 - rustc_middle[c4367cd1cb8e0dc9]::query::plumbing::query_get_at::>> + 46: 0x10b4d1bdc - ::prove_closure_bounds + 47: 0x10b4d5090 - ::check_rvalue + 48: 0x10b4d8464 - ::typeck_mir + 49: 0x10b4ccde0 - rustc_borrowck[288b2637815caa8b]::type_check::type_check + 50: 0x10b65cd7c - rustc_borrowck[288b2637815caa8b]::nll::compute_regions + 51: 0x10b4acfd0 - rustc_borrowck[288b2637815caa8b]::do_mir_borrowck + 52: 0x10b4a40a0 - rustc_borrowck[288b2637815caa8b]::mir_borrowck + 53: 0x10ccefba0 - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> + 54: 0x10cd4f10c - >::call_once + 55: 0x10ccab7a8 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> + 56: 0x10cd55bc0 - rustc_query_impl[6ec06d95fa579ddc]::query_impl::mir_borrowck::get_query_incr::__rust_end_short_backtrace + 57: 0x10bd77fe8 - rustc_middle[c4367cd1cb8e0dc9]::query::plumbing::query_get_at::>> + 58: 0x10bd8a940 - rustc_hir_analysis[c19c0bfd1608da07]::collect::type_of::opaque::find_opaque_ty_constraints_for_rpit + 59: 0x10ccf075c - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> + 60: 0x10ce3a304 - >::call_once + 61: 0x10cc666e8 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> + 62: 0x10cdf219c - rustc_query_impl[6ec06d95fa579ddc]::query_impl::type_of_opaque::get_query_incr::__rust_end_short_backtrace + 63: 0x10bd20e20 - rustc_middle[c4367cd1cb8e0dc9]::query::plumbing::query_get_at::>> + 64: 0x10bd39a78 - rustc_hir_analysis[c19c0bfd1608da07]::collect::type_of::type_of + 65: 0x10ccf5210 - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> + 66: 0x10ce4062c - >::call_once + 67: 0x10cc666e8 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> + 68: 0x10ce768b0 - rustc_query_impl[6ec06d95fa579ddc]::query_impl::type_of::get_query_incr::__rust_end_short_backtrace + 69: 0x10c61a314 - rustc_middle[c4367cd1cb8e0dc9]::query::plumbing::query_get_at::>> + 70: 0x10c607f94 - ::expand_opaque_ty + 71: 0x10c608080 - >::fold_ty + 72: 0x10c6082c8 - >::fold_ty + 73: 0x10c60acdc - rustc_middle[c4367cd1cb8e0dc9]::ty::util::fold_list:: as rustc_type_ir[9486e74e44844ae3]::fold::TypeFoldable>::try_fold_with::{closure#0}> + 74: 0x10c5a8ed8 - >::try_super_fold_with:: + 75: 0x10c608060 - >::fold_ty + 76: 0x10c4e7fcc - <&rustc_middle[c4367cd1cb8e0dc9]::ty::list::List as rustc_type_ir[9486e74e44844ae3]::fold::TypeFoldable>::try_fold_with:: + 77: 0x10c5a8f1c - >::try_super_fold_with:: + 78: 0x10c608060 - >::fold_ty + 79: 0x10c6082c8 - >::fold_ty + 80: 0x10c60acdc - rustc_middle[c4367cd1cb8e0dc9]::ty::util::fold_list:: as rustc_type_ir[9486e74e44844ae3]::fold::TypeFoldable>::try_fold_with::{closure#0}> + 81: 0x10c5a8ed8 - >::try_super_fold_with:: + 82: 0x10c608060 - >::fold_ty + 83: 0x10c607fc4 - ::expand_opaque_ty + 84: 0x10c608080 - >::fold_ty + 85: 0x10c6082c8 - >::fold_ty + 86: 0x10c60acdc - rustc_middle[c4367cd1cb8e0dc9]::ty::util::fold_list:: as rustc_type_ir[9486e74e44844ae3]::fold::TypeFoldable>::try_fold_with::{closure#0}> + 87: 0x10c5a8ed8 - >::try_super_fold_with:: + 88: 0x10c608060 - >::fold_ty + 89: 0x10c4e7fcc - <&rustc_middle[c4367cd1cb8e0dc9]::ty::list::List as rustc_type_ir[9486e74e44844ae3]::fold::TypeFoldable>::try_fold_with:: + 90: 0x10c5a8e74 - >::try_super_fold_with:: + 91: 0x10c608060 - >::fold_ty + 92: 0x10c60acdc - rustc_middle[c4367cd1cb8e0dc9]::ty::util::fold_list:: as rustc_type_ir[9486e74e44844ae3]::fold::TypeFoldable>::try_fold_with::{closure#0}> + 93: 0x10c5a8eb4 - >::try_super_fold_with:: + 94: 0x10c608060 - >::fold_ty + 95: 0x10c6082c8 - >::fold_ty + 96: 0x10c60acdc - rustc_middle[c4367cd1cb8e0dc9]::ty::util::fold_list:: as rustc_type_ir[9486e74e44844ae3]::fold::TypeFoldable>::try_fold_with::{closure#0}> + 97: 0x10c5a8ed8 - >::try_super_fold_with:: + 98: 0x10c608060 - >::fold_ty + 99: 0x10c607fc4 - ::expand_opaque_ty + 100: 0x10c4a0f54 - ::try_expand_impl_trait_type + 101: 0x10bd3034c - rustc_hir_analysis[c19c0bfd1608da07]::check::check::check_item_type + 102: 0x10bd369cc - rustc_hir_analysis[c19c0bfd1608da07]::check::check::check_mod_item_types + 103: 0x10ccf292c - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> + 104: 0x10ced0bf8 - >::call_once + 105: 0x10cc4d2d4 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> + 106: 0x10ce78cb0 - rustc_query_impl[6ec06d95fa579ddc]::query_impl::check_mod_item_types::get_query_incr::__rust_end_short_backtrace + 107: 0x10bde2914 - ::for_each_module:: + 108: 0x10bdb4b04 - rustc_hir_analysis[c19c0bfd1608da07]::check_crate + 109: 0x10c23d094 - rustc_interface[fd51d116160c92d2]::passes::analysis + 110: 0x10ccf5238 - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> + 111: 0x10ce75f7c - >::call_once + 112: 0x10cc0eec4 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> + 113: 0x10cebb9d8 - rustc_query_impl[6ec06d95fa579ddc]::query_impl::analysis::get_query_incr::__rust_end_short_backtrace + 114: 0x10bacd124 - ::enter::> + 115: 0x10ba5f4f4 - ::enter::, rustc_span[cc43194fc10ba92f]::ErrorGuaranteed>> + 116: 0x10bacb4dc - rustc_span[cc43194fc10ba92f]::set_source_map::, rustc_interface[fd51d116160c92d2]::interface::run_compiler, rustc_driver_impl[683555f6943f3d8]::run_compiler::{closure#1}>::{closure#0}::{closure#0}> + 117: 0x10bad3c5c - std[4d79feac4cea9cd0]::sys_common::backtrace::__rust_begin_short_backtrace::, rustc_driver_impl[683555f6943f3d8]::run_compiler::{closure#1}>::{closure#0}, core[e0b35f7eb9175e97]::result::Result<(), rustc_span[cc43194fc10ba92f]::ErrorGuaranteed>>::{closure#0}, core[e0b35f7eb9175e97]::result::Result<(), rustc_span[cc43194fc10ba92f]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[e0b35f7eb9175e97]::result::Result<(), rustc_span[cc43194fc10ba92f]::ErrorGuaranteed>> + 118: 0x10babb854 - <::spawn_unchecked_, rustc_driver_impl[683555f6943f3d8]::run_compiler::{closure#1}>::{closure#0}, core[e0b35f7eb9175e97]::result::Result<(), rustc_span[cc43194fc10ba92f]::ErrorGuaranteed>>::{closure#0}, core[e0b35f7eb9175e97]::result::Result<(), rustc_span[cc43194fc10ba92f]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[e0b35f7eb9175e97]::result::Result<(), rustc_span[cc43194fc10ba92f]::ErrorGuaranteed>>::{closure#1} as core[e0b35f7eb9175e97]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} + 119: 0x1026e3ea4 - std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 + 120: 0x18c159034 - __pthread_joiner_wake + + +rustc version: 1.76.0-nightly (dd430bc8c 2023-11-14) +platform: aarch64-apple-darwin + +query stack during panic: +#0 [mir_coroutine_witnesses] coroutine witness types for `peer_connection::::manage_peer::{closure#0}::{closure#3}` +#1 [needs_drop_raw] computing whether `{coroutine witness@crates/librqbit/src/peer_connection.rs:202:22: 268:10}` needs drop +#2 [dropck_outlives] computing dropck types for `{async block@crates/librqbit/src/peer_connection.rs:202:22: 268:10}` +#3 [mir_borrowck] borrow-checking `peer_connection::::manage_peer::{closure#0}` +#4 [mir_borrowck] borrow-checking `peer_connection::::manage_peer` +#5 [type_of_opaque] computing type of opaque `peer_connection::::manage_peer::{opaque#0}` +#6 [type_of] computing type of `peer_connection::::manage_peer::{opaque#0}` +#7 [check_mod_item_types] checking item types in module `dht_utils` +#8 [analysis] running analysis passes on this crate +end of query stack From db12bba7a68f01b68e513e4baf70857cbefff653 Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Sat, 18 Nov 2023 10:08:12 +0000 Subject: [PATCH 05/40] Not even sure what I'm doing --- crates/librqbit/src/peer_state.rs | 35 ++++++++++-- crates/librqbit/src/torrent_state.rs | 81 ++++++++++++++++------------ 2 files changed, 78 insertions(+), 38 deletions(-) diff --git a/crates/librqbit/src/peer_state.rs b/crates/librqbit/src/peer_state.rs index 16e0592..ae25d70 100644 --- a/crates/librqbit/src/peer_state.rs +++ b/crates/librqbit/src/peer_state.rs @@ -1,6 +1,7 @@ use std::time::Duration; use std::{collections::HashSet, sync::Arc}; +use anyhow::Context; use backoff::{ExponentialBackoff, ExponentialBackoffBuilder}; use librqbit_core::id20::Id20; use librqbit_core::lengths::{ChunkInfo, ValidPieceIndex}; @@ -27,7 +28,20 @@ impl From<&ChunkInfo> for InflightRequest { // TODO: Arc can be removed probably, as UnboundedSender should be clone + it can be downgraded to weak. pub type PeerRx = UnboundedReceiver; -pub type PeerTx = Arc>; +pub type PeerTx = UnboundedSender; + +pub trait SendMany { + fn send_many(&self, requests: impl IntoIterator) -> anyhow::Result<()>; +} + +impl SendMany for PeerTx { + fn send_many(&self, requests: impl IntoIterator) -> anyhow::Result<()> { + requests + .into_iter() + .try_for_each(|r| self.send(r)) + .context("peer dropped") + } +} #[derive(Debug)] pub struct PeerStats { @@ -64,10 +78,20 @@ pub enum PeerState { Dead, // The peer has the full torrent, and we have the full torrent, so no need // to keep talking to it. - FullyHaveNoLongerNeeded, + NotNeeded, } impl PeerState { + pub fn name(&self) -> &'static str { + match self { + PeerState::Queued => "queued", + PeerState::Connecting(_) => "connecting", + PeerState::Live(_) => "live", + PeerState::Dead => "dead", + PeerState::NotNeeded => "not needed", + } + } + fn take_connecting(&mut self) -> Option { if let PeerState::Connecting(_) = self { match std::mem::take(self) { @@ -100,7 +124,7 @@ impl PeerState { pub fn queued_to_connecting(&mut self) -> Option { if let PeerState::Queued = self { let (tx, rx) = unbounded_channel(); - *self = PeerState::Connecting(Arc::new(tx)); + *self = PeerState::Connecting(tx); Some(rx) } else { None @@ -120,9 +144,10 @@ impl PeerState { false } - pub fn to_dead(&mut self) -> Option { + pub fn to_dead(&mut self) -> Option> { match std::mem::replace(self, PeerState::Dead) { - PeerState::Live(l) => Some(l), + PeerState::Live(l) => Some(Some(l)), + PeerState::Connecting(_) => Some(None), _ => None, } } diff --git a/crates/librqbit/src/torrent_state.rs b/crates/librqbit/src/torrent_state.rs index 73287b5..79885ac 100644 --- a/crates/librqbit/src/torrent_state.rs +++ b/crates/librqbit/src/torrent_state.rs @@ -1,3 +1,6 @@ +// The main logic of rqbit is here - connecting to peers, reading and writing messages +// to them, tracking peer state etc. + use std::{ collections::{HashMap, HashSet}, fs::File, @@ -41,7 +44,7 @@ use crate::{ peer_connection::{ PeerConnection, PeerConnectionHandler, PeerConnectionOptions, WriterRequest, }, - peer_state::{InflightRequest, LivePeerState, Peer, PeerRx, PeerState, PeerTx}, + peer_state::{InflightRequest, LivePeerState, Peer, PeerRx, PeerState, PeerTx, SendMany}, spawn_utils::{spawn, BlockingSpawner}, type_aliases::{PeerHandle, BF}, }; @@ -79,7 +82,7 @@ impl PeerStates { PeerState::Live(_) => s.live += 1, PeerState::Queued => s.queued += 1, PeerState::Dead => s.dead += 1, - PeerState::FullyHaveNoLongerNeeded => s.fully_have_and_we_are_finished += 1, + PeerState::NotNeeded => s.fully_have_and_we_are_finished += 1, }; s }); @@ -121,7 +124,7 @@ impl PeerStates { self.states.insert(handle, Default::default()); Some(handle) } - pub fn mark_peer_dead(&mut self, handle: PeerHandle) -> Option { + pub fn mark_peer_dead(&mut self, handle: PeerHandle) -> Option> { let peer = self.states.get_mut(&handle)?; peer.state.to_dead() } @@ -174,7 +177,7 @@ impl PeerStates { self.inflight_pieces.remove(&piece) } - fn mark_peer_trustworthy(&mut self, handle: SocketAddr) { + fn reset_peer_backoff(&mut self, handle: PeerHandle) { let p = match self.states.get_mut(&handle) { Some(p) => p, None => return, @@ -340,12 +343,20 @@ impl TorrentState { spawner, ); - if let Err(e) = peer_connection.manage_peer(rx).await { - debug!("error managing peer {}: {:#}", addr, e) - }; + let res = peer_connection.manage_peer(rx).await; let state = peer_connection.into_handler().state; - state.on_peer_died(addr); state.peer_semaphore.add_permits(1); + + match res { + // We disconnected the peer ourselves as we don't need it + Ok(()) => { + state.on_peer_died(addr, None); + } + Err(e) => { + debug!("error managing peer {}: {:#}", addr, e); + state.on_peer_died(addr, Some(e)); + } + } Ok::<_, anyhow::Error>(()) } }); @@ -483,12 +494,22 @@ impl TorrentState { peer.state.connecting_to_live(Id20(h.peer_id)); } - fn on_peer_died(self: &Arc, handle: PeerHandle) { + fn on_peer_died(self: &Arc, handle: PeerHandle, error: Option) { let mut g = self.locked.write(); - if let Some(live) = g.peers.mark_peer_dead(handle) { - for req in live.inflight_requests { - g.chunks.mark_chunk_request_cancelled(req.piece, req.chunk); + match g.peers.mark_peer_dead(handle) { + Some(Some(live)) => { + for req in live.inflight_requests { + g.chunks.mark_chunk_request_cancelled(req.piece, req.chunk); + } } + // Other valid state to transition to dead. + Some(None) => {} + // Peer was in an unexpected state. + None => return, + } + + if error.is_none() { + return; } let backoff = g @@ -502,17 +523,21 @@ impl TorrentState { if let Some(dur) = backoff { let state = self.clone(); - spawn("wait for peer", async move { + spawn(format!("wait_for_peer({handle}, {dur:?})"), async move { tokio::time::sleep(dur).await; { let mut g = state.locked.write(); let peer = match g.peers.states.get_mut(&handle) { Some(p) => p, - None => bail!("bug: peer disappeared"), + None => bail!("bug: peer {} disappeared", handle), }; match &peer.state { PeerState::Dead => peer.state = PeerState::Queued, - _ => bail!("peer in unexpected state"), + other => bail!( + "peer {} in unexpected state: {}. Expected dead", + handle, + other.name() + ), } } state.peer_queue_tx.send(handle)?; @@ -554,7 +579,7 @@ impl TorrentState { continue; } - let tx = Arc::downgrade(&live.tx); + let tx = live.tx.downgrade(); futures.push(async move { if let Some(tx) = tx.upgrade() { if tx @@ -586,18 +611,12 @@ impl TorrentState { } pub fn add_peer_if_not_seen(self: &Arc, addr: SocketAddr) -> bool { - // let (out_tx, out_rx) = tokio::sync::mpsc::unbounded_channel::(); match self.locked.write().peers.add_if_not_seen(addr) { Some(handle) => handle, None => return false, }; - match self.peer_queue_tx.send(addr) { - Ok(_) => {} - Err(_) => { - warn!("peer adder died, can't add peer") - } - } + let _ = self.peer_queue_tx.send(addr); true } @@ -818,11 +837,10 @@ impl PeerHandler { Some(tx) => tx, None => return Ok(()), }; - tx.send(WriterRequest::Message(MessageOwned::Unchoke)) - .context("peer dropped")?; - tx.send(WriterRequest::Message(MessageOwned::Interested)) - .context("peer dropped")?; - + tx.send_many([ + WriterRequest::Message(MessageOwned::Unchoke), + WriterRequest::Message(MessageOwned::Interested), + ])?; self.requester(handle).await?; Ok::<_, anyhow::Error>(()) } @@ -1095,7 +1113,7 @@ impl PeerHandler { let mut g = self.state.locked.write(); g.chunks.mark_piece_downloaded(chunk_info.piece_index); - g.peers.mark_peer_trustworthy(handle); + g.peers.reset_peer_backoff(handle); } debug!( @@ -1134,10 +1152,7 @@ impl PeerHandler { for (_, peer) in g.peers.states.iter_mut() { if let PeerState::Live(l) = &peer.state { if l.has_full_torrent(self.state.lengths.total_pieces() as usize) { - let live = peer - .state - .live_to(PeerState::FullyHaveNoLongerNeeded) - .unwrap(); + let live = peer.state.live_to(PeerState::NotNeeded).unwrap(); let _ = live.tx.send(WriterRequest::Disconnect); } } From 48a14823fa3ebeb75a9739599b8106a79e95ebb8 Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Sun, 19 Nov 2023 12:50:11 +0000 Subject: [PATCH 06/40] Changed log to tracing --- Cargo.lock | 186 +++++++++----- TODO.md | 3 + crates/dht/Cargo.toml | 3 +- crates/dht/src/dht.rs | 4 +- crates/dht/src/main.rs | 6 +- crates/dht/src/persistence.rs | 2 +- crates/dht/src/routing_table.rs | 2 +- crates/librqbit/Cargo.toml | 3 +- crates/librqbit/src/chunk_tracker.rs | 2 +- crates/librqbit/src/dht_utils.rs | 4 +- crates/librqbit/src/file_ops.rs | 2 +- crates/librqbit/src/http_api.rs | 4 +- crates/librqbit/src/lib.rs | 1 - crates/librqbit/src/peer_connection.rs | 32 +-- crates/librqbit/src/peer_handler.rs | 1 - crates/librqbit/src/peer_info_reader/mod.rs | 4 +- crates/librqbit/src/session.rs | 4 +- crates/librqbit/src/spawn_utils.rs | 20 +- crates/librqbit/src/torrent_manager.rs | 11 +- crates/librqbit/src/torrent_state.rs | 269 ++++++++++---------- crates/librqbit_core/Cargo.toml | 1 - crates/rqbit/Cargo.toml | 4 +- crates/rqbit/src/main.rs | 22 +- rustc-ice-2023-11-17T23_37_51-9985.txt | 140 ---------- rustc-ice-2023-11-17T23_37_51-9986.txt | 140 ---------- rustc-ice-2023-11-17T23_37_51-9987.txt | 140 ---------- 26 files changed, 321 insertions(+), 689 deletions(-) delete mode 100644 crates/librqbit/src/peer_handler.rs delete mode 100644 rustc-ice-2023-11-17T23_37_51-9985.txt delete mode 100644 rustc-ice-2023-11-17T23_37_51-9986.txt delete mode 100644 rustc-ice-2023-11-17T23_37_51-9987.txt diff --git a/Cargo.lock b/Cargo.lock index e1ed135..9d75cc8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -410,19 +410,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "env_logger" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95b3f3e67048839cb0d0781f445682a35113da7121f7c949db0e2be96a4fbece" -dependencies = [ - "humantime", - "is-terminal", - "log", - "regex", - "termcolor", -] - [[package]] name = "equivalent" version = "1.0.1" @@ -689,12 +676,6 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" -[[package]] -name = "humantime" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" - [[package]] name = "hyper" version = "0.14.27" @@ -781,17 +762,6 @@ version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" -[[package]] -name = "is-terminal" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" -dependencies = [ - "hermit-abi", - "rustix", - "windows-sys", -] - [[package]] name = "itertools" version = "0.12.0" @@ -860,10 +830,8 @@ dependencies = [ "librqbit-dht", "librqbit-peer-protocol", "librqbit-sha1-wrapper", - "log", "openssl", "parking_lot", - "pretty_env_logger", "rand", "regex", "reqwest", @@ -874,6 +842,7 @@ dependencies = [ "size_format", "tokio", "tokio-stream", + "tracing", "url", "urlencoding", "uuid", @@ -912,7 +881,6 @@ dependencies = [ "librqbit-bencode", "librqbit-buffers", "librqbit-clone-to-owned", - "log", "parking_lot", "serde", "url", @@ -931,14 +899,13 @@ dependencies = [ "librqbit-bencode", "librqbit-clone-to-owned", "librqbit-core", - "log", "parking_lot", - "pretty_env_logger", "rand", "serde", "serde_json", "tokio", "tokio-stream", + "tracing", ] [[package]] @@ -987,6 +954,15 @@ version = "0.4.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" +[[package]] +name = "matchers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +dependencies = [ + "regex-automata 0.1.10", +] + [[package]] name = "matchit" version = "0.7.3" @@ -1043,6 +1019,16 @@ dependencies = [ "tempfile", ] +[[package]] +name = "nu-ansi-term" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +dependencies = [ + "overload", + "winapi", +] + [[package]] name = "num" version = "0.2.1" @@ -1195,6 +1181,12 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" +[[package]] +name = "overload" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" + [[package]] name = "parking_lot" version = "0.12.1" @@ -1279,16 +1271,6 @@ version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" -[[package]] -name = "pretty_env_logger" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "865724d4dbe39d9f3dd3b52b88d859d66bcb2d6a0acfd5ea68a65fb66d4bdc1c" -dependencies = [ - "env_logger", - "log", -] - [[package]] name = "proc-macro2" version = "1.0.69" @@ -1371,8 +1353,17 @@ checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" dependencies = [ "aho-corasick", "memchr", - "regex-automata", - "regex-syntax", + "regex-automata 0.4.3", + "regex-syntax 0.8.2", +] + +[[package]] +name = "regex-automata" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +dependencies = [ + "regex-syntax 0.6.29", ] [[package]] @@ -1383,9 +1374,15 @@ checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" dependencies = [ "aho-corasick", "memchr", - "regex-syntax", + "regex-syntax 0.8.2", ] +[[package]] +name = "regex-syntax" +version = "0.6.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" + [[package]] name = "regex-syntax" version = "0.8.2" @@ -1458,15 +1455,15 @@ dependencies = [ "futures", "librqbit", "librqbit-dht", - "log", "parse_duration", - "pretty_env_logger", "regex", "reqwest", "serde", "serde_json", "size_format", "tokio", + "tracing", + "tracing-subscriber", ] [[package]] @@ -1490,9 +1487,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.21.8" +version = "0.21.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "446e14c5cda4f3f30fe71863c34ec70f5ac79d6087097ad0bb433e1be5edf04c" +checksum = "629648aced5775d558af50b2b4c7b02983a04b312126d45eeead26e7caa498b9" dependencies = [ "log", "ring", @@ -1643,6 +1640,15 @@ dependencies = [ "digest", ] +[[package]] +name = "sharded-slab" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" +dependencies = [ + "lazy_static", +] + [[package]] name = "size_format" version = "1.0.2" @@ -1757,15 +1763,6 @@ dependencies = [ "windows-sys", ] -[[package]] -name = "termcolor" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449" -dependencies = [ - "winapi-util", -] - [[package]] name = "thiserror" version = "1.0.50" @@ -1786,6 +1783,16 @@ dependencies = [ "syn", ] +[[package]] +name = "thread_local" +version = "1.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" +dependencies = [ + "cfg-if", + "once_cell", +] + [[package]] name = "tinyvec" version = "1.6.0" @@ -1911,9 +1918,21 @@ checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" dependencies = [ "log", "pin-project-lite", + "tracing-attributes", "tracing-core", ] +[[package]] +name = "tracing-attributes" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "tracing-core" version = "0.1.32" @@ -1921,6 +1940,36 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" dependencies = [ "once_cell", + "valuable", +] + +[[package]] +name = "tracing-log" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" +dependencies = [ + "log", + "once_cell", + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +dependencies = [ + "matchers", + "nu-ansi-term", + "once_cell", + "regex", + "sharded-slab", + "smallvec", + "thread_local", + "tracing", + "tracing-core", + "tracing-log", ] [[package]] @@ -1994,6 +2043,12 @@ dependencies = [ "getrandom", ] +[[package]] +name = "valuable" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" + [[package]] name = "vcpkg" version = "0.2.15" @@ -2119,15 +2174,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -[[package]] -name = "winapi-util" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" -dependencies = [ - "winapi", -] - [[package]] name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" diff --git a/TODO.md b/TODO.md index c6aafee..9e67d7c 100644 --- a/TODO.md +++ b/TODO.md @@ -1,6 +1,9 @@ - [ ] when we have the whole torrent, there's no point talking to peers that also have the whole torrent and keep reconnecting to them. - [ ] per-file stats - [ ] per-peer stats +- [ ] use some concurrent hashmap e.g. flurry or dashmap +- [x] tracing instead of logging. Debugging peers: RUST_LOG=[{peer=.*}]=debug + test-log for tests someday: - [ ] cancellation from the client-side for the lib (i.e. stop the torrent manager) \ No newline at end of file diff --git a/crates/dht/Cargo.toml b/crates/dht/Cargo.toml index c9ae8a7..5552dac 100644 --- a/crates/dht/Cargo.toml +++ b/crates/dht/Cargo.toml @@ -25,8 +25,7 @@ hex = "0.4" bencode = {path = "../bencode", default-features=false, package="librqbit-bencode", version="2.2.1"} anyhow = "1" parking_lot = "0.12" -log = "0.4" -pretty_env_logger = "0.5" +tracing = "0.1" futures = "0.3" rand = "0.8" indexmap = "2" diff --git a/crates/dht/src/dht.rs b/crates/dht/src/dht.rs index a1b23ba..970d78c 100644 --- a/crates/dht/src/dht.rs +++ b/crates/dht/src/dht.rs @@ -17,7 +17,6 @@ use bencode::ByteString; use futures::{stream::FuturesUnordered, Stream, StreamExt}; use indexmap::IndexSet; use librqbit_core::{id20::Id20, peer_id::generate_peer_id}; -use log::{debug, info, trace, warn}; use parking_lot::RwLock; use rand::Rng; use serde::Serialize; @@ -26,6 +25,7 @@ use tokio::{ sync::mpsc::{channel, unbounded_channel, Sender, UnboundedReceiver, UnboundedSender}, }; use tokio_stream::wrappers::{errors::BroadcastStreamRecvError, BroadcastStream}; +use tracing::{debug, info, trace, warn}; #[derive(Debug, Serialize)] pub struct DhtStats { @@ -449,7 +449,7 @@ async fn run_framer( Err(_) => break, } } - Err(e) => log::debug!("{}: error deserializing incoming message: {}", addr, e), + Err(e) => debug!("{}: error deserializing incoming message: {}", addr, e), } } Err::<(), _>(anyhow::anyhow!( diff --git a/crates/dht/src/main.rs b/crates/dht/src/main.rs index fc6f524..5c2f1e6 100644 --- a/crates/dht/src/main.rs +++ b/crates/dht/src/main.rs @@ -2,13 +2,11 @@ use std::{str::FromStr, time::Duration}; use anyhow::Context; use librqbit_dht::{Dht, Id20}; -use log::info; use tokio_stream::StreamExt; +use tracing::info; #[tokio::main] async fn main() -> anyhow::Result<()> { - pretty_env_logger::init(); - let info_hash = Id20::from_str("64a980abe6e448226bb930ba061592e44c3781a1").unwrap(); let dht = Dht::new().await.context("error initializing DHT")?; let mut stream = dht.get_peers(info_hash).await?; @@ -42,7 +40,7 @@ async fn main() -> anyhow::Result<()> { let peer_printer = async { while let Some(peer) = stream.next().await { - log::info!("peer found: {}", peer) + info!("peer found: {}", peer) } Ok(()) }; diff --git a/crates/dht/src/persistence.rs b/crates/dht/src/persistence.rs index affc981..d22ad6b 100644 --- a/crates/dht/src/persistence.rs +++ b/crates/dht/src/persistence.rs @@ -8,8 +8,8 @@ use std::path::{Path, PathBuf}; use std::time::Duration; use anyhow::Context; -use log::{debug, error, info, trace, warn}; use tokio::spawn; +use tracing::{debug, error, info, trace, warn}; use crate::dht::{Dht, DhtConfig}; use crate::routing_table::RoutingTable; diff --git a/crates/dht/src/routing_table.rs b/crates/dht/src/routing_table.rs index 89cd404..5118c81 100644 --- a/crates/dht/src/routing_table.rs +++ b/crates/dht/src/routing_table.rs @@ -4,8 +4,8 @@ use std::{ }; use librqbit_core::id20::Id20; -use log::debug; use serde::{ser::SerializeMap, Deserialize, Serialize}; +use tracing::debug; #[derive(Debug, Clone, Serialize, Deserialize)] enum BucketTreeNodeData { diff --git a/crates/librqbit/Cargo.toml b/crates/librqbit/Cargo.toml index 8ce32cc..e878704 100644 --- a/crates/librqbit/Cargo.toml +++ b/crates/librqbit/Cargo.toml @@ -43,7 +43,7 @@ byteorder = "1" bincode = "1" bitvec = "1" parking_lot = "0.12" -log = "0.4" +tracing = "0.1.40" size_format = "1" rand = "0.8" @@ -59,4 +59,3 @@ backoff = "0.4.0" [dev-dependencies] futures = {version = "0.3"} -pretty_env_logger = "0.5" diff --git a/crates/librqbit/src/chunk_tracker.rs b/crates/librqbit/src/chunk_tracker.rs index c013588..a0ea3bc 100644 --- a/crates/librqbit/src/chunk_tracker.rs +++ b/crates/librqbit/src/chunk_tracker.rs @@ -1,6 +1,6 @@ use librqbit_core::lengths::{ChunkInfo, Lengths, ValidPieceIndex}; -use log::{debug, info}; use peer_binary_protocol::Piece; +use tracing::{debug, info}; use crate::type_aliases::BF; diff --git a/crates/librqbit/src/dht_utils.rs b/crates/librqbit/src/dht_utils.rs index 56fd46e..2c9f3fc 100644 --- a/crates/librqbit/src/dht_utils.rs +++ b/crates/librqbit/src/dht_utils.rs @@ -4,7 +4,7 @@ use anyhow::Context; use buffers::ByteString; use futures::{stream::FuturesUnordered, Stream, StreamExt}; use librqbit_core::torrent_metainfo::TorrentMetaV1Info; -use log::debug; +use tracing::debug; use crate::{ peer_connection::PeerConnectionOptions, peer_info_reader, spawn_utils::BlockingSpawner, @@ -97,7 +97,7 @@ mod tests { fn init_logging() { #[allow(unused_must_use)] LOG_INIT.call_once(|| { - pretty_env_logger::try_init(); + // pretty_env_logger::try_init(); }) } diff --git a/crates/librqbit/src/file_ops.rs b/crates/librqbit/src/file_ops.rs index a635fe2..32e2bb3 100644 --- a/crates/librqbit/src/file_ops.rs +++ b/crates/librqbit/src/file_ops.rs @@ -11,7 +11,7 @@ use librqbit_core::{ lengths::{ChunkInfo, Lengths, ValidPieceIndex}, torrent_metainfo::{FileIteratorName, TorrentMetaV1Info}, }; -use log::{debug, trace, warn}; +use tracing::{debug, trace, warn}; use parking_lot::Mutex; use peer_binary_protocol::Piece; use sha1w::ISha1; diff --git a/crates/librqbit/src/http_api.rs b/crates/librqbit/src/http_api.rs index 93deadf..2ce53f5 100644 --- a/crates/librqbit/src/http_api.rs +++ b/crates/librqbit/src/http_api.rs @@ -7,7 +7,7 @@ use dht::{Dht, DhtStats}; use http::StatusCode; use librqbit_core::id20::Id20; use librqbit_core::torrent_metainfo::TorrentMetaV1Info; -use log::warn; +use tracing::{warn, info}; use parking_lot::RwLock; use serde::{Deserialize, Serialize}; use std::net::SocketAddr; @@ -110,7 +110,7 @@ impl HttpApi { .route("/torrents/:id/stats", get(torrent_stats)) .with_state(state); - log::info!("starting HTTP server on {}", addr); + info!("starting HTTP server on {}", addr); axum::Server::try_bind(&addr) .with_context(|| format!("error binding to {addr}"))? .serve(app.into_make_service()) diff --git a/crates/librqbit/src/lib.rs b/crates/librqbit/src/lib.rs index ecf4ef1..097d45e 100644 --- a/crates/librqbit/src/lib.rs +++ b/crates/librqbit/src/lib.rs @@ -5,7 +5,6 @@ pub mod http_api; pub mod http_api_client; mod http_api_error; pub mod peer_connection; -pub mod peer_handler; pub mod peer_info_reader; pub mod peer_state; pub mod session; diff --git a/crates/librqbit/src/peer_connection.rs b/crates/librqbit/src/peer_connection.rs index 68771e9..0814a9f 100644 --- a/crates/librqbit/src/peer_connection.rs +++ b/crates/librqbit/src/peer_connection.rs @@ -4,13 +4,13 @@ use anyhow::Context; use buffers::{ByteBuf, ByteString}; use clone_to_owned::CloneToOwned; use librqbit_core::{id20::Id20, lengths::ChunkInfo, peer_id::try_decode_peer_id}; -use log::{debug, trace}; use peer_binary_protocol::{ extended::{handshake::ExtendedHandshake, ExtendedMessage}, serialize_piece_preamble, Handshake, Message, MessageBorrowed, MessageDeserializeError, MessageOwned, PIECE_MESSAGE_DEFAULT_LEN, }; use tokio::time::timeout; +use tracing::{debug, trace}; use crate::spawn_utils::BlockingSpawner; @@ -57,10 +57,10 @@ async fn with_timeout( where E: Into, { - timeout(timeout_value, fut) - .await - .with_context(|| format!("timeout at {timeout_value:?}"))? - .map_err(|e| e.into()) + match timeout(timeout_value, fut).await { + Ok(v) => v.map_err(Into::into), + Err(_) => anyhow::bail!("timeout at {timeout_value:?}"), + } } macro_rules! read_one { @@ -149,11 +149,7 @@ impl PeerConnection { let (h, size) = Handshake::deserialize(&read_buf[..read_so_far]) .map_err(|e| anyhow::anyhow!("error deserializing handshake: {:?}", e))?; - debug!( - "connected peer {}: {:?}", - self.addr, - try_decode_peer_id(Id20(h.peer_id)) - ); + debug!("connected: id={:?}", try_decode_peer_id(Id20(h.peer_id))); if h.info_hash != self.info_hash.0 { anyhow::bail!("info hash does not match"); } @@ -170,11 +166,7 @@ impl PeerConnection { if supports_extended { let my_extended = Message::Extended(ExtendedMessage::Handshake(ExtendedHandshake::new())); - trace!( - "sending extended handshake to {}: {:?}", - self.addr, - &my_extended - ); + trace!("sending extended handshake: {:?}", &my_extended); my_extended.serialize(&mut write_buf, None).unwrap(); with_timeout(rwtimeout, conn.write_all(&write_buf)) .await @@ -184,7 +176,7 @@ impl PeerConnection { let (extended, size) = read_one!(conn, read_buf, read_so_far, rwtimeout); match extended { Message::Extended(ExtendedMessage::Handshake(h)) => { - trace!("received from {}: {:?}", self.addr, &h); + trace!("received: {:?}", &h); self.handler.on_extended_handshake(&h)?; extended_handshake = Some(h.clone_to_owned()) } @@ -213,7 +205,7 @@ impl PeerConnection { with_timeout(rwtimeout, write_half.write_all(&write_buf[..len])) .await .context("error writing bitfield to peer")?; - debug!("sent bitfield to {}", self.addr); + debug!("sent bitfield"); } } @@ -253,7 +245,7 @@ impl PeerConnection { } }; - debug!("sending to {}: {:?}, length={}", self.addr, &req, len); + debug!("sending: {:?}, length={}", &req, len); with_timeout(rwtimeout, write_half.write_all(&write_buf[..len])) .await @@ -273,7 +265,7 @@ impl PeerConnection { let reader = async move { loop { let (message, size) = read_one!(read_half, read_buf, read_so_far, rwtimeout); - trace!("received from {}: {:?}", self.addr, &message); + trace!("received: {:?}", &message); self.handler .on_received_message(message) @@ -294,7 +286,7 @@ impl PeerConnection { r = reader => {r} r = writer => {r} }; - debug!("{}: either reader or writer are done, exiting", self.addr); + debug!("either reader or writer are done, exiting"); r } } diff --git a/crates/librqbit/src/peer_handler.rs b/crates/librqbit/src/peer_handler.rs deleted file mode 100644 index 8b13789..0000000 --- a/crates/librqbit/src/peer_handler.rs +++ /dev/null @@ -1 +0,0 @@ - diff --git a/crates/librqbit/src/peer_info_reader/mod.rs b/crates/librqbit/src/peer_info_reader/mod.rs index 927958a..fca366c 100644 --- a/crates/librqbit/src/peer_info_reader/mod.rs +++ b/crates/librqbit/src/peer_info_reader/mod.rs @@ -8,7 +8,6 @@ use librqbit_core::{ lengths::{ceil_div_u64, last_element_size_u64, ChunkInfo}, torrent_metainfo::TorrentMetaV1Info, }; -use log::debug; use parking_lot::{Mutex, RwLock}; use peer_binary_protocol::{ extended::{handshake::ExtendedHandshake, ut_metadata::UtMetadata, ExtendedMessage}, @@ -16,6 +15,7 @@ use peer_binary_protocol::{ }; use sha1w::{ISha1, Sha1}; use tokio::sync::mpsc::UnboundedSender; +use tracing::debug; use crate::{ peer_connection::{ @@ -238,7 +238,7 @@ mod tests { fn init_logging() { #[allow(unused_must_use)] LOG_INIT.call_once(|| { - pretty_env_logger::try_init(); + // pretty_env_logger::try_init(); }) } diff --git a/crates/librqbit/src/session.rs b/crates/librqbit/src/session.rs index 0723003..6bc881b 100644 --- a/crates/librqbit/src/session.rs +++ b/crates/librqbit/src/session.rs @@ -8,10 +8,10 @@ use librqbit_core::{ peer_id::generate_peer_id, torrent_metainfo::{torrent_from_bytes, TorrentMetaV1Info, TorrentMetaV1Owned}, }; -use log::{debug, info, warn}; use parking_lot::RwLock; use reqwest::Url; use tokio_stream::StreamExt; +use tracing::{debug, info, span, warn, Level}; use crate::{ dht_utils::{read_metainfo_from_peer_receiver, ReadMetainfoResult}, @@ -402,7 +402,7 @@ impl Session { } if let Some(mut dht_peer_rx) = dht_peer_rx { - spawn("DHT peer adder", { + spawn(span!(Level::INFO, "dht_peer_adder"), { let handle = handle.clone(); async move { while let Some(peer) = dht_peer_rx.next().await { diff --git a/crates/librqbit/src/spawn_utils.rs b/crates/librqbit/src/spawn_utils.rs index 8a52fae..04b109b 100644 --- a/crates/librqbit/src/spawn_utils.rs +++ b/crates/librqbit/src/spawn_utils.rs @@ -1,22 +1,22 @@ -use std::fmt::Display; +use tracing::{debug, error, trace, Instrument}; -use log::{debug, error}; - -pub fn spawn( - name: N, +pub fn spawn( + span: tracing::Span, fut: impl std::future::Future> + Send + 'static, ) { - debug!("starting task \"{}\"", &name); - tokio::spawn(async move { + let fut = async move { + trace!("started"); match fut.await { Ok(_) => { - debug!("task \"{}\" finished", &name); + debug!("finished"); } Err(e) => { - error!("error in task \"{}\": {:#}", &name, e) + error!("{:#}", e) } } - }); + } + .instrument(span.or_current()); + tokio::spawn(fut); } #[derive(Clone, Copy, Debug)] diff --git a/crates/librqbit/src/torrent_manager.rs b/crates/librqbit/src/torrent_manager.rs index d3826e8..943c755 100644 --- a/crates/librqbit/src/torrent_manager.rs +++ b/crates/librqbit/src/torrent_manager.rs @@ -14,11 +14,11 @@ use librqbit_core::{ id20::Id20, lengths::Lengths, peer_id::generate_peer_id, speed_estimator::SpeedEstimator, torrent_metainfo::TorrentMetaV1Info, }; -use log::{debug, info, warn}; use parking_lot::Mutex; use reqwest::Url; use sha1w::Sha1; use size_format::SizeFormatterBinary as SF; +use tracing::{debug, info, span, warn, Level}; use crate::{ chunk_tracker::ChunkTracker, @@ -116,9 +116,10 @@ impl TorrentManagerHandle { pub fn add_tracker(&self, url: Url) -> bool { let mgr = self.manager.clone(); if mgr.trackers.lock().insert(url.clone()) { - spawn(format!("tracker monitor {url}"), async move { - mgr.single_tracker_monitor(url).await - }); + spawn( + span!(Level::ERROR, "tracker_monitor", url = url.to_string()), + async move { mgr.single_tracker_monitor(url).await }, + ); true } else { false @@ -289,7 +290,7 @@ impl TorrentManager { options, }); - spawn("speed estimator updater", { + spawn(span!(Level::ERROR, "speed_estimator_updater"), { let state = mgr.state.clone(); async move { loop { diff --git a/crates/librqbit/src/torrent_state.rs b/crates/librqbit/src/torrent_state.rs index 79885ac..e948692 100644 --- a/crates/librqbit/src/torrent_state.rs +++ b/crates/librqbit/src/torrent_state.rs @@ -23,7 +23,6 @@ use librqbit_core::{ lengths::{ChunkInfo, Lengths, ValidPieceIndex}, torrent_metainfo::TorrentMetaV1Info, }; -use log::{debug, info, trace, warn}; use parking_lot::{Mutex, RwLock, RwLockReadGuard}; use peer_binary_protocol::{ extended::handshake::ExtendedHandshake, Handshake, Message, MessageOwned, Piece, Request, @@ -37,6 +36,7 @@ use tokio::{ }, time::timeout, }; +use tracing::{debug, info, span, trace, warn, Level}; use crate::{ chunk_tracker::{ChunkMarkingResult, ChunkTracker}, @@ -311,7 +311,7 @@ impl TorrentState { peer_queue_tx, finished_notify: Notify::new(), }); - spawn("peer adder", { + spawn(span!(Level::ERROR, "peer_adder"), { let state = state.clone(); async move { loop { @@ -319,47 +319,50 @@ impl TorrentState { let permit = state.peer_semaphore.acquire().await.unwrap(); permit.forget(); - spawn(format!("manage_peer({addr})"), { - let state = state.clone(); - async move { - let rx = state.locked.write().peers.mark_peer_connecting(addr)?; + spawn( + span!(parent: None, Level::ERROR, "manage_peer", peer = addr.to_string()), + { + let state = state.clone(); + async move { + let rx = state.locked.write().peers.mark_peer_connecting(addr)?; - let handler = PeerHandler { - addr, - state: state.clone(), - spawner, - }; - let options = PeerConnectionOptions { - connect_timeout: state.options.peer_connect_timeout, - read_write_timeout: state.options.peer_read_write_timeout, - ..Default::default() - }; - let peer_connection = PeerConnection::new( - addr, - state.info_hash, - state.peer_id, - handler, - Some(options), - spawner, - ); + let handler = PeerHandler { + addr, + state: state.clone(), + spawner, + }; + let options = PeerConnectionOptions { + connect_timeout: state.options.peer_connect_timeout, + read_write_timeout: state.options.peer_read_write_timeout, + ..Default::default() + }; + let peer_connection = PeerConnection::new( + addr, + state.info_hash, + state.peer_id, + handler, + Some(options), + spawner, + ); - let res = peer_connection.manage_peer(rx).await; - let state = peer_connection.into_handler().state; - state.peer_semaphore.add_permits(1); + let res = peer_connection.manage_peer(rx).await; + let state = peer_connection.into_handler().state; + state.peer_semaphore.add_permits(1); - match res { - // We disconnected the peer ourselves as we don't need it - Ok(()) => { - state.on_peer_died(addr, None); - } - Err(e) => { - debug!("error managing peer {}: {:#}", addr, e); - state.on_peer_died(addr, Some(e)); + match res { + // We disconnected the peer ourselves as we don't need it + Ok(()) => { + state.on_peer_died(addr, None); + } + Err(e) => { + debug!("error managing peer: {:#}", e); + state.on_peer_died(addr, Some(e)); + } } + Ok::<_, anyhow::Error>(()) } - Ok::<_, anyhow::Error>(()) - } - }); + }, + ); } } }); @@ -406,7 +409,7 @@ impl TorrentState { fn reserve_next_needed_piece(&self, peer_handle: PeerHandle) -> Option { if self.am_i_choked(peer_handle)? { - debug!("we are choked by {}, can't reserve next piece", peer_handle); + debug!("we are choked, can't reserve next piece"); return None; } let mut g = self.locked.write(); @@ -459,8 +462,8 @@ impl TorrentState { // heuristic for "too slow peer" if elapsed > avg_time * 10 { debug!( - "{} will steal piece {} from {}: elapsed time {:?}, avg piece time: {:?}", - handle, idx, piece_req.peer, elapsed, avg_time + "will steal piece {} from {}: elapsed time {:?}, avg piece time: {:?}", + idx, piece_req.peer, elapsed, avg_time ); piece_req.peer = handle; piece_req.started = Instant::now(); @@ -487,7 +490,7 @@ impl TorrentState { let peer = match g.peers.states.get_mut(&handle) { Some(peer) => peer, None => { - warn!("peer {} was in a wrong state", handle); + warn!("peer was in a wrong state, can't set live"); return; } }; @@ -499,6 +502,11 @@ impl TorrentState { match g.peers.mark_peer_dead(handle) { Some(Some(live)) => { for req in live.inflight_requests { + debug!( + "peer dead, marking chunk request cancelled, index={}, chunk={}", + req.piece.get(), + req.chunk + ); g.chunks.mark_chunk_request_cancelled(req.piece, req.chunk); } } @@ -509,41 +517,54 @@ impl TorrentState { } if error.is_none() { + debug!("peer died without errors, not re-queueing"); return; } - let backoff = g - .peers - .states - .get_mut(&handle) - .unwrap() - .stats - .backoff - .next_backoff(); + let backoff = { + let peer = match g.peers.states.get_mut(&handle) { + Some(p) => p, + None => { + warn!("bug: did not find peer in the list"); + return; + } + }; + + peer.stats.backoff.next_backoff() + }; if let Some(dur) = backoff { let state = self.clone(); - spawn(format!("wait_for_peer({handle}, {dur:?})"), async move { - tokio::time::sleep(dur).await; - { - let mut g = state.locked.write(); - let peer = match g.peers.states.get_mut(&handle) { - Some(p) => p, - None => bail!("bug: peer {} disappeared", handle), - }; - match &peer.state { - PeerState::Dead => peer.state = PeerState::Queued, - other => bail!( - "peer {} in unexpected state: {}. Expected dead", - handle, - other.name() - ), + spawn( + span!( + parent: None, + Level::ERROR, + "wait_for_peer", + peer = handle.to_string(), + duration = format!("{dur:?}") + ), + async move { + tokio::time::sleep(dur).await; + { + let mut g = state.locked.write(); + let peer = match g.peers.states.get_mut(&handle) { + Some(p) => p, + None => bail!("bug: peer disappeared"), + }; + match &peer.state { + PeerState::Dead => peer.state = PeerState::Queued, + other => bail!( + "peer is in unexpected state: {}. Expected dead", + other.name() + ), + } } - } - state.peer_queue_tx.send(handle)?; - Ok::<_, anyhow::Error>(()) - }); + state.peer_queue_tx.send(handle)?; + Ok::<_, anyhow::Error>(()) + }, + ); } else { + debug!("dropping peer, backoff exhausted"); g.peers.drop_peer(handle); } } @@ -602,7 +623,12 @@ impl TorrentState { let mut unordered: FuturesUnordered<_> = futures.into_iter().collect(); spawn( - format!("transmit_haves(piece={}, count={})", index, unordered.len()), + span!( + Level::ERROR, + "transmit_haves", + piece = index.get(), + count = unordered.len() + ), async move { while unordered.next().await.is_some() {} Ok(()) @@ -668,30 +694,27 @@ impl PeerConnectionHandler for PeerHandler { match message { Message::Request(request) => { self.on_download_request(self.addr, request) - .with_context(|| { - format!("error handling download request from {}", self.addr) - })?; + .context("on_download_request")?; } - Message::Bitfield(b) => self.on_bitfield(self.addr, b.clone_to_owned())?, + Message::Bitfield(b) => self + .on_bitfield(self.addr, b.clone_to_owned()) + .context("on_bitfield")?, Message::Choke => self.on_i_am_choked(self.addr), Message::Unchoke => self.on_i_am_unchoked(self.addr), Message::Interested => self.on_peer_interested(self.addr), Message::Piece(piece) => { self.on_received_piece(self.addr, piece) - .context("error in on_received_piece()")?; + .context("on_received_piece")?; } Message::KeepAlive => { - debug!("keepalive received from {}", self.addr); + debug!("keepalive received"); } Message::Have(h) => self.on_have(self.addr, h), Message::NotInterested => { info!("received \"not interested\", but we don't care yet") } message => { - warn!( - "{}: received unsupported message {:?}, ignoring", - self.addr, message - ); + warn!("received unsupported message {:?}, ignoring", message); } } Ok(()) @@ -705,7 +728,7 @@ impl PeerConnectionHandler for PeerHandler { let g = self.state.locked.read(); let msg = Message::Bitfield(ByteBuf(g.chunks.get_have_pieces().as_raw_slice())); let len = msg.serialize(buf, None).unwrap(); - debug!("sending to {}: {:?}, length={}", self.addr, &msg, len); + debug!("sending: {:?}, length={}", &msg, len); Some(len) } @@ -736,8 +759,8 @@ impl PeerHandler { Some(p) => p, None => { anyhow::bail!( - "{}: received {:?}, but it is not a valid chunk request (piece index is invalid). Ignoring.", - peer_handle, request + "received {:?}, but it is not a valid chunk request (piece index is invalid). Ignoring.", + request ); } }; @@ -749,8 +772,8 @@ impl PeerHandler { Some(d) => d, None => { anyhow::bail!( - "{}: received {:?}, but it is not a valid chunk request (chunk data is invalid). Ignoring.", - peer_handle, request + "received {:?}, but it is not a valid chunk request (chunk data is invalid). Ignoring.", + request ); } }; @@ -764,19 +787,16 @@ impl PeerHandler { ); } - g.peers.clone_tx(peer_handle).ok_or_else(|| { - anyhow::anyhow!( - "peer {} died, dropping chunk that it requested", - peer_handle - ) - })? + g.peers + .clone_tx(peer_handle) + .context("peer died, dropping chunk that it requested")? }; // TODO: this is not super efficient as it does copying multiple times. // Theoretically, this could be done in the sending code, so that it reads straight into // the send buffer. let request = WriterRequest::ReadChunkRequest(chunk_info); - debug!("sending to {}: {:?}", peer_handle, &request); + debug!("sending {:?}", &request); Ok::<_, anyhow::Error>(tx.send(request)?) } @@ -789,7 +809,7 @@ impl PeerHandler { .get_live_mut(handle) .and_then(|l| l.bitfield.as_mut()) { - debug!("{}: updated bitfield with have={}", handle, have); + debug!("updated bitfield with have={}", have); bitfield.set(have as usize, true) } } @@ -797,8 +817,7 @@ impl PeerHandler { fn on_bitfield(&self, handle: PeerHandle, bitfield: ByteString) -> anyhow::Result<()> { if bitfield.len() != self.state.lengths.piece_bitfield_bytes() { anyhow::bail!( - "dropping {} as its bitfield has unexpected size. Got {}, expected {}", - handle, + "dropping peer as its bitfield has unexpected size. Got {}, expected {}", bitfield.len(), self.state.lengths.piece_bitfield_bytes(), ); @@ -816,7 +835,7 @@ impl PeerHandler { .read() .peers .clone_tx(handle) - .ok_or_else(|| anyhow::anyhow!("peer closed"))?; + .context("peer dropped")?; tx.send(WriterRequest::Message(MessageOwned::Unchoke)) .context("peer dropped")?; tx.send(WriterRequest::Message(MessageOwned::NotInterested)) @@ -826,7 +845,11 @@ impl PeerHandler { // Additional spawn per peer, not good. spawn( - format!("peer_chunk_requester({handle})"), + span!( + Level::ERROR, + "peer_chunk_requester", + peer = handle.to_string() + ), self.clone().task_peer_chunk_requester(handle), ); Ok(()) @@ -846,7 +869,7 @@ impl PeerHandler { } fn on_i_am_choked(&self, handle: PeerHandle) { - debug!("we are choked by {}", handle); + debug!("we are choked"); self.state .locked .write() @@ -855,7 +878,7 @@ impl PeerHandler { } fn on_peer_interested(&self, handle: PeerHandle) { - debug!("peer {} is interested", handle); + debug!("peer is interested"); self.state .locked .write() @@ -878,7 +901,7 @@ impl PeerHandler { loop { match self.state.am_i_choked(handle) { Some(true) => { - debug!("we are choked by {}, can't reserve next piece", handle); + debug!("we are choked, can't reserve next piece"); #[allow(unused_must_use)] { timeout(Duration::from_secs(60), notify.notified()).await; @@ -895,15 +918,15 @@ impl PeerHandler { Some(next) => next, None => { if self.state.get_left_to_download() == 0 { - debug!("{}: nothing left to download, closing requester", handle); + debug!("nothing left to download, closing requester"); return Ok(()); } if let Some(piece) = self.state.try_steal_piece(handle) { - debug!("{}: stole a piece {}", handle, piece); + debug!("stole a piece {}", piece); piece } else { - debug!("no pieces to request from {}", handle); + debug!("no pieces to request"); #[allow(unused_must_use)] { timeout(Duration::from_secs(60), notify.notified()).await; @@ -935,10 +958,7 @@ impl PeerHandler { .inflight_requests .insert(InflightRequest::from(&chunk)) { - warn!( - "{}: probably a bug, we already requested {:?}", - handle, chunk - ); + warn!("probably a bug, we already requested {:?}", chunk); continue; } @@ -985,7 +1005,7 @@ impl PeerHandler { } fn on_i_am_unchoked(&self, handle: PeerHandle) { - debug!("we are unchoked by {}", handle); + debug!("we are unchoked"); let mut g = self.state.locked.write(); let live = match g.peers.get_live_mut(handle) { Some(live) => live, @@ -1004,11 +1024,7 @@ impl PeerHandler { ) { Some(i) => i, None => { - anyhow::bail!( - "peer {} sent us a piece that is invalid {:?}", - handle, - &piece, - ); + anyhow::bail!("peer sent us an invalid piece {:?}", &piece,); } }; @@ -1026,16 +1042,15 @@ impl PeerHandler { .remove(&InflightRequest::from(&chunk_info)) { anyhow::bail!( - "peer {} sent us a piece that we did not ask it for. Requested pieces: {:?}. Got: {:?}", handle, &h.inflight_requests, &piece, + "peer sent us a piece we did not ask. Requested pieces: {:?}. Got: {:?}", + &h.inflight_requests, + &piece, ); } let full_piece_download_time = match g.chunks.mark_chunk_downloaded(&piece) { Some(ChunkMarkingResult::Completed) => { - debug!( - "piece={} done by {}, will write and checksum", - piece.index, handle - ); + debug!("piece={} done, will write and checksum", piece.index,); // This will prevent others from stealing it. g.peers .remove_inflight_piece(chunk_info.piece_index) @@ -1043,17 +1058,13 @@ impl PeerHandler { } Some(ChunkMarkingResult::PreviouslyCompleted) => { // TODO: we might need to send cancellations here. - debug!( - "piece={} was done by someone else {}, ignoring", - piece.index, handle - ); + debug!("piece={} was done by someone else, ignoring", piece.index,); return Ok(()); } Some(ChunkMarkingResult::NotCompleted) => None, None => { anyhow::bail!( - "bogus data received from {}: {:?}, cannot map this to a chunk, dropping peer", - handle, + "bogus data received: {:?}, cannot map this to a chunk, dropping peer", piece ); } @@ -1116,10 +1127,7 @@ impl PeerHandler { g.peers.reset_peer_backoff(handle); } - debug!( - "piece={} successfully downloaded and verified from {}", - index, handle - ); + debug!("piece={} successfully downloaded and verified", index); if self.state.get_left_to_download() == 0 { self.state.finished_notify.notify_waiters(); @@ -1130,10 +1138,7 @@ impl PeerHandler { self.state.maybe_transmit_haves(chunk_info.piece_index); } false => { - warn!( - "checksum for piece={} did not validate, came from {}", - index, handle - ); + warn!("checksum for piece={} did not validate", index,); self.state .locked .write() diff --git a/crates/librqbit_core/Cargo.toml b/crates/librqbit_core/Cargo.toml index 92139c6..d3f0965 100644 --- a/crates/librqbit_core/Cargo.toml +++ b/crates/librqbit_core/Cargo.toml @@ -21,7 +21,6 @@ hex = "0.4" anyhow = "1" url = "2" uuid = {version = "1", features = ["v4"]} -log = "0.4" parking_lot = "0.12" serde = {version = "1", features=["derive"]} buffers = {path="../buffers", package="librqbit-buffers", version = "2.2.1"} diff --git a/crates/rqbit/Cargo.toml b/crates/rqbit/Cargo.toml index ec8c310..f4f58c9 100644 --- a/crates/rqbit/Cargo.toml +++ b/crates/rqbit/Cargo.toml @@ -25,8 +25,8 @@ dht = {path="../dht", package="librqbit-dht", version="2.2.2"} tokio = {version = "1", features = ["macros", "rt-multi-thread"]} anyhow = "1" clap = {version = "4", features = ["derive", "deprecated"]} -log = "0.4" -pretty_env_logger = "0.5" +tracing = "0.1" +tracing-subscriber = {version = "0.3", features = ["env-filter"]} regex = "1" futures = "0.3" parse_duration = "2" diff --git a/crates/rqbit/src/main.rs b/crates/rqbit/src/main.rs index 344af16..f6c2aa1 100644 --- a/crates/rqbit/src/main.rs +++ b/crates/rqbit/src/main.rs @@ -12,8 +12,8 @@ use librqbit::{ }, spawn_utils::{spawn, BlockingSpawner}, }; -use log::{error, info, warn}; use size_format::SizeFormatterBinary as SF; +use tracing::{error, info, span, warn, Level}; #[derive(Debug, Clone, Copy, ValueEnum)] enum LogLevel { @@ -151,7 +151,13 @@ fn init_logging(opts: &Opts) { } }; } - pretty_env_logger::init(); + + use tracing_subscriber::{fmt, prelude::*, EnvFilter}; + + tracing_subscriber::registry() + .with(fmt::layer()) + .with(EnvFilter::from_default_env()) + .init(); } fn main() -> anyhow::Result<()> { @@ -258,7 +264,10 @@ async fn async_main(opts: Opts, spawner: BlockingSpawner) -> anyhow::Result<()> .await .context("error initializing rqbit session")?, ); - spawn("Stats printer", stats_printer(session.clone())); + spawn( + span!(Level::TRACE, "stats_printer"), + stats_printer(session.clone()), + ); let http_api = HttpApi::new(session); let http_api_listen_addr = opts.http_api_listen_addr; http_api @@ -331,11 +340,14 @@ async fn async_main(opts: Opts, spawner: BlockingSpawner) -> anyhow::Result<()> .await .context("error initializing rqbit session")?, ); - spawn("Stats printer", stats_printer(session.clone())); + spawn( + span!(Level::TRACE, "stats_printer"), + stats_printer(session.clone()), + ); let http_api = HttpApi::new(session.clone()); let http_api_listen_addr = opts.http_api_listen_addr; spawn( - "HTTP API", + span!(Level::ERROR, "http_api"), http_api.clone().make_http_api_and_run(http_api_listen_addr), ); diff --git a/rustc-ice-2023-11-17T23_37_51-9985.txt b/rustc-ice-2023-11-17T23_37_51-9985.txt deleted file mode 100644 index 7b5092d..0000000 --- a/rustc-ice-2023-11-17T23_37_51-9985.txt +++ /dev/null @@ -1,140 +0,0 @@ -thread 'rustc' panicked at /rustc/dd430bc8c22f57992ec1457a87437d14283fdd65/compiler/rustc_errors/src/lib.rs:999:33: -Box -stack backtrace: - 0: 0x1059a3dac - std::backtrace::Backtrace::create::he1446a17ed3fb192 - 1: 0x10edcb134 - as core[e0b35f7eb9175e97]::ops::function::Fn<(&dyn for<'a, 'b> core[e0b35f7eb9175e97]::ops::function::Fn<(&'a core[e0b35f7eb9175e97]::panic::panic_info::PanicInfo<'b>,), Output = ()> + core[e0b35f7eb9175e97]::marker::Sync + core[e0b35f7eb9175e97]::marker::Send, &core[e0b35f7eb9175e97]::panic::panic_info::PanicInfo)>>::call - 2: 0x1059bbca8 - std::panicking::rust_panic_with_hook::h05bd262a58657294 - 3: 0x10fbffd4c - std[4d79feac4cea9cd0]::panicking::begin_panic::::{closure#0} - 4: 0x10fbfe448 - std[4d79feac4cea9cd0]::sys_common::backtrace::__rust_end_short_backtrace::::{closure#0}, !> - 5: 0x112bec854 - std[4d79feac4cea9cd0]::panicking::begin_panic:: - 6: 0x10fb1bd68 - ::span_bug:: - 7: 0x10fb1b92c - ::span_bug:: - 8: 0x10fbe1584 - rustc_middle[c4367cd1cb8e0dc9]::util::bug::opt_span_bug_fmt::::{closure#0} - 9: 0x10fbe15b8 - rustc_middle[c4367cd1cb8e0dc9]::ty::context::tls::with_opt::::{closure#0}, !>::{closure#0} - 10: 0x10fbdea54 - rustc_middle[c4367cd1cb8e0dc9]::ty::context::tls::with_context_opt::::{closure#0}, !>::{closure#0}, !> - 11: 0x112bed690 - rustc_middle[c4367cd1cb8e0dc9]::util::bug::span_bug_fmt:: - 12: 0x10facfd78 - rustc_mir_transform[b0d987c76d7549be]::coroutine::mir_coroutine_witnesses - 13: 0x10ffd3d28 - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> - 14: 0x11011dc7c - >::call_once - 15: 0x10ff466e8 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> - 16: 0x10fee2e08 - rustc_query_system[865695b26f343ed8]::query::plumbing::force_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt> - 17: 0x10ffb0d98 - ::{closure#0} as core[e0b35f7eb9175e97]::ops::function::FnOnce<(rustc_middle[c4367cd1cb8e0dc9]::ty::context::TyCtxt, rustc_query_system[865695b26f343ed8]::dep_graph::dep_node::DepNode)>>::call_once - 18: 0x11005d434 - >::try_mark_previous_green:: - 19: 0x11005d20c - >::try_mark_green:: - 20: 0x10ff14abc - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::, rustc_middle[c4367cd1cb8e0dc9]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> - 21: 0x1101b69c4 - rustc_query_impl[6ec06d95fa579ddc]::query_impl::needs_drop_raw::get_query_incr::__rust_end_short_backtrace - 22: 0x11059fd34 - ::needs_drop - 23: 0x1105ad520 - rustc_trait_selection[caa1e5098b58bda5]::traits::query::dropck_outlives::dtorck_constraint_for_ty_inner - 24: 0x1105a63e0 - rustc_trait_selection[caa1e5098b58bda5]::traits::query::dropck_outlives::compute_dropck_outlives_inner - 25: 0x11063ac8c - ::enter_canonical_trait_query::, rustc_middle[c4367cd1cb8e0dc9]::traits::query::DropckOutlivesResult, rustc_traits[56979a00368fe7bc]::dropck_outlives::dropck_outlives::{closure#0}> - 26: 0x11064c2dc - rustc_traits[56979a00368fe7bc]::dropck_outlives::dropck_outlives - 27: 0x10ffd09bc - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> - 28: 0x11011a488 - >)>>::call_once - 29: 0x10ff013b0 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, rustc_middle[c4367cd1cb8e0dc9]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> - 30: 0x110126f34 - rustc_query_impl[6ec06d95fa579ddc]::query_impl::dropck_outlives::get_query_incr::__rust_end_short_backtrace - 31: 0x11047ec08 - rustc_middle[c4367cd1cb8e0dc9]::query::plumbing::query_get_at::>, rustc_middle[c4367cd1cb8e0dc9]::query::erase::Erased<[u8; 8usize]>>> - 32: 0x10e8aa458 - ::fully_perform_into - 33: 0x10e7d0a58 - as rustc_trait_selection[caa1e5098b58bda5]::traits::query::type_op::TypeOp>::fully_perform - 34: 0x10e7ab9b8 - ::add_drop_live_facts_for - 35: 0x10e7aac64 - rustc_borrowck[288b2637815caa8b]::type_check::liveness::trace::trace - 36: 0x10e7e2124 - rustc_borrowck[288b2637815caa8b]::type_check::liveness::generate - 37: 0x10e7ad240 - rustc_borrowck[288b2637815caa8b]::type_check::type_check - 38: 0x10e93cd7c - rustc_borrowck[288b2637815caa8b]::nll::compute_regions - 39: 0x10e78cfd0 - rustc_borrowck[288b2637815caa8b]::do_mir_borrowck - 40: 0x10e7840a0 - rustc_borrowck[288b2637815caa8b]::mir_borrowck - 41: 0x10ffcfba0 - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> - 42: 0x11002f10c - >::call_once - 43: 0x10ff8b7a8 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> - 44: 0x110035bc0 - rustc_query_impl[6ec06d95fa579ddc]::query_impl::mir_borrowck::get_query_incr::__rust_end_short_backtrace - 45: 0x10e797140 - rustc_middle[c4367cd1cb8e0dc9]::query::plumbing::query_get_at::>> - 46: 0x10e7b1bdc - ::prove_closure_bounds - 47: 0x10e7b5090 - ::check_rvalue - 48: 0x10e7b8464 - ::typeck_mir - 49: 0x10e7acde0 - rustc_borrowck[288b2637815caa8b]::type_check::type_check - 50: 0x10e93cd7c - rustc_borrowck[288b2637815caa8b]::nll::compute_regions - 51: 0x10e78cfd0 - rustc_borrowck[288b2637815caa8b]::do_mir_borrowck - 52: 0x10e7840a0 - rustc_borrowck[288b2637815caa8b]::mir_borrowck - 53: 0x10ffcfba0 - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> - 54: 0x11002f10c - >::call_once - 55: 0x10ff8b7a8 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> - 56: 0x110035bc0 - rustc_query_impl[6ec06d95fa579ddc]::query_impl::mir_borrowck::get_query_incr::__rust_end_short_backtrace - 57: 0x10f057fe8 - rustc_middle[c4367cd1cb8e0dc9]::query::plumbing::query_get_at::>> - 58: 0x10f06a940 - rustc_hir_analysis[c19c0bfd1608da07]::collect::type_of::opaque::find_opaque_ty_constraints_for_rpit - 59: 0x10ffd075c - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> - 60: 0x11011a304 - >::call_once - 61: 0x10ff466e8 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> - 62: 0x1100d219c - rustc_query_impl[6ec06d95fa579ddc]::query_impl::type_of_opaque::get_query_incr::__rust_end_short_backtrace - 63: 0x10f000e20 - rustc_middle[c4367cd1cb8e0dc9]::query::plumbing::query_get_at::>> - 64: 0x10f019a78 - rustc_hir_analysis[c19c0bfd1608da07]::collect::type_of::type_of - 65: 0x10ffd5210 - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> - 66: 0x11012062c - >::call_once - 67: 0x10ff466e8 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> - 68: 0x1101568b0 - rustc_query_impl[6ec06d95fa579ddc]::query_impl::type_of::get_query_incr::__rust_end_short_backtrace - 69: 0x10f8fa314 - rustc_middle[c4367cd1cb8e0dc9]::query::plumbing::query_get_at::>> - 70: 0x10f8e7f94 - ::expand_opaque_ty - 71: 0x10f8e8080 - >::fold_ty - 72: 0x10f8e82c8 - >::fold_ty - 73: 0x10f8eacdc - rustc_middle[c4367cd1cb8e0dc9]::ty::util::fold_list:: as rustc_type_ir[9486e74e44844ae3]::fold::TypeFoldable>::try_fold_with::{closure#0}> - 74: 0x10f888ed8 - >::try_super_fold_with:: - 75: 0x10f8e8060 - >::fold_ty - 76: 0x10f7c7fcc - <&rustc_middle[c4367cd1cb8e0dc9]::ty::list::List as rustc_type_ir[9486e74e44844ae3]::fold::TypeFoldable>::try_fold_with:: - 77: 0x10f888f1c - >::try_super_fold_with:: - 78: 0x10f8e8060 - >::fold_ty - 79: 0x10f8e82c8 - >::fold_ty - 80: 0x10f8eacdc - rustc_middle[c4367cd1cb8e0dc9]::ty::util::fold_list:: as rustc_type_ir[9486e74e44844ae3]::fold::TypeFoldable>::try_fold_with::{closure#0}> - 81: 0x10f888ed8 - >::try_super_fold_with:: - 82: 0x10f8e8060 - >::fold_ty - 83: 0x10f8e7fc4 - ::expand_opaque_ty - 84: 0x10f8e8080 - >::fold_ty - 85: 0x10f8e82c8 - >::fold_ty - 86: 0x10f8eacdc - rustc_middle[c4367cd1cb8e0dc9]::ty::util::fold_list:: as rustc_type_ir[9486e74e44844ae3]::fold::TypeFoldable>::try_fold_with::{closure#0}> - 87: 0x10f888ed8 - >::try_super_fold_with:: - 88: 0x10f8e8060 - >::fold_ty - 89: 0x10f7c7fcc - <&rustc_middle[c4367cd1cb8e0dc9]::ty::list::List as rustc_type_ir[9486e74e44844ae3]::fold::TypeFoldable>::try_fold_with:: - 90: 0x10f888e74 - >::try_super_fold_with:: - 91: 0x10f8e8060 - >::fold_ty - 92: 0x10f8eacdc - rustc_middle[c4367cd1cb8e0dc9]::ty::util::fold_list:: as rustc_type_ir[9486e74e44844ae3]::fold::TypeFoldable>::try_fold_with::{closure#0}> - 93: 0x10f888eb4 - >::try_super_fold_with:: - 94: 0x10f8e8060 - >::fold_ty - 95: 0x10f8e82c8 - >::fold_ty - 96: 0x10f8eacdc - rustc_middle[c4367cd1cb8e0dc9]::ty::util::fold_list:: as rustc_type_ir[9486e74e44844ae3]::fold::TypeFoldable>::try_fold_with::{closure#0}> - 97: 0x10f888ed8 - >::try_super_fold_with:: - 98: 0x10f8e8060 - >::fold_ty - 99: 0x10f8e7fc4 - ::expand_opaque_ty - 100: 0x10f780f54 - ::try_expand_impl_trait_type - 101: 0x10f01034c - rustc_hir_analysis[c19c0bfd1608da07]::check::check::check_item_type - 102: 0x10f0169cc - rustc_hir_analysis[c19c0bfd1608da07]::check::check::check_mod_item_types - 103: 0x10ffd292c - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> - 104: 0x1101b0bf8 - >::call_once - 105: 0x10ff2d2d4 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> - 106: 0x110158cb0 - rustc_query_impl[6ec06d95fa579ddc]::query_impl::check_mod_item_types::get_query_incr::__rust_end_short_backtrace - 107: 0x10f0c2914 - ::for_each_module:: - 108: 0x10f094b04 - rustc_hir_analysis[c19c0bfd1608da07]::check_crate - 109: 0x10f51d094 - rustc_interface[fd51d116160c92d2]::passes::analysis - 110: 0x10ffd5238 - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> - 111: 0x110155f7c - >::call_once - 112: 0x10feeeec4 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> - 113: 0x11019b9d8 - rustc_query_impl[6ec06d95fa579ddc]::query_impl::analysis::get_query_incr::__rust_end_short_backtrace - 114: 0x10edad124 - ::enter::> - 115: 0x10ed3f4f4 - ::enter::, rustc_span[cc43194fc10ba92f]::ErrorGuaranteed>> - 116: 0x10edab4dc - rustc_span[cc43194fc10ba92f]::set_source_map::, rustc_interface[fd51d116160c92d2]::interface::run_compiler, rustc_driver_impl[683555f6943f3d8]::run_compiler::{closure#1}>::{closure#0}::{closure#0}> - 117: 0x10edb3c5c - std[4d79feac4cea9cd0]::sys_common::backtrace::__rust_begin_short_backtrace::, rustc_driver_impl[683555f6943f3d8]::run_compiler::{closure#1}>::{closure#0}, core[e0b35f7eb9175e97]::result::Result<(), rustc_span[cc43194fc10ba92f]::ErrorGuaranteed>>::{closure#0}, core[e0b35f7eb9175e97]::result::Result<(), rustc_span[cc43194fc10ba92f]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[e0b35f7eb9175e97]::result::Result<(), rustc_span[cc43194fc10ba92f]::ErrorGuaranteed>> - 118: 0x10ed9b854 - <::spawn_unchecked_, rustc_driver_impl[683555f6943f3d8]::run_compiler::{closure#1}>::{closure#0}, core[e0b35f7eb9175e97]::result::Result<(), rustc_span[cc43194fc10ba92f]::ErrorGuaranteed>>::{closure#0}, core[e0b35f7eb9175e97]::result::Result<(), rustc_span[cc43194fc10ba92f]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[e0b35f7eb9175e97]::result::Result<(), rustc_span[cc43194fc10ba92f]::ErrorGuaranteed>>::{closure#1} as core[e0b35f7eb9175e97]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} - 119: 0x1059c3ea4 - std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 - 120: 0x18c159034 - __pthread_joiner_wake - - -rustc version: 1.76.0-nightly (dd430bc8c 2023-11-14) -platform: aarch64-apple-darwin - -query stack during panic: -#0 [mir_coroutine_witnesses] coroutine witness types for `peer_connection::::manage_peer::{closure#0}::{closure#3}` -#1 [needs_drop_raw] computing whether `{coroutine witness@crates/librqbit/src/peer_connection.rs:202:22: 268:10}` needs drop -#2 [dropck_outlives] computing dropck types for `{async block@crates/librqbit/src/peer_connection.rs:202:22: 268:10}` -#3 [mir_borrowck] borrow-checking `peer_connection::::manage_peer::{closure#0}` -#4 [mir_borrowck] borrow-checking `peer_connection::::manage_peer` -#5 [type_of_opaque] computing type of opaque `peer_connection::::manage_peer::{opaque#0}` -#6 [type_of] computing type of `peer_connection::::manage_peer::{opaque#0}` -#7 [check_mod_item_types] checking item types in module `dht_utils` -#8 [analysis] running analysis passes on this crate -end of query stack diff --git a/rustc-ice-2023-11-17T23_37_51-9986.txt b/rustc-ice-2023-11-17T23_37_51-9986.txt deleted file mode 100644 index 74a21c8..0000000 --- a/rustc-ice-2023-11-17T23_37_51-9986.txt +++ /dev/null @@ -1,140 +0,0 @@ -thread 'rustc' panicked at /rustc/dd430bc8c22f57992ec1457a87437d14283fdd65/compiler/rustc_errors/src/lib.rs:999:33: -Box -stack backtrace: - 0: 0x10470fdac - std::backtrace::Backtrace::create::he1446a17ed3fb192 - 1: 0x10db37134 - as core[e0b35f7eb9175e97]::ops::function::Fn<(&dyn for<'a, 'b> core[e0b35f7eb9175e97]::ops::function::Fn<(&'a core[e0b35f7eb9175e97]::panic::panic_info::PanicInfo<'b>,), Output = ()> + core[e0b35f7eb9175e97]::marker::Sync + core[e0b35f7eb9175e97]::marker::Send, &core[e0b35f7eb9175e97]::panic::panic_info::PanicInfo)>>::call - 2: 0x104727ca8 - std::panicking::rust_panic_with_hook::h05bd262a58657294 - 3: 0x10e96bd4c - std[4d79feac4cea9cd0]::panicking::begin_panic::::{closure#0} - 4: 0x10e96a448 - std[4d79feac4cea9cd0]::sys_common::backtrace::__rust_end_short_backtrace::::{closure#0}, !> - 5: 0x111958854 - std[4d79feac4cea9cd0]::panicking::begin_panic:: - 6: 0x10e887d68 - ::span_bug:: - 7: 0x10e88792c - ::span_bug:: - 8: 0x10e94d584 - rustc_middle[c4367cd1cb8e0dc9]::util::bug::opt_span_bug_fmt::::{closure#0} - 9: 0x10e94d5b8 - rustc_middle[c4367cd1cb8e0dc9]::ty::context::tls::with_opt::::{closure#0}, !>::{closure#0} - 10: 0x10e94aa54 - rustc_middle[c4367cd1cb8e0dc9]::ty::context::tls::with_context_opt::::{closure#0}, !>::{closure#0}, !> - 11: 0x111959690 - rustc_middle[c4367cd1cb8e0dc9]::util::bug::span_bug_fmt:: - 12: 0x10e83bd78 - rustc_mir_transform[b0d987c76d7549be]::coroutine::mir_coroutine_witnesses - 13: 0x10ed3fd28 - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> - 14: 0x10ee89c7c - >::call_once - 15: 0x10ecb26e8 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> - 16: 0x10ec4ee08 - rustc_query_system[865695b26f343ed8]::query::plumbing::force_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt> - 17: 0x10ed1cd98 - ::{closure#0} as core[e0b35f7eb9175e97]::ops::function::FnOnce<(rustc_middle[c4367cd1cb8e0dc9]::ty::context::TyCtxt, rustc_query_system[865695b26f343ed8]::dep_graph::dep_node::DepNode)>>::call_once - 18: 0x10edc9434 - >::try_mark_previous_green:: - 19: 0x10edc920c - >::try_mark_green:: - 20: 0x10ec80abc - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::, rustc_middle[c4367cd1cb8e0dc9]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> - 21: 0x10ef229c4 - rustc_query_impl[6ec06d95fa579ddc]::query_impl::needs_drop_raw::get_query_incr::__rust_end_short_backtrace - 22: 0x10f30bd34 - ::needs_drop - 23: 0x10f319520 - rustc_trait_selection[caa1e5098b58bda5]::traits::query::dropck_outlives::dtorck_constraint_for_ty_inner - 24: 0x10f3123e0 - rustc_trait_selection[caa1e5098b58bda5]::traits::query::dropck_outlives::compute_dropck_outlives_inner - 25: 0x10f3a6c8c - ::enter_canonical_trait_query::, rustc_middle[c4367cd1cb8e0dc9]::traits::query::DropckOutlivesResult, rustc_traits[56979a00368fe7bc]::dropck_outlives::dropck_outlives::{closure#0}> - 26: 0x10f3b82dc - rustc_traits[56979a00368fe7bc]::dropck_outlives::dropck_outlives - 27: 0x10ed3c9bc - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> - 28: 0x10ee86488 - >)>>::call_once - 29: 0x10ec6d3b0 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, rustc_middle[c4367cd1cb8e0dc9]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> - 30: 0x10ee92f34 - rustc_query_impl[6ec06d95fa579ddc]::query_impl::dropck_outlives::get_query_incr::__rust_end_short_backtrace - 31: 0x10f1eac08 - rustc_middle[c4367cd1cb8e0dc9]::query::plumbing::query_get_at::>, rustc_middle[c4367cd1cb8e0dc9]::query::erase::Erased<[u8; 8usize]>>> - 32: 0x10d616458 - ::fully_perform_into - 33: 0x10d53ca58 - as rustc_trait_selection[caa1e5098b58bda5]::traits::query::type_op::TypeOp>::fully_perform - 34: 0x10d5179b8 - ::add_drop_live_facts_for - 35: 0x10d516c64 - rustc_borrowck[288b2637815caa8b]::type_check::liveness::trace::trace - 36: 0x10d54e124 - rustc_borrowck[288b2637815caa8b]::type_check::liveness::generate - 37: 0x10d519240 - rustc_borrowck[288b2637815caa8b]::type_check::type_check - 38: 0x10d6a8d7c - rustc_borrowck[288b2637815caa8b]::nll::compute_regions - 39: 0x10d4f8fd0 - rustc_borrowck[288b2637815caa8b]::do_mir_borrowck - 40: 0x10d4f00a0 - rustc_borrowck[288b2637815caa8b]::mir_borrowck - 41: 0x10ed3bba0 - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> - 42: 0x10ed9b10c - >::call_once - 43: 0x10ecf77a8 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> - 44: 0x10eda1bc0 - rustc_query_impl[6ec06d95fa579ddc]::query_impl::mir_borrowck::get_query_incr::__rust_end_short_backtrace - 45: 0x10d503140 - rustc_middle[c4367cd1cb8e0dc9]::query::plumbing::query_get_at::>> - 46: 0x10d51dbdc - ::prove_closure_bounds - 47: 0x10d521090 - ::check_rvalue - 48: 0x10d524464 - ::typeck_mir - 49: 0x10d518de0 - rustc_borrowck[288b2637815caa8b]::type_check::type_check - 50: 0x10d6a8d7c - rustc_borrowck[288b2637815caa8b]::nll::compute_regions - 51: 0x10d4f8fd0 - rustc_borrowck[288b2637815caa8b]::do_mir_borrowck - 52: 0x10d4f00a0 - rustc_borrowck[288b2637815caa8b]::mir_borrowck - 53: 0x10ed3bba0 - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> - 54: 0x10ed9b10c - >::call_once - 55: 0x10ecf77a8 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> - 56: 0x10eda1bc0 - rustc_query_impl[6ec06d95fa579ddc]::query_impl::mir_borrowck::get_query_incr::__rust_end_short_backtrace - 57: 0x10ddc3fe8 - rustc_middle[c4367cd1cb8e0dc9]::query::plumbing::query_get_at::>> - 58: 0x10ddd6940 - rustc_hir_analysis[c19c0bfd1608da07]::collect::type_of::opaque::find_opaque_ty_constraints_for_rpit - 59: 0x10ed3c75c - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> - 60: 0x10ee86304 - >::call_once - 61: 0x10ecb26e8 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> - 62: 0x10ee3e19c - rustc_query_impl[6ec06d95fa579ddc]::query_impl::type_of_opaque::get_query_incr::__rust_end_short_backtrace - 63: 0x10dd6ce20 - rustc_middle[c4367cd1cb8e0dc9]::query::plumbing::query_get_at::>> - 64: 0x10dd85a78 - rustc_hir_analysis[c19c0bfd1608da07]::collect::type_of::type_of - 65: 0x10ed41210 - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> - 66: 0x10ee8c62c - >::call_once - 67: 0x10ecb26e8 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> - 68: 0x10eec28b0 - rustc_query_impl[6ec06d95fa579ddc]::query_impl::type_of::get_query_incr::__rust_end_short_backtrace - 69: 0x10e666314 - rustc_middle[c4367cd1cb8e0dc9]::query::plumbing::query_get_at::>> - 70: 0x10e653f94 - ::expand_opaque_ty - 71: 0x10e654080 - >::fold_ty - 72: 0x10e6542c8 - >::fold_ty - 73: 0x10e656cdc - rustc_middle[c4367cd1cb8e0dc9]::ty::util::fold_list:: as rustc_type_ir[9486e74e44844ae3]::fold::TypeFoldable>::try_fold_with::{closure#0}> - 74: 0x10e5f4ed8 - >::try_super_fold_with:: - 75: 0x10e654060 - >::fold_ty - 76: 0x10e533fcc - <&rustc_middle[c4367cd1cb8e0dc9]::ty::list::List as rustc_type_ir[9486e74e44844ae3]::fold::TypeFoldable>::try_fold_with:: - 77: 0x10e5f4f1c - >::try_super_fold_with:: - 78: 0x10e654060 - >::fold_ty - 79: 0x10e6542c8 - >::fold_ty - 80: 0x10e656cdc - rustc_middle[c4367cd1cb8e0dc9]::ty::util::fold_list:: as rustc_type_ir[9486e74e44844ae3]::fold::TypeFoldable>::try_fold_with::{closure#0}> - 81: 0x10e5f4ed8 - >::try_super_fold_with:: - 82: 0x10e654060 - >::fold_ty - 83: 0x10e653fc4 - ::expand_opaque_ty - 84: 0x10e654080 - >::fold_ty - 85: 0x10e6542c8 - >::fold_ty - 86: 0x10e656cdc - rustc_middle[c4367cd1cb8e0dc9]::ty::util::fold_list:: as rustc_type_ir[9486e74e44844ae3]::fold::TypeFoldable>::try_fold_with::{closure#0}> - 87: 0x10e5f4ed8 - >::try_super_fold_with:: - 88: 0x10e654060 - >::fold_ty - 89: 0x10e533fcc - <&rustc_middle[c4367cd1cb8e0dc9]::ty::list::List as rustc_type_ir[9486e74e44844ae3]::fold::TypeFoldable>::try_fold_with:: - 90: 0x10e5f4e74 - >::try_super_fold_with:: - 91: 0x10e654060 - >::fold_ty - 92: 0x10e656cdc - rustc_middle[c4367cd1cb8e0dc9]::ty::util::fold_list:: as rustc_type_ir[9486e74e44844ae3]::fold::TypeFoldable>::try_fold_with::{closure#0}> - 93: 0x10e5f4eb4 - >::try_super_fold_with:: - 94: 0x10e654060 - >::fold_ty - 95: 0x10e6542c8 - >::fold_ty - 96: 0x10e656cdc - rustc_middle[c4367cd1cb8e0dc9]::ty::util::fold_list:: as rustc_type_ir[9486e74e44844ae3]::fold::TypeFoldable>::try_fold_with::{closure#0}> - 97: 0x10e5f4ed8 - >::try_super_fold_with:: - 98: 0x10e654060 - >::fold_ty - 99: 0x10e653fc4 - ::expand_opaque_ty - 100: 0x10e4ecf54 - ::try_expand_impl_trait_type - 101: 0x10dd7c34c - rustc_hir_analysis[c19c0bfd1608da07]::check::check::check_item_type - 102: 0x10dd829cc - rustc_hir_analysis[c19c0bfd1608da07]::check::check::check_mod_item_types - 103: 0x10ed3e92c - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> - 104: 0x10ef1cbf8 - >::call_once - 105: 0x10ec992d4 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> - 106: 0x10eec4cb0 - rustc_query_impl[6ec06d95fa579ddc]::query_impl::check_mod_item_types::get_query_incr::__rust_end_short_backtrace - 107: 0x10de2e914 - ::for_each_module:: - 108: 0x10de00b04 - rustc_hir_analysis[c19c0bfd1608da07]::check_crate - 109: 0x10e289094 - rustc_interface[fd51d116160c92d2]::passes::analysis - 110: 0x10ed41238 - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> - 111: 0x10eec1f7c - >::call_once - 112: 0x10ec5aec4 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> - 113: 0x10ef079d8 - rustc_query_impl[6ec06d95fa579ddc]::query_impl::analysis::get_query_incr::__rust_end_short_backtrace - 114: 0x10db19124 - ::enter::> - 115: 0x10daab4f4 - ::enter::, rustc_span[cc43194fc10ba92f]::ErrorGuaranteed>> - 116: 0x10db174dc - rustc_span[cc43194fc10ba92f]::set_source_map::, rustc_interface[fd51d116160c92d2]::interface::run_compiler, rustc_driver_impl[683555f6943f3d8]::run_compiler::{closure#1}>::{closure#0}::{closure#0}> - 117: 0x10db1fc5c - std[4d79feac4cea9cd0]::sys_common::backtrace::__rust_begin_short_backtrace::, rustc_driver_impl[683555f6943f3d8]::run_compiler::{closure#1}>::{closure#0}, core[e0b35f7eb9175e97]::result::Result<(), rustc_span[cc43194fc10ba92f]::ErrorGuaranteed>>::{closure#0}, core[e0b35f7eb9175e97]::result::Result<(), rustc_span[cc43194fc10ba92f]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[e0b35f7eb9175e97]::result::Result<(), rustc_span[cc43194fc10ba92f]::ErrorGuaranteed>> - 118: 0x10db07854 - <::spawn_unchecked_, rustc_driver_impl[683555f6943f3d8]::run_compiler::{closure#1}>::{closure#0}, core[e0b35f7eb9175e97]::result::Result<(), rustc_span[cc43194fc10ba92f]::ErrorGuaranteed>>::{closure#0}, core[e0b35f7eb9175e97]::result::Result<(), rustc_span[cc43194fc10ba92f]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[e0b35f7eb9175e97]::result::Result<(), rustc_span[cc43194fc10ba92f]::ErrorGuaranteed>>::{closure#1} as core[e0b35f7eb9175e97]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} - 119: 0x10472fea4 - std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 - 120: 0x18c159034 - __pthread_joiner_wake - - -rustc version: 1.76.0-nightly (dd430bc8c 2023-11-14) -platform: aarch64-apple-darwin - -query stack during panic: -#0 [mir_coroutine_witnesses] coroutine witness types for `peer_connection::::manage_peer::{closure#0}::{closure#3}` -#1 [needs_drop_raw] computing whether `{coroutine witness@crates/librqbit/src/peer_connection.rs:202:22: 268:10}` needs drop -#2 [dropck_outlives] computing dropck types for `{async block@crates/librqbit/src/peer_connection.rs:202:22: 268:10}` -#3 [mir_borrowck] borrow-checking `peer_connection::::manage_peer::{closure#0}` -#4 [mir_borrowck] borrow-checking `peer_connection::::manage_peer` -#5 [type_of_opaque] computing type of opaque `peer_connection::::manage_peer::{opaque#0}` -#6 [type_of] computing type of `peer_connection::::manage_peer::{opaque#0}` -#7 [check_mod_item_types] checking item types in module `dht_utils` -#8 [analysis] running analysis passes on this crate -end of query stack diff --git a/rustc-ice-2023-11-17T23_37_51-9987.txt b/rustc-ice-2023-11-17T23_37_51-9987.txt deleted file mode 100644 index e7f2c4a..0000000 --- a/rustc-ice-2023-11-17T23_37_51-9987.txt +++ /dev/null @@ -1,140 +0,0 @@ -thread 'rustc' panicked at /rustc/dd430bc8c22f57992ec1457a87437d14283fdd65/compiler/rustc_errors/src/lib.rs:999:33: -Box -stack backtrace: - 0: 0x1026c3dac - std::backtrace::Backtrace::create::he1446a17ed3fb192 - 1: 0x10baeb134 - as core[e0b35f7eb9175e97]::ops::function::Fn<(&dyn for<'a, 'b> core[e0b35f7eb9175e97]::ops::function::Fn<(&'a core[e0b35f7eb9175e97]::panic::panic_info::PanicInfo<'b>,), Output = ()> + core[e0b35f7eb9175e97]::marker::Sync + core[e0b35f7eb9175e97]::marker::Send, &core[e0b35f7eb9175e97]::panic::panic_info::PanicInfo)>>::call - 2: 0x1026dbca8 - std::panicking::rust_panic_with_hook::h05bd262a58657294 - 3: 0x10c91fd4c - std[4d79feac4cea9cd0]::panicking::begin_panic::::{closure#0} - 4: 0x10c91e448 - std[4d79feac4cea9cd0]::sys_common::backtrace::__rust_end_short_backtrace::::{closure#0}, !> - 5: 0x10f90c854 - std[4d79feac4cea9cd0]::panicking::begin_panic:: - 6: 0x10c83bd68 - ::span_bug:: - 7: 0x10c83b92c - ::span_bug:: - 8: 0x10c901584 - rustc_middle[c4367cd1cb8e0dc9]::util::bug::opt_span_bug_fmt::::{closure#0} - 9: 0x10c9015b8 - rustc_middle[c4367cd1cb8e0dc9]::ty::context::tls::with_opt::::{closure#0}, !>::{closure#0} - 10: 0x10c8fea54 - rustc_middle[c4367cd1cb8e0dc9]::ty::context::tls::with_context_opt::::{closure#0}, !>::{closure#0}, !> - 11: 0x10f90d690 - rustc_middle[c4367cd1cb8e0dc9]::util::bug::span_bug_fmt:: - 12: 0x10c7efd78 - rustc_mir_transform[b0d987c76d7549be]::coroutine::mir_coroutine_witnesses - 13: 0x10ccf3d28 - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> - 14: 0x10ce3dc7c - >::call_once - 15: 0x10cc666e8 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> - 16: 0x10cc02e08 - rustc_query_system[865695b26f343ed8]::query::plumbing::force_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt> - 17: 0x10ccd0d98 - ::{closure#0} as core[e0b35f7eb9175e97]::ops::function::FnOnce<(rustc_middle[c4367cd1cb8e0dc9]::ty::context::TyCtxt, rustc_query_system[865695b26f343ed8]::dep_graph::dep_node::DepNode)>>::call_once - 18: 0x10cd7d434 - >::try_mark_previous_green:: - 19: 0x10cd7d20c - >::try_mark_green:: - 20: 0x10cc34abc - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::, rustc_middle[c4367cd1cb8e0dc9]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> - 21: 0x10ced69c4 - rustc_query_impl[6ec06d95fa579ddc]::query_impl::needs_drop_raw::get_query_incr::__rust_end_short_backtrace - 22: 0x10d2bfd34 - ::needs_drop - 23: 0x10d2cd520 - rustc_trait_selection[caa1e5098b58bda5]::traits::query::dropck_outlives::dtorck_constraint_for_ty_inner - 24: 0x10d2c63e0 - rustc_trait_selection[caa1e5098b58bda5]::traits::query::dropck_outlives::compute_dropck_outlives_inner - 25: 0x10d35ac8c - ::enter_canonical_trait_query::, rustc_middle[c4367cd1cb8e0dc9]::traits::query::DropckOutlivesResult, rustc_traits[56979a00368fe7bc]::dropck_outlives::dropck_outlives::{closure#0}> - 26: 0x10d36c2dc - rustc_traits[56979a00368fe7bc]::dropck_outlives::dropck_outlives - 27: 0x10ccf09bc - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> - 28: 0x10ce3a488 - >)>>::call_once - 29: 0x10cc213b0 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, rustc_middle[c4367cd1cb8e0dc9]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> - 30: 0x10ce46f34 - rustc_query_impl[6ec06d95fa579ddc]::query_impl::dropck_outlives::get_query_incr::__rust_end_short_backtrace - 31: 0x10d19ec08 - rustc_middle[c4367cd1cb8e0dc9]::query::plumbing::query_get_at::>, rustc_middle[c4367cd1cb8e0dc9]::query::erase::Erased<[u8; 8usize]>>> - 32: 0x10b5ca458 - ::fully_perform_into - 33: 0x10b4f0a58 - as rustc_trait_selection[caa1e5098b58bda5]::traits::query::type_op::TypeOp>::fully_perform - 34: 0x10b4cb9b8 - ::add_drop_live_facts_for - 35: 0x10b4cac64 - rustc_borrowck[288b2637815caa8b]::type_check::liveness::trace::trace - 36: 0x10b502124 - rustc_borrowck[288b2637815caa8b]::type_check::liveness::generate - 37: 0x10b4cd240 - rustc_borrowck[288b2637815caa8b]::type_check::type_check - 38: 0x10b65cd7c - rustc_borrowck[288b2637815caa8b]::nll::compute_regions - 39: 0x10b4acfd0 - rustc_borrowck[288b2637815caa8b]::do_mir_borrowck - 40: 0x10b4a40a0 - rustc_borrowck[288b2637815caa8b]::mir_borrowck - 41: 0x10ccefba0 - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> - 42: 0x10cd4f10c - >::call_once - 43: 0x10ccab7a8 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> - 44: 0x10cd55bc0 - rustc_query_impl[6ec06d95fa579ddc]::query_impl::mir_borrowck::get_query_incr::__rust_end_short_backtrace - 45: 0x10b4b7140 - rustc_middle[c4367cd1cb8e0dc9]::query::plumbing::query_get_at::>> - 46: 0x10b4d1bdc - ::prove_closure_bounds - 47: 0x10b4d5090 - ::check_rvalue - 48: 0x10b4d8464 - ::typeck_mir - 49: 0x10b4ccde0 - rustc_borrowck[288b2637815caa8b]::type_check::type_check - 50: 0x10b65cd7c - rustc_borrowck[288b2637815caa8b]::nll::compute_regions - 51: 0x10b4acfd0 - rustc_borrowck[288b2637815caa8b]::do_mir_borrowck - 52: 0x10b4a40a0 - rustc_borrowck[288b2637815caa8b]::mir_borrowck - 53: 0x10ccefba0 - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> - 54: 0x10cd4f10c - >::call_once - 55: 0x10ccab7a8 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> - 56: 0x10cd55bc0 - rustc_query_impl[6ec06d95fa579ddc]::query_impl::mir_borrowck::get_query_incr::__rust_end_short_backtrace - 57: 0x10bd77fe8 - rustc_middle[c4367cd1cb8e0dc9]::query::plumbing::query_get_at::>> - 58: 0x10bd8a940 - rustc_hir_analysis[c19c0bfd1608da07]::collect::type_of::opaque::find_opaque_ty_constraints_for_rpit - 59: 0x10ccf075c - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> - 60: 0x10ce3a304 - >::call_once - 61: 0x10cc666e8 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> - 62: 0x10cdf219c - rustc_query_impl[6ec06d95fa579ddc]::query_impl::type_of_opaque::get_query_incr::__rust_end_short_backtrace - 63: 0x10bd20e20 - rustc_middle[c4367cd1cb8e0dc9]::query::plumbing::query_get_at::>> - 64: 0x10bd39a78 - rustc_hir_analysis[c19c0bfd1608da07]::collect::type_of::type_of - 65: 0x10ccf5210 - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> - 66: 0x10ce4062c - >::call_once - 67: 0x10cc666e8 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> - 68: 0x10ce768b0 - rustc_query_impl[6ec06d95fa579ddc]::query_impl::type_of::get_query_incr::__rust_end_short_backtrace - 69: 0x10c61a314 - rustc_middle[c4367cd1cb8e0dc9]::query::plumbing::query_get_at::>> - 70: 0x10c607f94 - ::expand_opaque_ty - 71: 0x10c608080 - >::fold_ty - 72: 0x10c6082c8 - >::fold_ty - 73: 0x10c60acdc - rustc_middle[c4367cd1cb8e0dc9]::ty::util::fold_list:: as rustc_type_ir[9486e74e44844ae3]::fold::TypeFoldable>::try_fold_with::{closure#0}> - 74: 0x10c5a8ed8 - >::try_super_fold_with:: - 75: 0x10c608060 - >::fold_ty - 76: 0x10c4e7fcc - <&rustc_middle[c4367cd1cb8e0dc9]::ty::list::List as rustc_type_ir[9486e74e44844ae3]::fold::TypeFoldable>::try_fold_with:: - 77: 0x10c5a8f1c - >::try_super_fold_with:: - 78: 0x10c608060 - >::fold_ty - 79: 0x10c6082c8 - >::fold_ty - 80: 0x10c60acdc - rustc_middle[c4367cd1cb8e0dc9]::ty::util::fold_list:: as rustc_type_ir[9486e74e44844ae3]::fold::TypeFoldable>::try_fold_with::{closure#0}> - 81: 0x10c5a8ed8 - >::try_super_fold_with:: - 82: 0x10c608060 - >::fold_ty - 83: 0x10c607fc4 - ::expand_opaque_ty - 84: 0x10c608080 - >::fold_ty - 85: 0x10c6082c8 - >::fold_ty - 86: 0x10c60acdc - rustc_middle[c4367cd1cb8e0dc9]::ty::util::fold_list:: as rustc_type_ir[9486e74e44844ae3]::fold::TypeFoldable>::try_fold_with::{closure#0}> - 87: 0x10c5a8ed8 - >::try_super_fold_with:: - 88: 0x10c608060 - >::fold_ty - 89: 0x10c4e7fcc - <&rustc_middle[c4367cd1cb8e0dc9]::ty::list::List as rustc_type_ir[9486e74e44844ae3]::fold::TypeFoldable>::try_fold_with:: - 90: 0x10c5a8e74 - >::try_super_fold_with:: - 91: 0x10c608060 - >::fold_ty - 92: 0x10c60acdc - rustc_middle[c4367cd1cb8e0dc9]::ty::util::fold_list:: as rustc_type_ir[9486e74e44844ae3]::fold::TypeFoldable>::try_fold_with::{closure#0}> - 93: 0x10c5a8eb4 - >::try_super_fold_with:: - 94: 0x10c608060 - >::fold_ty - 95: 0x10c6082c8 - >::fold_ty - 96: 0x10c60acdc - rustc_middle[c4367cd1cb8e0dc9]::ty::util::fold_list:: as rustc_type_ir[9486e74e44844ae3]::fold::TypeFoldable>::try_fold_with::{closure#0}> - 97: 0x10c5a8ed8 - >::try_super_fold_with:: - 98: 0x10c608060 - >::fold_ty - 99: 0x10c607fc4 - ::expand_opaque_ty - 100: 0x10c4a0f54 - ::try_expand_impl_trait_type - 101: 0x10bd3034c - rustc_hir_analysis[c19c0bfd1608da07]::check::check::check_item_type - 102: 0x10bd369cc - rustc_hir_analysis[c19c0bfd1608da07]::check::check::check_mod_item_types - 103: 0x10ccf292c - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> - 104: 0x10ced0bf8 - >::call_once - 105: 0x10cc4d2d4 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> - 106: 0x10ce78cb0 - rustc_query_impl[6ec06d95fa579ddc]::query_impl::check_mod_item_types::get_query_incr::__rust_end_short_backtrace - 107: 0x10bde2914 - ::for_each_module:: - 108: 0x10bdb4b04 - rustc_hir_analysis[c19c0bfd1608da07]::check_crate - 109: 0x10c23d094 - rustc_interface[fd51d116160c92d2]::passes::analysis - 110: 0x10ccf5238 - rustc_query_impl[6ec06d95fa579ddc]::plumbing::__rust_begin_short_backtrace::> - 111: 0x10ce75f7c - >::call_once - 112: 0x10cc0eec4 - rustc_query_system[865695b26f343ed8]::query::plumbing::try_execute_query::>, false, false, false>, rustc_query_impl[6ec06d95fa579ddc]::plumbing::QueryCtxt, true> - 113: 0x10cebb9d8 - rustc_query_impl[6ec06d95fa579ddc]::query_impl::analysis::get_query_incr::__rust_end_short_backtrace - 114: 0x10bacd124 - ::enter::> - 115: 0x10ba5f4f4 - ::enter::, rustc_span[cc43194fc10ba92f]::ErrorGuaranteed>> - 116: 0x10bacb4dc - rustc_span[cc43194fc10ba92f]::set_source_map::, rustc_interface[fd51d116160c92d2]::interface::run_compiler, rustc_driver_impl[683555f6943f3d8]::run_compiler::{closure#1}>::{closure#0}::{closure#0}> - 117: 0x10bad3c5c - std[4d79feac4cea9cd0]::sys_common::backtrace::__rust_begin_short_backtrace::, rustc_driver_impl[683555f6943f3d8]::run_compiler::{closure#1}>::{closure#0}, core[e0b35f7eb9175e97]::result::Result<(), rustc_span[cc43194fc10ba92f]::ErrorGuaranteed>>::{closure#0}, core[e0b35f7eb9175e97]::result::Result<(), rustc_span[cc43194fc10ba92f]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[e0b35f7eb9175e97]::result::Result<(), rustc_span[cc43194fc10ba92f]::ErrorGuaranteed>> - 118: 0x10babb854 - <::spawn_unchecked_, rustc_driver_impl[683555f6943f3d8]::run_compiler::{closure#1}>::{closure#0}, core[e0b35f7eb9175e97]::result::Result<(), rustc_span[cc43194fc10ba92f]::ErrorGuaranteed>>::{closure#0}, core[e0b35f7eb9175e97]::result::Result<(), rustc_span[cc43194fc10ba92f]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[e0b35f7eb9175e97]::result::Result<(), rustc_span[cc43194fc10ba92f]::ErrorGuaranteed>>::{closure#1} as core[e0b35f7eb9175e97]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} - 119: 0x1026e3ea4 - std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 - 120: 0x18c159034 - __pthread_joiner_wake - - -rustc version: 1.76.0-nightly (dd430bc8c 2023-11-14) -platform: aarch64-apple-darwin - -query stack during panic: -#0 [mir_coroutine_witnesses] coroutine witness types for `peer_connection::::manage_peer::{closure#0}::{closure#3}` -#1 [needs_drop_raw] computing whether `{coroutine witness@crates/librqbit/src/peer_connection.rs:202:22: 268:10}` needs drop -#2 [dropck_outlives] computing dropck types for `{async block@crates/librqbit/src/peer_connection.rs:202:22: 268:10}` -#3 [mir_borrowck] borrow-checking `peer_connection::::manage_peer::{closure#0}` -#4 [mir_borrowck] borrow-checking `peer_connection::::manage_peer` -#5 [type_of_opaque] computing type of opaque `peer_connection::::manage_peer::{opaque#0}` -#6 [type_of] computing type of `peer_connection::::manage_peer::{opaque#0}` -#7 [check_mod_item_types] checking item types in module `dht_utils` -#8 [analysis] running analysis passes on this crate -end of query stack From d39479a251db9ac57b86c706052a4a1159d6d6ee Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Sun, 19 Nov 2023 13:44:14 +0000 Subject: [PATCH 07/40] Small refactorings --- crates/librqbit/src/peer_state.rs | 12 +++--- crates/librqbit/src/torrent_state.rs | 63 +++++++++++++++++++++------- 2 files changed, 56 insertions(+), 19 deletions(-) diff --git a/crates/librqbit/src/peer_state.rs b/crates/librqbit/src/peer_state.rs index ae25d70..1f2beeb 100644 --- a/crates/librqbit/src/peer_state.rs +++ b/crates/librqbit/src/peer_state.rs @@ -76,6 +76,7 @@ pub enum PeerState { Live(LivePeerState), // There was an error, and it's waiting for exponential backoff. Dead, + // We don't need to do anything with the peer any longer. // The peer has the full torrent, and we have the full torrent, so no need // to keep talking to it. NotNeeded, @@ -103,7 +104,7 @@ impl PeerState { } } - fn take_live(&mut self) -> Option { + pub fn take_live(&mut self) -> Option { if let PeerState::Live(_) = self { match std::mem::take(self) { PeerState::Live(l) => Some(l), @@ -152,10 +153,11 @@ impl PeerState { } } - pub fn live_to(&mut self, new_state: PeerState) -> Option { - let l = self.take_live()?; - *self = new_state; - Some(l) + pub fn to_not_needed(&mut self) -> Option { + match std::mem::replace(self, PeerState::NotNeeded) { + PeerState::Live(l) => Some(l), + _ => None, + } } } diff --git a/crates/librqbit/src/torrent_state.rs b/crates/librqbit/src/torrent_state.rs index e948692..d85edf0 100644 --- a/crates/librqbit/src/torrent_state.rs +++ b/crates/librqbit/src/torrent_state.rs @@ -184,6 +184,10 @@ impl PeerStates { }; p.stats.backoff.reset(); } + + fn mark_peer_not_needed(&mut self, handle: PeerHandle) -> Option { + self.states.get_mut(&handle)?.state.to_not_needed() + } } pub struct TorrentStateLocked { @@ -316,6 +320,11 @@ impl TorrentState { async move { loop { let addr = peer_queue_rx.recv().await.unwrap(); + if state.is_finished() { + debug!("ignoring peer {} as we are finished", addr); + state.locked.write().peers.mark_peer_not_needed(addr); + continue; + } let permit = state.peer_semaphore.acquire().await.unwrap(); permit.forget(); @@ -499,8 +508,16 @@ impl TorrentState { fn on_peer_died(self: &Arc, handle: PeerHandle, error: Option) { let mut g = self.locked.write(); - match g.peers.mark_peer_dead(handle) { - Some(Some(live)) => { + let peer = match g.peers.states.get_mut(&handle) { + Some(peer) => peer, + None => { + warn!("bug: peer not found in table. Forgetting it forever"); + return; + } + }; + match std::mem::take(&mut peer.state) { + PeerState::Connecting(_) => {} + PeerState::Live(live) => { for req in live.inflight_requests { debug!( "peer dead, marking chunk request cancelled, index={}, chunk={}", @@ -510,17 +527,30 @@ impl TorrentState { g.chunks.mark_chunk_request_cancelled(req.piece, req.chunk); } } - // Other valid state to transition to dead. - Some(None) => {} - // Peer was in an unexpected state. - None => return, - } + PeerState::Queued | PeerState::Dead | PeerState::NotNeeded => { + warn!("bug: peer was in a wrong state, ignoring it forever"); + g.peers.drop_peer(handle); + return; + } + }; + + // Re-borrow as we were modifying states above + // (otherwise borrow checker rightfully says we're wrong). + let peer = g.peers.states.get_mut(&handle).unwrap(); if error.is_none() { debug!("peer died without errors, not re-queueing"); + peer.state = PeerState::NotNeeded; return; } + if self.is_finished() { + debug!("torrent finished, not re-queueing"); + peer.state = PeerState::NotNeeded; + return; + } + + peer.state = PeerState::Dead; let backoff = { let peer = match g.peers.states.get_mut(&handle) { Some(p) => p, @@ -576,6 +606,10 @@ impl TorrentState { self.stats.downloaded_and_checked.load(Ordering::Relaxed) } + pub fn is_finished(&self) -> bool { + self.get_left_to_download() == 0 + } + pub fn get_left_to_download(&self) -> u64 { self.needed - self.get_downloaded() } @@ -675,7 +709,7 @@ impl TorrentState { } pub async fn wait_until_completed(&self) { - if self.get_left_to_download() == 0 { + if self.is_finished() { return; } self.finished_notify.notified().await; @@ -836,10 +870,11 @@ impl PeerHandler { .peers .clone_tx(handle) .context("peer dropped")?; - tx.send(WriterRequest::Message(MessageOwned::Unchoke)) - .context("peer dropped")?; - tx.send(WriterRequest::Message(MessageOwned::NotInterested)) - .context("peer dropped")?; + tx.send(WriterRequest::Message(MessageOwned::Unchoke))?; + tx.send(WriterRequest::Message(MessageOwned::NotInterested))?; + if self.state.is_finished() { + tx.send(WriterRequest::Disconnect)?; + } return Ok(()); } @@ -1129,7 +1164,7 @@ impl PeerHandler { debug!("piece={} successfully downloaded and verified", index); - if self.state.get_left_to_download() == 0 { + if self.state.is_finished() { self.state.finished_notify.notify_waiters(); self.disconnect_all_peers_that_have_full_torrent(); self.reopen_read_only()?; @@ -1157,7 +1192,7 @@ impl PeerHandler { for (_, peer) in g.peers.states.iter_mut() { if let PeerState::Live(l) = &peer.state { if l.has_full_torrent(self.state.lengths.total_pieces() as usize) { - let live = peer.state.live_to(PeerState::NotNeeded).unwrap(); + let live = peer.state.to_not_needed().unwrap(); let _ = live.tx.send(WriterRequest::Disconnect); } } From a745257be278cc94051b20e94f3281fa6d24ad68 Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Sun, 19 Nov 2023 14:04:47 +0000 Subject: [PATCH 08/40] Split up a couple methods --- crates/librqbit/src/torrent_state.rs | 136 +++++++++++++++------------ 1 file changed, 74 insertions(+), 62 deletions(-) diff --git a/crates/librqbit/src/torrent_state.rs b/crates/librqbit/src/torrent_state.rs index d85edf0..b59ffe5 100644 --- a/crates/librqbit/src/torrent_state.rs +++ b/crates/librqbit/src/torrent_state.rs @@ -31,7 +31,7 @@ use serde::Serialize; use sha1w::Sha1; use tokio::{ sync::{ - mpsc::{unbounded_channel, UnboundedSender}, + mpsc::{unbounded_channel, UnboundedReceiver, UnboundedSender}, Notify, Semaphore, }, time::timeout, @@ -291,7 +291,7 @@ impl TorrentState { options: Option, ) -> Arc { let options = options.unwrap_or_default(); - let (peer_queue_tx, mut peer_queue_rx) = unbounded_channel(); + let (peer_queue_tx, peer_queue_rx) = unbounded_channel(); let state = Arc::new(TorrentState { info_hash, info, @@ -315,68 +315,80 @@ impl TorrentState { peer_queue_tx, finished_notify: Notify::new(), }); - spawn(span!(Level::ERROR, "peer_adder"), { - let state = state.clone(); - async move { - loop { - let addr = peer_queue_rx.recv().await.unwrap(); - if state.is_finished() { - debug!("ignoring peer {} as we are finished", addr); - state.locked.write().peers.mark_peer_not_needed(addr); - continue; - } - - let permit = state.peer_semaphore.acquire().await.unwrap(); - permit.forget(); - spawn( - span!(parent: None, Level::ERROR, "manage_peer", peer = addr.to_string()), - { - let state = state.clone(); - async move { - let rx = state.locked.write().peers.mark_peer_connecting(addr)?; - - let handler = PeerHandler { - addr, - state: state.clone(), - spawner, - }; - let options = PeerConnectionOptions { - connect_timeout: state.options.peer_connect_timeout, - read_write_timeout: state.options.peer_read_write_timeout, - ..Default::default() - }; - let peer_connection = PeerConnection::new( - addr, - state.info_hash, - state.peer_id, - handler, - Some(options), - spawner, - ); - - let res = peer_connection.manage_peer(rx).await; - let state = peer_connection.into_handler().state; - state.peer_semaphore.add_permits(1); - - match res { - // We disconnected the peer ourselves as we don't need it - Ok(()) => { - state.on_peer_died(addr, None); - } - Err(e) => { - debug!("error managing peer: {:#}", e); - state.on_peer_died(addr, Some(e)); - } - } - Ok::<_, anyhow::Error>(()) - } - }, - ); - } - } - }); + spawn( + span!(Level::ERROR, "peer_adder"), + state.clone().task_peer_adder(peer_queue_rx, spawner), + ); state } + + pub async fn task_manage_peer( + self: Arc, + addr: SocketAddr, + spawner: BlockingSpawner, + ) -> anyhow::Result<()> { + let state = self; + let rx = state.locked.write().peers.mark_peer_connecting(addr)?; + + let handler = PeerHandler { + addr, + state: state.clone(), + spawner, + }; + let options = PeerConnectionOptions { + connect_timeout: state.options.peer_connect_timeout, + read_write_timeout: state.options.peer_read_write_timeout, + ..Default::default() + }; + let peer_connection = PeerConnection::new( + addr, + state.info_hash, + state.peer_id, + handler, + Some(options), + spawner, + ); + + let res = peer_connection.manage_peer(rx).await; + let state = peer_connection.into_handler().state; + state.peer_semaphore.add_permits(1); + + match res { + // We disconnected the peer ourselves as we don't need it + Ok(()) => { + state.on_peer_died(addr, None); + } + Err(e) => { + debug!("error managing peer: {:#}", e); + state.on_peer_died(addr, Some(e)); + } + } + Ok::<_, anyhow::Error>(()) + } + + pub async fn task_peer_adder( + self: Arc, + mut peer_queue_rx: UnboundedReceiver, + spawner: BlockingSpawner, + ) -> anyhow::Result<()> { + let state = self; + loop { + let addr = peer_queue_rx.recv().await.unwrap(); + if state.is_finished() { + debug!("ignoring peer {} as we are finished", addr); + state.locked.write().peers.mark_peer_not_needed(addr); + continue; + } + + let permit = state.peer_semaphore.acquire().await.unwrap(); + permit.forget(); + spawn( + span!(parent: None, Level::ERROR, "manage_peer", peer = addr.to_string()), + state.clone().task_manage_peer(addr, spawner), + ); + } + } + pub fn info(&self) -> &TorrentMetaV1Info { &self.info } From 38c99023ac2522a19a1c047756588c6167b7dbb9 Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Sun, 19 Nov 2023 15:47:14 +0000 Subject: [PATCH 09/40] Change peer states to dashmap --- Cargo.lock | 14 + crates/librqbit/Cargo.toml | 1 + crates/librqbit/src/peer_state.rs | 7 + crates/librqbit/src/torrent_state.rs | 508 +++++++++++++-------------- 4 files changed, 261 insertions(+), 269 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9d75cc8..0bc6010 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -364,6 +364,19 @@ dependencies = [ "winapi", ] +[[package]] +name = "dashmap" +version = "5.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" +dependencies = [ + "cfg-if", + "hashbrown", + "lock_api", + "once_cell", + "parking_lot_core", +] + [[package]] name = "digest" version = "0.10.7" @@ -820,6 +833,7 @@ dependencies = [ "bitvec", "byteorder", "crypto-hash", + "dashmap", "futures", "hex 0.4.3", "http", diff --git a/crates/librqbit/Cargo.toml b/crates/librqbit/Cargo.toml index e878704..f5706a7 100644 --- a/crates/librqbit/Cargo.toml +++ b/crates/librqbit/Cargo.toml @@ -56,6 +56,7 @@ futures = "0.3" url = "2" hex = "0.4" backoff = "0.4.0" +dashmap = "5.5.3" [dev-dependencies] futures = {version = "0.3"} diff --git a/crates/librqbit/src/peer_state.rs b/crates/librqbit/src/peer_state.rs index 1f2beeb..3e997ed 100644 --- a/crates/librqbit/src/peer_state.rs +++ b/crates/librqbit/src/peer_state.rs @@ -115,6 +115,13 @@ impl PeerState { } } + pub fn get_live(&self) -> Option<&LivePeerState> { + match self { + PeerState::Live(l) => Some(l), + _ => None, + } + } + pub fn get_live_mut(&mut self) -> Option<&mut LivePeerState> { match self { PeerState::Live(l) => Some(l), diff --git a/crates/librqbit/src/torrent_state.rs b/crates/librqbit/src/torrent_state.rs index b59ffe5..6e3b361 100644 --- a/crates/librqbit/src/torrent_state.rs +++ b/crates/librqbit/src/torrent_state.rs @@ -2,7 +2,7 @@ // to them, tracking peer state etc. use std::{ - collections::{HashMap, HashSet}, + collections::HashMap, fs::File, net::SocketAddr, path::PathBuf, @@ -17,6 +17,7 @@ use anyhow::{bail, Context}; use backoff::backoff::Backoff; use buffers::{ByteBuf, ByteString}; use clone_to_owned::CloneToOwned; +use dashmap::DashMap; use futures::{stream::FuturesUnordered, StreamExt}; use librqbit_core::{ id20::Id20, @@ -56,9 +57,7 @@ pub struct InflightPiece { #[derive(Default)] pub struct PeerStates { - states: HashMap, - seen: HashSet, - inflight_pieces: HashMap, + states: DashMap, } #[derive(Debug, Default)] @@ -73,11 +72,11 @@ pub struct AggregatePeerStats { impl PeerStates { pub fn stats(&self) -> AggregatePeerStats { - let mut stats = self - .states - .values() + self.states + .iter() .fold(AggregatePeerStats::default(), |mut s, p| { - match &p.state { + s.seen += 1; + match &p.value().state { PeerState::Connecting(_) => s.connecting += 1, PeerState::Live(_) => s.live += 1, PeerState::Queued => s.queued += 1, @@ -85,114 +84,113 @@ impl PeerStates { PeerState::NotNeeded => s.fully_have_and_we_are_finished += 1, }; s - }); - stats.seen = self.seen.len(); - stats + }) } - pub fn add_if_not_seen(&mut self, addr: SocketAddr) -> Option { - if self.seen.contains(&addr) { - return None; + pub fn add_if_not_seen(&self, addr: SocketAddr) -> Option { + use dashmap::mapref::entry::Entry; + match self.states.entry(addr) { + Entry::Occupied(_) => None, + Entry::Vacant(vac) => { + vac.insert(Default::default()); + Some(addr) + } } - let handle = self.add(addr)?; - self.seen.insert(addr); - Some(handle) } - pub fn seen(&self) -> &HashSet { - &self.seen + pub fn with_peer(&self, addr: PeerHandle, f: impl FnOnce(&Peer) -> R) -> Option { + self.states.get(&addr).map(|e| f(e.value())) } - pub fn get_live(&self, handle: PeerHandle) -> Option<&LivePeerState> { - if let PeerState::Live(ref l) = &self.states.get(&handle)?.state { - return Some(l); - } - None + + pub fn with_peer_mut(&self, addr: PeerHandle, f: impl FnOnce(&mut Peer) -> R) -> Option { + self.states.get_mut(&addr).map(|mut e| f(e.value_mut())) } - pub fn get_live_mut(&mut self, handle: PeerHandle) -> Option<&mut LivePeerState> { - if let PeerState::Live(ref mut l) = &mut self.states.get_mut(&handle)?.state { - return Some(l); - } - None + pub fn with_live(&self, addr: PeerHandle, f: impl FnOnce(&LivePeerState) -> R) -> Option { + self.states.get(&addr).and_then(|e| match &e.value().state { + PeerState::Live(l) => Some(f(l)), + _ => None, + }) } - pub fn try_get_live_mut(&mut self, handle: PeerHandle) -> anyhow::Result<&mut LivePeerState> { - self.get_live_mut(handle) - .ok_or_else(|| anyhow::anyhow!("peer dropped")) + pub fn with_live_mut( + &self, + addr: PeerHandle, + f: impl FnOnce(&mut LivePeerState) -> R, + ) -> Option { + self.states + .get_mut(&addr) + .and_then(|mut e| match &mut e.value_mut().state { + PeerState::Live(l) => Some(f(l)), + _ => None, + }) } - pub fn add(&mut self, addr: SocketAddr) -> Option { - let handle = addr; - if self.states.contains_key(&addr) { - return None; - } - self.states.insert(handle, Default::default()); - Some(handle) + + pub fn add(&self, addr: SocketAddr) -> Option { + self.add_if_not_seen(addr) } - pub fn mark_peer_dead(&mut self, handle: PeerHandle) -> Option> { - let peer = self.states.get_mut(&handle)?; + pub fn mark_peer_dead(&self, handle: PeerHandle) -> Option> { + let mut peer = self.states.get_mut(&handle)?; peer.state.to_dead() } - pub fn drop_peer(&mut self, handle: PeerHandle) -> Option { - self.states.remove(&handle) + pub fn drop_peer(&self, handle: PeerHandle) -> Option { + self.states.remove(&handle).map(|r| r.1) } - pub fn mark_i_am_choked(&mut self, handle: PeerHandle, is_choked: bool) -> Option { - let live = self.get_live_mut(handle)?; - let prev = live.i_am_choked; - live.i_am_choked = is_choked; - Some(prev) + pub fn mark_i_am_choked(&self, handle: PeerHandle, is_choked: bool) -> Option { + self.with_live_mut(handle, |live| { + let prev = live.i_am_choked; + live.i_am_choked = is_choked; + prev + }) } - pub fn mark_peer_interested( - &mut self, - handle: PeerHandle, - is_interested: bool, - ) -> Option { - let live = self.get_live_mut(handle)?; - let prev = live.peer_interested; - live.peer_interested = is_interested; - Some(prev) + pub fn mark_peer_interested(&self, handle: PeerHandle, is_interested: bool) -> Option { + self.with_live_mut(handle, |live| { + let prev = live.peer_interested; + live.peer_interested = is_interested; + prev + }) } pub fn update_bitfield_from_vec( - &mut self, + &self, handle: PeerHandle, bitfield: Vec, ) -> Option> { - let live = self.get_live_mut(handle)?; - let bitfield = BF::from_vec(bitfield); - let prev = live.bitfield.take(); - live.bitfield = Some(bitfield); - Some(prev) + self.with_live_mut(handle, |live| { + let bitfield = BF::from_vec(bitfield); + let prev = live.bitfield.take(); + live.bitfield = Some(bitfield); + prev + }) } - pub fn mark_peer_connecting(&mut self, h: PeerHandle) -> anyhow::Result { - let peer = self - .states - .get_mut(&h) - .context("peer not found in states")?; - let rx = peer - .state - .queued_to_connecting() - .context("invalid peer state")?; - Ok(rx) + pub fn mark_peer_connecting(&self, h: PeerHandle) -> anyhow::Result { + self.with_peer_mut(h, |peer| { + peer.state + .queued_to_connecting() + .context("invalid peer state") + }) + .context("peer not found in states")? } pub fn clone_tx(&self, handle: PeerHandle) -> Option { - Some(self.get_live(handle)?.tx.clone()) - } - pub fn remove_inflight_piece(&mut self, piece: ValidPieceIndex) -> Option { - self.inflight_pieces.remove(&piece) + self.with_live(handle, |live| live.tx.clone()) } - fn reset_peer_backoff(&mut self, handle: PeerHandle) { - let p = match self.states.get_mut(&handle) { - Some(p) => p, - None => return, - }; - p.stats.backoff.reset(); + fn reset_peer_backoff(&self, handle: PeerHandle) { + self.with_peer_mut(handle, |p| { + p.stats.backoff.reset(); + }); } - fn mark_peer_not_needed(&mut self, handle: PeerHandle) -> Option { + fn mark_peer_not_needed(&self, handle: PeerHandle) -> Option { self.states.get_mut(&handle)?.state.to_not_needed() } } pub struct TorrentStateLocked { - pub peers: PeerStates, pub chunks: ChunkTracker, + pub inflight_pieces: HashMap, +} + +impl TorrentStateLocked { + pub fn remove_inflight_piece(&mut self, piece: ValidPieceIndex) -> Option { + self.inflight_pieces.remove(&piece) + } } #[derive(Default, Debug)] @@ -254,6 +252,7 @@ pub struct TorrentStateOptions { } pub struct TorrentState { + peers: PeerStates, info: TorrentMetaV1Info, locked: Arc>, files: Vec>>, @@ -296,9 +295,10 @@ impl TorrentState { info_hash, info, peer_id, + peers: Default::default(), locked: Arc::new(RwLock::new(TorrentStateLocked { - peers: Default::default(), chunks: chunk_tracker, + inflight_pieces: Default::default(), })), files, filenames, @@ -328,7 +328,7 @@ impl TorrentState { spawner: BlockingSpawner, ) -> anyhow::Result<()> { let state = self; - let rx = state.locked.write().peers.mark_peer_connecting(addr)?; + let rx = state.peers.mark_peer_connecting(addr)?; let handler = PeerHandler { addr, @@ -376,7 +376,7 @@ impl TorrentState { let addr = peer_queue_rx.recv().await.unwrap(); if state.is_finished() { debug!("ignoring peer {} as we are finished", addr); - state.locked.write().peers.mark_peer_not_needed(addr); + state.peers.mark_peer_not_needed(addr); continue; } @@ -409,52 +409,54 @@ impl TorrentState { } fn get_next_needed_piece(&self, peer_handle: PeerHandle) -> Option { - let g = self.locked.read(); - let bf = g.peers.get_live(peer_handle)?.bitfield.as_ref()?; - for n in g.chunks.iter_needed_pieces() { - if bf.get(n).map(|v| *v) == Some(true) { - // in theory it should be safe without validation, but whatever. - return self.lengths.validate_piece_index(n as u32); + self.peers.with_live_mut(peer_handle, |live| { + let g = self.locked.read(); + let bf = live.bitfield.as_ref()?; + for n in g.chunks.iter_needed_pieces() { + if bf.get(n).map(|v| *v) == Some(true) { + // in theory it should be safe without validation, but whatever. + return self.lengths.validate_piece_index(n as u32); + } } - } - None + None + })? } fn am_i_choked(&self, peer_handle: PeerHandle) -> Option { - self.locked - .read() - .peers - .get_live(peer_handle) - .map(|l| l.i_am_choked) + self.peers.with_live(peer_handle, |l| l.i_am_choked) } fn reserve_next_needed_piece(&self, peer_handle: PeerHandle) -> Option { - if self.am_i_choked(peer_handle)? { - debug!("we are choked, can't reserve next piece"); - return None; - } - let mut g = self.locked.write(); - let n = { - let mut n_opt = None; - let bf = g.peers.get_live(peer_handle)?.bitfield.as_ref()?; - for n in g.chunks.iter_needed_pieces() { - if bf.get(n).map(|v| *v) == Some(true) { - n_opt = Some(n); - break; + self.peers + .with_live_mut(peer_handle, |live| { + if live.i_am_choked { + debug!("we are choked, can't reserve next piece"); + return None; } - } + let mut g = self.locked.write(); + let n = { + let mut n_opt = None; + let bf = live.bitfield.as_ref()?; + for n in g.chunks.iter_needed_pieces() { + if bf.get(n).map(|v| *v) == Some(true) { + n_opt = Some(n); + break; + } + } - self.lengths.validate_piece_index(n_opt? as u32)? - }; - g.peers.inflight_pieces.insert( - n, - InflightPiece { - peer: peer_handle, - started: Instant::now(), - }, - ); - g.chunks.reserve_needed_piece(n); - Some(n) + self.lengths.validate_piece_index(n_opt? as u32)? + }; + g.inflight_pieces.insert( + n, + InflightPiece { + peer: peer_handle, + started: Instant::now(), + }, + ); + g.chunks.reserve_needed_piece(n); + Some(n) + }) + .flatten() } fn am_i_interested_in_peer(&self, handle: PeerHandle) -> bool { @@ -472,7 +474,6 @@ impl TorrentState { let mut g = self.locked.write(); let (idx, elapsed, piece_req) = g - .peers .inflight_pieces .iter_mut() // don't steal from myself @@ -496,40 +497,41 @@ impl TorrentState { fn try_steal_piece(&self, handle: PeerHandle) -> Option { let mut rng = rand::thread_rng(); use rand::seq::IteratorRandom; - let g = self.locked.read(); - let pl = g.peers.get_live(handle)?; - g.peers - .inflight_pieces - .keys() - .filter(|p| !pl.inflight_requests.iter().any(|req| req.piece == **p)) - .choose(&mut rng) - .copied() + self.peers + .with_live(handle, |live| { + let g = self.locked.read(); + g.inflight_pieces + .keys() + .filter(|p| !live.inflight_requests.iter().any(|req| req.piece == **p)) + .choose(&mut rng) + .copied() + }) + .flatten() } fn set_peer_live(&self, handle: PeerHandle, h: Handshake) { - let mut g = self.locked.write(); - let peer = match g.peers.states.get_mut(&handle) { - Some(peer) => peer, - None => { - warn!("peer was in a wrong state, can't set live"); - return; - } - }; - peer.state.connecting_to_live(Id20(h.peer_id)); + let result = self.peers.with_peer_mut(handle, |p| { + p.state.connecting_to_live(Id20(h.peer_id)).is_some() + }); + match result { + Some(true) => debug!("set peer to live"), + Some(false) => debug!("can't set peer live, it was in wrong state"), + None => debug!("can't set peer live, it disappeared"), + } } fn on_peer_died(self: &Arc, handle: PeerHandle, error: Option) { - let mut g = self.locked.write(); - let peer = match g.peers.states.get_mut(&handle) { + let mut pe = match self.peers.states.get_mut(&handle) { Some(peer) => peer, None => { warn!("bug: peer not found in table. Forgetting it forever"); return; } }; - match std::mem::take(&mut peer.state) { + match std::mem::take(&mut pe.value_mut().state) { PeerState::Connecting(_) => {} PeerState::Live(live) => { + let mut g = self.locked.write(); for req in live.inflight_requests { debug!( "peer dead, marking chunk request cancelled, index={}, chunk={}", @@ -541,39 +543,25 @@ impl TorrentState { } PeerState::Queued | PeerState::Dead | PeerState::NotNeeded => { warn!("bug: peer was in a wrong state, ignoring it forever"); - g.peers.drop_peer(handle); + self.peers.drop_peer(handle); return; } }; - // Re-borrow as we were modifying states above - // (otherwise borrow checker rightfully says we're wrong). - let peer = g.peers.states.get_mut(&handle).unwrap(); - if error.is_none() { debug!("peer died without errors, not re-queueing"); - peer.state = PeerState::NotNeeded; + pe.value_mut().state = PeerState::NotNeeded; return; } if self.is_finished() { debug!("torrent finished, not re-queueing"); - peer.state = PeerState::NotNeeded; + pe.value_mut().state = PeerState::NotNeeded; return; } - peer.state = PeerState::Dead; - let backoff = { - let peer = match g.peers.states.get_mut(&handle) { - Some(p) => p, - None => { - warn!("bug: did not find peer in the list"); - return; - } - }; - - peer.stats.backoff.next_backoff() - }; + pe.value_mut().state = PeerState::Dead; + let backoff = pe.value_mut().stats.backoff.next_backoff(); if let Some(dur) = backoff { let state = self.clone(); @@ -587,27 +575,26 @@ impl TorrentState { ), async move { tokio::time::sleep(dur).await; - { - let mut g = state.locked.write(); - let peer = match g.peers.states.get_mut(&handle) { - Some(p) => p, - None => bail!("bug: peer disappeared"), - }; - match &peer.state { - PeerState::Dead => peer.state = PeerState::Queued, - other => bail!( - "peer is in unexpected state: {}. Expected dead", - other.name() - ), - } - } + state + .peers + .with_peer_mut(handle, |peer| { + match &peer.state { + PeerState::Dead => peer.state = PeerState::Queued, + other => bail!( + "peer is in unexpected state: {}. Expected dead", + other.name() + ), + }; + Ok(()) + }) + .context("bug: peer disappeared")??; state.peer_queue_tx.send(handle)?; Ok::<_, anyhow::Error>(()) }, ); } else { debug!("dropping peer, backoff exhausted"); - g.peers.drop_peer(handle); + self.peers.drop_peer(handle); } } @@ -629,9 +616,8 @@ impl TorrentState { fn maybe_transmit_haves(&self, index: ValidPieceIndex) { let mut futures = Vec::new(); - let g = self.locked.read(); - for (_, peer) in g.peers.states.iter() { - match &peer.state { + for pe in self.peers.states.iter() { + match &pe.value().state { PeerState::Live(live) => { if !live.peer_interested { continue; @@ -683,7 +669,7 @@ impl TorrentState { } pub fn add_peer_if_not_seen(self: &Arc, addr: SocketAddr) -> bool { - match self.locked.write().peers.add_if_not_seen(addr) { + match self.peers.add_if_not_seen(addr) { Some(handle) => handle, None => return false, }; @@ -693,13 +679,12 @@ impl TorrentState { } pub fn peer_stats_snapshot(&self) -> AggregatePeerStats { - self.locked.read().peers.stats() + self.peers.stats() } pub fn stats_snapshot(&self) -> StatsSnapshot { - let g = self.locked.read(); use Ordering::*; - let peer_stats = g.peers.stats(); + let peer_stats = self.peers.stats(); let downloaded = self.stats.downloaded_and_checked.load(Relaxed); let remaining = self.needed - downloaded; StatsSnapshot { @@ -710,7 +695,7 @@ impl TorrentState { uploaded_bytes: self.stats.uploaded.load(Relaxed), total_bytes: self.have_plus_needed, live_peers: peer_stats.live as u32, - seen_peers: g.peers.seen.len() as u32, + seen_peers: peer_stats.seen as u32, connecting_peers: peer_stats.connecting as u32, time: Instant::now(), initially_needed_bytes: self.needed, @@ -833,7 +818,8 @@ impl PeerHandler { ); } - g.peers + self.state + .peers .clone_tx(peer_handle) .context("peer died, dropping chunk that it requested")? }; @@ -847,17 +833,12 @@ impl PeerHandler { } fn on_have(&self, handle: PeerHandle, have: u32) { - if let Some(bitfield) = self - .state - .locked - .write() - .peers - .get_live_mut(handle) - .and_then(|l| l.bitfield.as_mut()) - { - debug!("updated bitfield with have={}", have); - bitfield.set(have as usize, true) - } + self.state.peers.with_live_mut(handle, |live| { + if let Some(bitfield) = live.bitfield.as_mut() { + bitfield.set(have as usize, true); + debug!("updated bitfield with have={}", have); + } + }); } fn on_bitfield(&self, handle: PeerHandle, bitfield: ByteString) -> anyhow::Result<()> { @@ -869,19 +850,11 @@ impl PeerHandler { ); } self.state - .locked - .write() .peers .update_bitfield_from_vec(handle, bitfield.0); if !self.state.am_i_interested_in_peer(handle) { - let tx = self - .state - .locked - .read() - .peers - .clone_tx(handle) - .context("peer dropped")?; + let tx = self.state.peers.clone_tx(handle).context("peer dropped")?; tx.send(WriterRequest::Message(MessageOwned::Unchoke))?; tx.send(WriterRequest::Message(MessageOwned::NotInterested))?; if self.state.is_finished() { @@ -903,7 +876,7 @@ impl PeerHandler { } async fn task_peer_chunk_requester(self, handle: PeerHandle) -> anyhow::Result<()> { - let tx = match self.state.locked.read().peers.clone_tx(handle) { + let tx = match self.state.peers.clone_tx(handle) { Some(tx) => tx, None => return Ok(()), }; @@ -917,25 +890,21 @@ impl PeerHandler { fn on_i_am_choked(&self, handle: PeerHandle) { debug!("we are choked"); - self.state - .locked - .write() - .peers - .mark_i_am_choked(handle, true); + self.state.peers.mark_i_am_choked(handle, true); } fn on_peer_interested(&self, handle: PeerHandle) { debug!("peer is interested"); - self.state - .locked - .write() - .peers - .mark_peer_interested(handle, true); + self.state.peers.mark_peer_interested(handle, true); } async fn requester(self, handle: PeerHandle) -> anyhow::Result<()> { - let notify = match self.state.locked.read().peers.get_live(handle) { - Some(l) => l.have_notify.clone(), + let notify = match self + .state + .peers + .with_live(handle, |l| l.have_notify.clone()) + { + Some(notify) => notify, None => return Ok(()), }; @@ -984,29 +953,29 @@ impl PeerHandler { }, }; - let tx = match self.state.locked.read().peers.clone_tx(handle) { - Some(tx) => tx, - None => return Ok(()), - }; - let sem = match self.state.locked.read().peers.get_live(handle) { - Some(live) => live.requests_sem.clone(), + let (tx, sem) = match self + .state + .peers + .with_live(handle, |l| (l.tx.clone(), l.requests_sem.clone())) + { + Some((tx, sem)) => (tx, sem), None => return Ok(()), }; + for chunk in self.state.lengths.iter_chunk_infos(next) { if self.state.locked.read().chunks.is_chunk_downloaded(&chunk) { continue; } - if !self - .state - .locked - .write() - .peers - .try_get_live_mut(handle)? - .inflight_requests - .insert(InflightRequest::from(&chunk)) - { - warn!("probably a bug, we already requested {:?}", chunk); - continue; + + match self.state.peers.with_live_mut(handle, |l| { + l.inflight_requests.insert(InflightRequest::from(&chunk)) + }) { + Some(true) => {} + Some(false) => { + warn!("probably a bug, we already requested {:?}", chunk); + continue; + } + None => bail!("peer dropped"), } let request = Request { @@ -1053,14 +1022,11 @@ impl PeerHandler { fn on_i_am_unchoked(&self, handle: PeerHandle) { debug!("we are unchoked"); - let mut g = self.state.locked.write(); - let live = match g.peers.get_live_mut(handle) { - Some(live) => live, - None => return, - }; - live.i_am_choked = false; - live.have_notify.notify_waiters(); - live.requests_sem.add_permits(16); + self.state.peers.with_live_mut(handle, |live| { + live.i_am_choked = false; + live.have_notify.notify_waiters(); + live.requests_sem.add_permits(16); + }); } fn on_received_piece(&self, handle: PeerHandle, piece: Piece) -> anyhow::Result<()> { @@ -1076,31 +1042,36 @@ impl PeerHandler { }; let mut g = self.state.locked.write(); - let h = g.peers.try_get_live_mut(handle)?; - h.requests_sem.add_permits(1); self.state - .stats - .fetched_bytes - .fetch_add(piece.block.len() as u64, Ordering::Relaxed); + .peers + .with_live_mut(handle, |h| { + h.requests_sem.add_permits(1); - if !h - .inflight_requests - .remove(&InflightRequest::from(&chunk_info)) - { - anyhow::bail!( - "peer sent us a piece we did not ask. Requested pieces: {:?}. Got: {:?}", - &h.inflight_requests, - &piece, - ); - } + self.state + .stats + .fetched_bytes + .fetch_add(piece.block.len() as u64, Ordering::Relaxed); + + if !h + .inflight_requests + .remove(&InflightRequest::from(&chunk_info)) + { + anyhow::bail!( + "peer sent us a piece we did not ask. Requested pieces: {:?}. Got: {:?}", + &h.inflight_requests, + &piece, + ); + } + Ok(()) + }) + .context("peer not found")??; let full_piece_download_time = match g.chunks.mark_chunk_downloaded(&piece) { Some(ChunkMarkingResult::Completed) => { debug!("piece={} done, will write and checksum", piece.index,); // This will prevent others from stealing it. - g.peers - .remove_inflight_piece(chunk_info.piece_index) + g.remove_inflight_piece(chunk_info.piece_index) .map(|t| t.started.elapsed()) } Some(ChunkMarkingResult::PreviouslyCompleted) => { @@ -1171,7 +1142,7 @@ impl PeerHandler { let mut g = self.state.locked.write(); g.chunks.mark_piece_downloaded(chunk_info.piece_index); - g.peers.reset_peer_backoff(handle); + self.state.peers.reset_peer_backoff(handle); } debug!("piece={} successfully downloaded and verified", index); @@ -1200,11 +1171,10 @@ impl PeerHandler { } fn disconnect_all_peers_that_have_full_torrent(&self) { - let mut g = self.state.locked.write(); - for (_, peer) in g.peers.states.iter_mut() { - if let PeerState::Live(l) = &peer.state { + for mut pe in self.state.peers.states.iter_mut() { + if let PeerState::Live(l) = &pe.value().state { if l.has_full_torrent(self.state.lengths.total_pieces() as usize) { - let live = peer.state.to_not_needed().unwrap(); + let live = pe.value_mut().state.to_not_needed().unwrap(); let _ = live.tx.send(WriterRequest::Disconnect); } } From adf3eef877064dd0fb14381c4a9f7ff1e8b87f4c Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Sun, 19 Nov 2023 16:25:59 +0000 Subject: [PATCH 10/40] Removed a couple deadlocks --- Cargo.lock | 30 ++ Cargo.toml | 3 +- crates/librqbit/src/torrent_state.rs | 5 + crates/rqbit/Cargo.toml | 1 + crates/rqbit/src/main.rs | 25 ++ deadlock-2023-11-19.txt | 406 +++++++++++++++++++++++++ deadlock-2023-11-19_2.txt | 430 +++++++++++++++++++++++++++ 7 files changed, 899 insertions(+), 1 deletion(-) create mode 100644 deadlock-2023-11-19.txt create mode 100644 deadlock-2023-11-19_2.txt diff --git a/Cargo.lock b/Cargo.lock index 0bc6010..cd0ba23 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -445,6 +445,12 @@ version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" +[[package]] +name = "fixedbitset" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" + [[package]] name = "fnv" version = "1.0.7" @@ -1217,10 +1223,13 @@ version = "0.9.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" dependencies = [ + "backtrace", "cfg-if", "libc", + "petgraph", "redox_syscall", "smallvec", + "thread-id", "windows-targets", ] @@ -1241,6 +1250,16 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" +[[package]] +name = "petgraph" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" +dependencies = [ + "fixedbitset", + "indexmap", +] + [[package]] name = "pin-project" version = "1.1.3" @@ -1469,6 +1488,7 @@ dependencies = [ "futures", "librqbit", "librqbit-dht", + "parking_lot", "parse_duration", "regex", "reqwest", @@ -1797,6 +1817,16 @@ dependencies = [ "syn", ] +[[package]] +name = "thread-id" +version = "4.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0ec81c46e9eb50deaa257be2f148adf052d1fb7701cfd55ccfab2525280b70b" +dependencies = [ + "libc", + "winapi", +] + [[package]] name = "thread_local" version = "1.1.7" diff --git a/Cargo.toml b/Cargo.toml index 09adc48..42dc033 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -15,4 +15,5 @@ members = [ panic = "abort" [profile.release] -panic = "abort" \ No newline at end of file +panic = "abort" +debug = true \ No newline at end of file diff --git a/crates/librqbit/src/torrent_state.rs b/crates/librqbit/src/torrent_state.rs index 6e3b361..6f612d4 100644 --- a/crates/librqbit/src/torrent_state.rs +++ b/crates/librqbit/src/torrent_state.rs @@ -543,6 +543,8 @@ impl TorrentState { } PeerState::Queued | PeerState::Dead | PeerState::NotNeeded => { warn!("bug: peer was in a wrong state, ignoring it forever"); + // Prevent deadlocks. + drop(pe); self.peers.drop_peer(handle); return; } @@ -563,6 +565,9 @@ impl TorrentState { pe.value_mut().state = PeerState::Dead; let backoff = pe.value_mut().stats.backoff.next_backoff(); + // Prevent deadlocks. + drop(pe); + if let Some(dur) = backoff { let state = self.clone(); spawn( diff --git a/crates/rqbit/Cargo.toml b/crates/rqbit/Cargo.toml index f4f58c9..8ea9f1b 100644 --- a/crates/rqbit/Cargo.toml +++ b/crates/rqbit/Cargo.toml @@ -30,6 +30,7 @@ tracing-subscriber = {version = "0.3", features = ["env-filter"]} regex = "1" futures = "0.3" parse_duration = "2" +parking_lot = {version = "0.12", features = ["deadlock_detection"]} reqwest = "0.11" serde = {version = "1", features=["derive"]} serde_json = "1" diff --git a/crates/rqbit/src/main.rs b/crates/rqbit/src/main.rs index f6c2aa1..05b5cfb 100644 --- a/crates/rqbit/src/main.rs +++ b/crates/rqbit/src/main.rs @@ -160,10 +160,35 @@ fn init_logging(opts: &Opts) { .init(); } +fn _start_deadlock_detector_thread() { + use parking_lot::deadlock; + use std::thread; + + // Create a background thread which checks for deadlocks every 10s + thread::spawn(move || loop { + thread::sleep(Duration::from_secs(10)); + let deadlocks = deadlock::check_deadlock(); + if deadlocks.is_empty() { + continue; + } + + println!("{} deadlocks detected", deadlocks.len()); + for (i, threads) in deadlocks.iter().enumerate() { + println!("Deadlock #{}", i); + for t in threads { + println!("Thread Id {:#?}", t.thread_id()); + println!("{:#?}", t.backtrace()); + } + } + std::process::exit(42); + }); +} + fn main() -> anyhow::Result<()> { let opts = Opts::parse(); init_logging(&opts); + // start_deadlock_detector_thread(); let (mut rt_builder, spawner) = match opts.single_thread_runtime { true => ( diff --git a/deadlock-2023-11-19.txt b/deadlock-2023-11-19.txt new file mode 100644 index 0000000..e7c0451 --- /dev/null +++ b/deadlock-2023-11-19.txt @@ -0,0 +1,406 @@ +Analysis of sampling rqbit (pid 39545) every 1 millisecond +Process: rqbit [39545] +Path: /Users/USER/*/rqbit +Load Address: 0x10264c000 +Identifier: rqbit +Version: 0 +Code Type: ARM64 +Platform: macOS +Parent Process: bash [2715] + +Date/Time: 2023-11-19 16:00:58.811 +0000 +Launch Time: 2023-11-19 15:58:49.276 +0000 +OS Version: macOS 14.1 (23B74) +Report Version: 7 +Analysis Tool: /usr/bin/sample + +Physical footprint: 17.4M +Physical footprint (peak): 17.7M +Idle exit: untracked +---- + +Call graph: + 2496 Thread_2473110 DispatchQueue_1: com.apple.main-thread (serial) + + 2496 start (in dyld) + 2360 [0x18bddd0e0] + + 2496 main (in rqbit) + 32 [0x1026b1f08] + + 2496 std::rt::lang_start::h04f5c4882f962a27 (in rqbit) + 44 [0x1026e2a14] rt.rs:166 + + 2496 std::rt::lang_start_internal::hea4720c823b0b053 (in rqbit) + 648 [0x102a363d0] + + 2496 std::rt::lang_start::_$u7b$$u7b$closure$u7d$$u7d$::h3010a9b861ca5a8b (in rqbit) + 24 [0x1026e2a38] rt.rs:167 + + 2496 std::sys_common::backtrace::__rust_begin_short_backtrace::h8d4be33a1de940de (in rqbit) + 12 [0x10272dcd4] backtrace.rs:154 + + 2496 rqbit::main::ha8e14d406850a710 (in rqbit) + 3604 [0x1026a7148] main.rs:196 + + 2496 tokio::runtime::runtime::Runtime::block_on::hdf2b0630853c50c8 (in rqbit) + 484 [0x102732e94] runtime.rs:350 + + 2496 tokio::runtime::park::CachedParkThread::block_on::hfa756e72f4e8a433 (in rqbit) + 248 [0x1026a1420] park.rs:286 + + 2496 (.llvm.1541039607769432884) (in rqbit) + 256 [0x1029aebe4] + + 2496 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + + 2496 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] + 2496 Thread_2473123: tokio-runtime-worker + + 2496 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] + + 2496 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] + + 2496 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x102a42e44] + + 2496 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x1029b9234] + + 2496 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x1029aa300] + + 2496 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x1029ad9dc] + + 2496 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h0309602a53f0123f (in rqbit) + 84 [0x1027a486c] + + 2496 std::panicking::try::hd618da3145605e84 (in rqbit) + 76 [0x1027a11d8] + + 2496 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x1029b24f8] + + 2496 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x1029b0bcc] + + 2496 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x1029b6e8c] + + 2496 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 1964 [0x1029b2d3c] + + 2496 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x1029b33fc] + + 2496 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h21da183bbda8077a (in rqbit) + 120 [0x1027a4a18] + + 2496 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hbeb184dcc28d7bba (in rqbit) + 2960 [0x102795a94] + + 2496 librqbit::torrent_state::TorrentState::reserve_next_needed_piece::h603430c1fbfa17f1 (in rqbit) + 848 [0x102799bd4] + + 2496 parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h9d3b6f14a0167212 (in rqbit) + 720 [0x102a87a78] + + 2496 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + + 2496 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] + 2496 Thread_2473126: tokio-runtime-worker + + 2496 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] + + 2496 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] + + 2496 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x102a42e44] + + 2496 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x1029b9234] + + 2496 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x1029aa300] + + 2496 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x1029ad9dc] + + 2496 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h0309602a53f0123f (in rqbit) + 84 [0x1027a486c] + + 2496 std::panicking::try::hd618da3145605e84 (in rqbit) + 76 [0x1027a11d8] + + 2496 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x1029b24f8] + + 2496 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x1029b0bcc] + + 2496 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x1029b6e8c] + + 2496 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 2816 [0x1029b3090] + + 2496 tokio::runtime::scheduler::multi_thread::worker::Context::park_timeout::hd0502377b834d526 (in rqbit) + 276 [0x1029b380c] + + 2496 tokio::runtime::scheduler::multi_thread::park::Parker::park::h0192ef6876d96010 (in rqbit) + 328 [0x1029ab774] + + 2496 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + + 2496 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] + 2496 Thread_2473127: tokio-runtime-worker + + 2496 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] + + 2496 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] + + 2496 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x102a42e44] + + 2496 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x1029b9234] + + 2496 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x1029aa300] + + 2496 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x1029ad9dc] + + 2496 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h0309602a53f0123f (in rqbit) + 84 [0x1027a486c] + + 2496 std::panicking::try::hd618da3145605e84 (in rqbit) + 76 [0x1027a11d8] + + 2496 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x1029b24f8] + + 2496 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x1029b0bcc] + + 2496 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x1029b6e8c] + + 2496 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 1964 [0x1029b2d3c] + + 2496 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x1029b33fc] + + 2496 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::heb4f8f45b2e96198 (in rqbit) + 124 [0x1027a6150] + + 2496 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h5ac692615a2018f5 (in rqbit) + 6312 [0x102793858] + + 2496 _$LT$tokio..future..poll_fn..PollFn$LT$F$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h65d688d6310f8157 (in rqbit) + 6372 [0x1027c1994] + + 2496 _$LT$librqbit..torrent_state..PeerHandler$u20$as$u20$librqbit..peer_connection..PeerConnectionHandler$GT$::on_received_message::hf53675e40903f8fe (in rqbit) + 4720 [0x10279d73c] + + 2496 parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h9d3b6f14a0167212 (in rqbit) + 720 [0x102a87a78] + + 2496 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + + 2496 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] + 2496 Thread_2473128: tokio-runtime-worker + + 2496 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] + + 2496 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] + + 2496 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x102a42e44] + + 2496 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x1029b9234] + + 2496 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x1029aa300] + + 2496 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x1029ad9dc] + + 2496 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h0309602a53f0123f (in rqbit) + 84 [0x1027a486c] + + 2496 std::panicking::try::hd618da3145605e84 (in rqbit) + 76 [0x1027a11d8] + + 2496 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x1029b24f8] + + 2496 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x1029b0bcc] + + 2496 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x1029b6e8c] + + 2496 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 2364 [0x1029b2ecc] + + 2496 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x1029b33fc] + + 2496 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::heb4f8f45b2e96198 (in rqbit) + 124 [0x1027a6150] + + 2496 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h5ac692615a2018f5 (in rqbit) + 6312 [0x102793858] + + 2496 _$LT$tokio..future..poll_fn..PollFn$LT$F$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h65d688d6310f8157 (in rqbit) + 6372 [0x1027c1994] + + 2496 _$LT$librqbit..torrent_state..PeerHandler$u20$as$u20$librqbit..peer_connection..PeerConnectionHandler$GT$::on_received_message::hf53675e40903f8fe (in rqbit) + 4720 [0x10279d73c] + + 2496 parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h9d3b6f14a0167212 (in rqbit) + 720 [0x102a87a78] + + 2496 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + + 2496 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] + 2496 Thread_2473132 + + 2496 start_wqthread (in libsystem_pthread.dylib) + 8 [0x18c153e30] + + 2496 _pthread_wqthread (in libsystem_pthread.dylib) + 364 [0x18c155160] + + 2496 __workq_kernreturn (in libsystem_kernel.dylib) + 8 [0x18c11a564] + 2496 Thread_2473133: tokio-runtime-worker + + 2496 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] + + 2496 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] + + 2496 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x102a42e44] + + 2496 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x1029b9234] + + 2496 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x1029aa300] + + 2496 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x1029ad9dc] + + 2496 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h0309602a53f0123f (in rqbit) + 84 [0x1027a486c] + + 2496 std::panicking::try::hd618da3145605e84 (in rqbit) + 76 [0x1027a11d8] + + 2496 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x1029b24f8] + + 2496 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x1029b0bcc] + + 2496 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x1029b6e8c] + + 2496 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 2364 [0x1029b2ecc] + + 2496 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x1029b33fc] + + 2496 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::heb4f8f45b2e96198 (in rqbit) + 124 [0x1027a6150] + + 2496 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h5ac692615a2018f5 (in rqbit) + 6312 [0x102793858] + + 2496 _$LT$tokio..future..poll_fn..PollFn$LT$F$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h65d688d6310f8157 (in rqbit) + 6372 [0x1027c1994] + + 2496 _$LT$librqbit..torrent_state..PeerHandler$u20$as$u20$librqbit..peer_connection..PeerConnectionHandler$GT$::on_received_message::hf53675e40903f8fe (in rqbit) + 4720 [0x10279d73c] + + 2496 parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h9d3b6f14a0167212 (in rqbit) + 720 [0x102a87a78] + + 2496 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + + 2496 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] + 2496 Thread_2473134: tokio-runtime-worker + + 2496 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] + + 2496 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] + + 2496 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x102a42e44] + + 2496 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x1029b9234] + + 2496 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x1029aa300] + + 2496 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x1029ad9dc] + + 2496 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h0309602a53f0123f (in rqbit) + 84 [0x1027a486c] + + 2496 std::panicking::try::hd618da3145605e84 (in rqbit) + 76 [0x1027a11d8] + + 2496 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x1029b24f8] + + 2496 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x1029b0bcc] + + 2496 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x1029b6e8c] + + 2496 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 1964 [0x1029b2d3c] + + 2496 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x1029b33fc] + + 2496 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::heb4f8f45b2e96198 (in rqbit) + 124 [0x1027a6150] + + 2496 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h5ac692615a2018f5 (in rqbit) + 6312 [0x102793858] + + 2496 _$LT$tokio..future..poll_fn..PollFn$LT$F$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h65d688d6310f8157 (in rqbit) + 6372 [0x1027c1994] + + 2496 _$LT$librqbit..torrent_state..PeerHandler$u20$as$u20$librqbit..peer_connection..PeerConnectionHandler$GT$::on_received_message::hf53675e40903f8fe (in rqbit) + 10620 [0x10279ee48] + + 2496 librqbit::spawn_utils::BlockingSpawner::spawn_block_in_place::hf8fc1a4ea261bbba (in rqbit) + 300 [0x1027df6ac] + + 2496 (.llvm.5154940439965986783) (in rqbit) + 996 [0x1027e044c] + + 2496 parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h9d3b6f14a0167212 (in rqbit) + 720 [0x102a87a78] + + 2496 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + + 2496 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] + 2496 Thread_2473284: tokio-runtime-worker + + 2496 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] + + 2496 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] + + 2496 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x102a42e44] + + 2496 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x1029b9234] + + 2496 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x1029aa300] + + 2496 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x1029ad9dc] + + 2496 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h0309602a53f0123f (in rqbit) + 84 [0x1027a486c] + + 2496 std::panicking::try::hd618da3145605e84 (in rqbit) + 76 [0x1027a11d8] + + 2496 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x1029b24f8] + + 2496 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x1029b0bcc] + + 2496 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x1029b6e8c] + + 2496 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 2816 [0x1029b3090] + + 2496 tokio::runtime::scheduler::multi_thread::worker::Context::park_timeout::hd0502377b834d526 (in rqbit) + 276 [0x1029b380c] + + 2496 tokio::runtime::scheduler::multi_thread::park::Parker::park::h0192ef6876d96010 (in rqbit) + 328 [0x1029ab774] + + 2496 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + + 2496 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] + 2496 Thread_2473287: tokio-runtime-worker + + 2496 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] + + 2496 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] + + 2496 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x102a42e44] + + 2496 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x1029b9234] + + 2496 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x1029aa300] + + 2496 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x1029ad9dc] + + 2496 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h0309602a53f0123f (in rqbit) + 84 [0x1027a486c] + + 2496 std::panicking::try::hd618da3145605e84 (in rqbit) + 76 [0x1027a11d8] + + 2496 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x1029b24f8] + + 2496 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x1029b0bcc] + + 2496 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x1029b6e8c] + + 2496 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 1964 [0x1029b2d3c] + + 2496 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x1029b33fc] + + 2496 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::heb4f8f45b2e96198 (in rqbit) + 124 [0x1027a6150] + + 2496 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h5ac692615a2018f5 (in rqbit) + 6312 [0x102793858] + + 2496 _$LT$tokio..future..poll_fn..PollFn$LT$F$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h65d688d6310f8157 (in rqbit) + 6372 [0x1027c1994] + + 2496 _$LT$librqbit..torrent_state..PeerHandler$u20$as$u20$librqbit..peer_connection..PeerConnectionHandler$GT$::on_received_message::hf53675e40903f8fe (in rqbit) + 4736 [0x10279d74c] + + 2496 _$LT$dashmap..DashMap$LT$K$C$V$C$S$GT$$u20$as$u20$dashmap..t..Map$LT$K$C$V$C$S$GT$$GT$::_get_mut::h1a7e6edad4697927 (in rqbit) + 588 [0x1027ad4b4] + + 2496 dashmap::lock::RawRwLock::lock_exclusive_slow::h6fe43bf95e5e3917 (in rqbit) + 1168 [0x102a79b60] + + 2496 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + + 2496 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] + 2496 Thread_2473289: tokio-runtime-worker + 2496 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] + 2496 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] + 2496 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x102a42e44] + 2496 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x1029b9234] + 2496 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x1029aa300] + 2496 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x1029ad9dc] + 2496 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h0309602a53f0123f (in rqbit) + 84 [0x1027a486c] + 2496 std::panicking::try::hd618da3145605e84 (in rqbit) + 76 [0x1027a11d8] + 2496 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x1029b24f8] + 2496 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x1029b0bcc] + 2496 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x1029b6e8c] + 2496 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 1964 [0x1029b2d3c] + 2496 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x1029b33fc] + 2496 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::heb4f8f45b2e96198 (in rqbit) + 124 [0x1027a6150] + 2496 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h5ac692615a2018f5 (in rqbit) + 6312 [0x102793858] + 2496 _$LT$tokio..future..poll_fn..PollFn$LT$F$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h65d688d6310f8157 (in rqbit) + 6372 [0x1027c1994] + 2496 _$LT$librqbit..torrent_state..PeerHandler$u20$as$u20$librqbit..peer_connection..PeerConnectionHandler$GT$::on_received_message::hf53675e40903f8fe (in rqbit) + 4720 [0x10279d73c] + 2496 parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h9d3b6f14a0167212 (in rqbit) + 720 [0x102a87a78] + 2496 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + 2496 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] + +Total number in stack (recursive counted multiple, when >=5): + 10 __psynch_cvwait (in libsystem_kernel.dylib) + 0 [0x18c11c0a4] + 10 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + 9 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] + 9 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x1029b9234] + 9 std::panicking::try::hd618da3145605e84 (in rqbit) + 76 [0x1027a11d8] + 9 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x102a42e44] + 9 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x1029aa300] + 9 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] + 9 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x1029ad9dc] + 9 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x1029b0bcc] + 9 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x1029b6e8c] + 9 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x1029b24f8] + 9 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h0309602a53f0123f (in rqbit) + 84 [0x1027a486c] + 7 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x1029b33fc] + 6 _$LT$tokio..future..poll_fn..PollFn$LT$F$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h65d688d6310f8157 (in rqbit) + 6372 [0x1027c1994] + 6 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h5ac692615a2018f5 (in rqbit) + 6312 [0x102793858] + 6 parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h9d3b6f14a0167212 (in rqbit) + 720 [0x102a87a78] + 6 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::heb4f8f45b2e96198 (in rqbit) + 124 [0x1027a6150] + 5 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 1964 [0x1029b2d3c] + +Sort by top of stack, same collapsed (when >= 5): + __psynch_cvwait (in libsystem_kernel.dylib) 24960 + __workq_kernreturn (in libsystem_kernel.dylib) 2496 + +Binary Images: + 0x10264c000 - 0x102bdbfe3 +rqbit (0) /Users/*/rqbit + 0x18bd88000 - 0x18bdd6f08 libobjc.A.dylib (906) <49E2DCB3-F014-3FCF-949B-F5F57B3EF0A8> /usr/lib/libobjc.A.dylib + 0x18bdd7000 - 0x18be6b317 dyld (1.0.0 - 1122.1.2) /usr/lib/dyld + 0x18be6c000 - 0x18be70ff8 libsystem_blocks.dylib (90) /usr/lib/system/libsystem_blocks.dylib + 0x18be71000 - 0x18beb7fff libxpc.dylib (2679.40.6) <212B4ED6-CBB2-33DE-95C0-7F8A405B3EBD> /usr/lib/system/libxpc.dylib + 0x18beb8000 - 0x18bed2fff libsystem_trace.dylib (1481.40.16) <91ECA044-8462-3293-AEEA-183BF841CBA2> /usr/lib/system/libsystem_trace.dylib + 0x18bed3000 - 0x18bf70ff7 libcorecrypto.dylib (1608.40.12) <5258A992-DC2A-3A90-90F1-A64863C450A7> /usr/lib/system/libcorecrypto.dylib + 0x18bf71000 - 0x18bfa7fff libsystem_malloc.dylib (474.0.13) <901200AA-1016-3DAA-8816-5032588ED460> /usr/lib/system/libsystem_malloc.dylib + 0x18bfa8000 - 0x18bfeefff libdispatch.dylib (1462.0.4) /usr/lib/system/libdispatch.dylib + 0x18bfef000 - 0x18bff1fff libsystem_featureflags.dylib (85) <3282C86B-3BD7-353A-AC3E-09BCC631BB1F> /usr/lib/system/libsystem_featureflags.dylib + 0x18bff2000 - 0x18c070ffb libsystem_c.dylib (1583.40.7) /usr/lib/system/libsystem_c.dylib + 0x18c071000 - 0x18c0feff7 libc++.1.dylib (1600.151) <3702EEDE-997D-38E6-A6A1-C08EB22C375B> /usr/lib/libc++.1.dylib + 0x18c0ff000 - 0x18c116fff libc++abi.dylib (1600.151) /usr/lib/libc++abi.dylib + 0x18c117000 - 0x18c151fef libsystem_kernel.dylib (10002.41.9) /usr/lib/system/libsystem_kernel.dylib + 0x18c152000 - 0x18c15eff3 libsystem_pthread.dylib (519) /usr/lib/system/libsystem_pthread.dylib + 0x18c15f000 - 0x18c183fff libdyld.dylib (1122.1.2) /usr/lib/system/libdyld.dylib + 0x18c184000 - 0x18c18affb libsystem_platform.dylib (306.0.1) /usr/lib/system/libsystem_platform.dylib + 0x18c18b000 - 0x18c1b7ffb libsystem_info.dylib (583.0.1) /usr/lib/system/libsystem_info.dylib + 0x18c1b8000 - 0x18c68ffff com.apple.CoreFoundation (6.9 - 2106) <9F046E36-7286-3A6E-A280-699D6E47CFAF> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation + 0x18c690000 - 0x18c942fff com.apple.LaunchServices (1141.1 - 1141.1) <0C46B08C-2AA0-345C-BF3B-44F28B9DBB86> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices + 0x18ca8e000 - 0x18ce17fff libBLAS.dylib (1447) <25959BCE-50A3-3E96-8DB9-C9E15FD822C1> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib + 0x18ce18000 - 0x18cf04ff7 com.apple.Lexicon-framework (1.0 - 134) /System/Library/PrivateFrameworks/Lexicon.framework/Versions/A/Lexicon + 0x18cf05000 - 0x18cf6bff7 libSparse.dylib (123) /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparse.dylib + 0x18cf6c000 - 0x18cffeffb com.apple.SystemConfiguration (1.21 - 1.21) /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration + 0x18cfff000 - 0x18d033ffb libCRFSuite.dylib (52) /usr/lib/libCRFSuite.dylib + 0x18d2e2000 - 0x18df2ffff com.apple.Foundation (6.9 - 2106) <2126FD9A-52CE-3EB2-8640-B57535E073B8> /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation + 0x18df30000 - 0x18e112fff com.apple.LanguageModeling (1.0 - 366.4.1) <8032B2E5-1A2E-341F-9287-14AD8FE4E8A4> /System/Library/PrivateFrameworks/LanguageModeling.framework/Versions/A/LanguageModeling + 0x18ee80000 - 0x18f241fff com.apple.security (7.0 - 61040.41.1) <90771C8F-3085-3511-B628-31A4E990408B> /System/Library/Frameworks/Security.framework/Versions/A/Security + 0x18f242000 - 0x18f4faff7 libicucore.A.dylib (72123.15) <444D2FE1-A09C-369C-BE2E-929350EA2F0E> /usr/lib/libicucore.A.dylib + 0x18f4fb000 - 0x18f505ff7 libsystem_darwin.dylib (1583.40.7) /usr/lib/system/libsystem_darwin.dylib + 0x18f506000 - 0x18f80afff com.apple.CoreServices.CarbonCore (1333 - 1333) <049CCD7B-4151-3816-8FA8-A0BAD75AE69B> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore + 0x18f80b000 - 0x18f84afff com.apple.CoreServicesInternal (505 - 505) <5774EE20-DF1A-330E-A776-AEC79006908C> /System/Library/PrivateFrameworks/CoreServicesInternal.framework/Versions/A/CoreServicesInternal + 0x18f84b000 - 0x18f88bfff com.apple.CSStore (1141.1 - 1141.1) <75A298B2-F273-3922-97E8-94E19D2517CA> /System/Library/PrivateFrameworks/CoreServicesStore.framework/Versions/A/CoreServicesStore + 0x18f88c000 - 0x18f96cfff com.apple.framework.IOKit (2.0.2 - 100065.40.4) <029AEE72-3595-3815-B603-22F4AAA2D06F> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit + 0x18f96d000 - 0x18f97dfff libsystem_notify.dylib (317) /usr/lib/system/libsystem_notify.dylib + 0x1912f5000 - 0x1913bdff7 libboringssl.dylib (480) <1657C102-7B93-3D24-8A87-8E16222EC9EC> /usr/lib/libboringssl.dylib + 0x1913be000 - 0x1913befff libnetwork.dylib (3762.41.2) <93791E09-CE36-37DE-8897-C32FC6D23F84> /usr/lib/libnetwork.dylib + 0x1913bf000 - 0x19178ffff com.apple.CFNetwork (1.0 - 1485) <1179E11A-65ED-33E1-9278-CC4904207F31> /System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork + 0x191790000 - 0x1917a9ff7 libsystem_networkextension.dylib (1838.40.8) <11D8A745-1F2F-3493-872E-C58F13BBD4D2> /usr/lib/system/libsystem_networkextension.dylib + 0x1917aa000 - 0x1917abfff libenergytrace.dylib (23) <9E6D595D-4E2C-3630-A2DA-1E2586FEF628> /usr/lib/libenergytrace.dylib + 0x1917ac000 - 0x19181ffdf libMobileGestalt.dylib (1291.40.8) <952B56CC-68E9-3C78-A816-E44605605DE5> /usr/lib/libMobileGestalt.dylib + 0x191820000 - 0x191837fff libsystem_asl.dylib (398) <9833954F-A010-3492-810A-70F96E17266E> /usr/lib/system/libsystem_asl.dylib + 0x191838000 - 0x191858ffd com.apple.TCC (1.0 - 1) /System/Library/PrivateFrameworks/TCC.framework/Versions/A/TCC + 0x192dd5000 - 0x192deefff com.apple.ProtocolBuffer (1 - 300.21.8.9.2) /System/Library/PrivateFrameworks/ProtocolBuffer.framework/Versions/A/ProtocolBuffer + 0x192def000 - 0x192f8bffb libsqlite3.dylib (349.3) <567CDD63-191D-36E4-959B-7DE47C7AFD7A> /usr/lib/libsqlite3.dylib + 0x193159000 - 0x1931ccfff com.apple.AE (944 - 944) <9A97FC75-CB6D-309B-845E-56C54B72D6A8> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE + 0x1931cd000 - 0x1931d6ffc libdns_services.dylib (2200.40.37.0.1) /usr/lib/libdns_services.dylib + 0x1931d7000 - 0x1931dfff3 libsystem_symptoms.dylib (1848.40.12) /usr/lib/system/libsystem_symptoms.dylib + 0x1931e0000 - 0x193dc4fff com.apple.Network (1.0 - 1) /System/Library/Frameworks/Network.framework/Versions/A/Network + 0x193dc5000 - 0x193df3fff com.apple.analyticsd (1.0 - 1) /System/Library/PrivateFrameworks/CoreAnalytics.framework/Versions/A/CoreAnalytics + 0x193df4000 - 0x193df5fff libDiagnosticMessagesClient.dylib (113) /usr/lib/libDiagnosticMessagesClient.dylib + 0x193df6000 - 0x193e3cfff com.apple.spotlight.metadata.utilities (1.0 - 2274.3) <0E25C3BA-5220-375A-8F05-6415CA45DD40> /System/Library/PrivateFrameworks/MetadataUtilities.framework/Versions/A/MetadataUtilities + 0x193e3d000 - 0x193ed7fff com.apple.Metadata (14.1 - 2274.3) <17D03259-8852-32B4-9B34-BB973F43FEDE> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata + 0x193ed8000 - 0x193ee0ffb com.apple.DiskArbitration (2.7 - 2.7) <4219AEC5-B906-3E12-BA8D-6847F52AFA0F> /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration + 0x193ee1000 - 0x1942c5ff7 com.apple.vImage (8.1 - 584) /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage + 0x19494b000 - 0x19495afff com.apple.OpenDirectory (14.1 - 642) /System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory + 0x19495b000 - 0x19497affb com.apple.CFOpenDirectory (14.1 - 642) /System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory + 0x19497b000 - 0x194987ff7 com.apple.CoreServices.FSEvents (1376 - 1376) <7D24FA70-0DFF-342C-9D88-FCA31213F8F4> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/FSEvents + 0x194988000 - 0x1949b2fff com.apple.coreservices.SharedFileList (225 - 225) /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SharedFileList.framework/Versions/A/SharedFileList + 0x1949b3000 - 0x1949b9fff libapp_launch_measurement.dylib (17) <3A9DDB7F-800F-3788-A6B5-1B5BCC6343E9> /usr/lib/libapp_launch_measurement.dylib + 0x1949ba000 - 0x194a03fff com.apple.CoreAutoLayout (1.0 - 32) /System/Library/PrivateFrameworks/CoreAutoLayout.framework/Versions/A/CoreAutoLayout + 0x194a04000 - 0x194aecffb libxml2.2.dylib (37.8) <236C8BF2-0800-396C-AF03-B5328CAD1FD6> /usr/lib/libxml2.2.dylib + 0x196238000 - 0x196261ff7 libsystem_containermanager.dylib (582.40.2.0.1) <444831B7-DB95-3E3A-8C1C-97E49676B185> /usr/lib/system/libsystem_containermanager.dylib + 0x196262000 - 0x196279fff com.apple.IOSurface (352.0.3 - 352.0.3) <7D9D9E22-C780-3790-BF2B-30FC1A9BF7CB> /System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface + 0x1971b2000 - 0x1971b6fff libsystem_configuration.dylib (1296.40.6) <389249EB-5A9C-362C-985F-6F470280D6F3> /usr/lib/system/libsystem_configuration.dylib + 0x1971b7000 - 0x1971bcff3 libsystem_sandbox.dylib (2169.41.1) <893061BE-F3BD-3696-AC8D-4DA5E7477A20> /usr/lib/system/libsystem_sandbox.dylib + 0x1971bf000 - 0x1971c2fff com.apple.AppleSystemInfo (3.1.5 - 3.1.5) <011F9762-19FD-3500-AF7E-889D3E193FD3> /System/Library/PrivateFrameworks/AppleSystemInfo.framework/Versions/A/AppleSystemInfo + 0x1971c3000 - 0x1971c4fff liblangid.dylib (138) /usr/lib/liblangid.dylib + 0x1971c5000 - 0x1972e0fff com.apple.CoreNLP (1.0 - 313) /System/Library/PrivateFrameworks/CoreNLP.framework/Versions/A/CoreNLP + 0x1972e1000 - 0x1972e6fff com.apple.LinguisticData (1.0 - 483.10) <9E7B9C4C-1E7D-339A-A3A8-A9BB4DCA0255> /System/Library/PrivateFrameworks/LinguisticData.framework/Versions/A/LinguisticData + 0x1972e7000 - 0x197ac1faf libBNNS.dylib (830.40.9.0.1) <65FC5752-9068-3F54-ACC6-C7C2F25A9A33> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBNNS.dylib + 0x197ac2000 - 0x197bb2f47 libvDSP.dylib (1041) <6A43D803-7871-3FDA-AD48-B1C2F1F50930> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib + 0x197bb3000 - 0x197be5fff com.apple.CoreEmoji (1.0 - 200.151) <85D6BBAF-FF34-3AC9-903C-571C45856662> /System/Library/PrivateFrameworks/CoreEmoji.framework/Versions/A/CoreEmoji + 0x197be6000 - 0x197bf5ff7 com.apple.IOMobileFramebuffer (343.0.0 - 343.0.0) <103B98C3-473A-3B24-AC4B-8E5D30062CEF> /System/Library/PrivateFrameworks/IOMobileFramebuffer.framework/Versions/A/IOMobileFramebuffer + 0x197e16000 - 0x197ea3fff com.apple.securityfoundation (6.0 - 55282) <53711520-62D0-336D-8A69-75B2B1155261> /System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation + 0x197ea4000 - 0x197ec9fff com.apple.coreservices.BackgroundTaskManagement (1.0 - 104) <77003297-2742-30A1-9F2B-3CB101228720> /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Versions/A/BackgroundTaskManagement + 0x197ed5000 - 0x197ed7ffb libquarantine.dylib (172.40.1) /usr/lib/system/libquarantine.dylib + 0x197ed8000 - 0x197ee3fff libCheckFix.dylib (32) /usr/lib/libCheckFix.dylib + 0x197ee4000 - 0x197efbfff libcoretls.dylib (186) <9A15527C-37F5-3389-AC30-69372529D496> /usr/lib/libcoretls.dylib + 0x197efc000 - 0x197f0dffb libbsm.0.dylib (89) <17824944-FFBE-32C5-AB4E-E433BA62EF4E> /usr/lib/libbsm.0.dylib + 0x197f0e000 - 0x197f69fff libmecab.dylib (1062.152) /usr/lib/libmecab.dylib + 0x197f6a000 - 0x197f6cffb libgermantok.dylib (29) /usr/lib/libgermantok.dylib + 0x197f6d000 - 0x197f81fff libLinearAlgebra.dylib (1447) <61E860A6-6912-35A8-819C-F1ACDE6C91FF> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLinearAlgebra.dylib + 0x19850a000 - 0x1985cdfdf com.apple.AppleFSCompression (158 - 1.0) <2FC70EFA-CA67-359C-A3E2-88F70403EAEA> /System/Library/PrivateFrameworks/AppleFSCompression.framework/Versions/A/AppleFSCompression + 0x1985ce000 - 0x1985daffb libbz2.1.0.dylib (45) <15785738-C3DB-39BA-9AE9-CC522EABBBA8> /usr/lib/libbz2.1.0.dylib + 0x1985db000 - 0x1985e0fff libsystem_coreservices.dylib (152.1) <26F9E755-26EC-3974-BEC8-3B706D0254BA> /usr/lib/system/libsystem_coreservices.dylib + 0x1985e1000 - 0x198612fff com.apple.CoreServices.OSServices (1141.1 - 1141.1) /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices + 0x1988ee000 - 0x1988fcfff libz.1.dylib (91.40.1.0.1) <7523CDC8-DA6B-382B-8DDC-F63D156A299B> /usr/lib/libz.1.dylib + 0x1988fd000 - 0x198933ff3 libsystem_m.dylib (3252.40.2) <072B3C9C-C54E-3F27-B231-88482F485502> /usr/lib/system/libsystem_m.dylib + 0x198934000 - 0x198937fff libcharset.1.dylib (86) /usr/lib/libcharset.1.dylib + 0x198938000 - 0x19893fffb libmacho.dylib (1009) <29C5FB27-B26B-3927-89C1-917051E5D353> /usr/lib/system/libmacho.dylib + 0x198940000 - 0x19895ffff libkxld.dylib (10002.41.9) <87786C0C-7D78-3B0B-B6B5-6603B8804253> /usr/lib/system/libkxld.dylib + 0x198960000 - 0x19896dff7 libcommonCrypto.dylib (600025) <4CF0B406-031F-3BC7-8A97-61DFA262C179> /usr/lib/system/libcommonCrypto.dylib + 0x19896e000 - 0x198978fff libunwind.dylib (1600.112) <18A7097B-A9D1-34C6-8333-0D16CF789585> /usr/lib/system/libunwind.dylib + 0x198979000 - 0x198980fff liboah.dylib (315.1) /usr/lib/liboah.dylib + 0x198981000 - 0x19898aff3 libcopyfile.dylib (196) /usr/lib/system/libcopyfile.dylib + 0x19898b000 - 0x19898efff libcompiler_rt.dylib (103.1) /usr/lib/system/libcompiler_rt.dylib + 0x19898f000 - 0x198993ffb libsystem_collections.dylib (1583.40.7) <985E00EB-F590-3B07-876A-EFE015DB79EF> /usr/lib/system/libsystem_collections.dylib + 0x198994000 - 0x198996ffb libsystem_secinit.dylib (143) /usr/lib/system/libsystem_secinit.dylib + 0x198997000 - 0x198999ffb libremovefile.dylib (70) /usr/lib/system/libremovefile.dylib + 0x19899a000 - 0x19899affb libkeymgr.dylib (31) /usr/lib/system/libkeymgr.dylib + 0x19899b000 - 0x1989a3ff7 libsystem_dnssd.dylib (2200.40.37.0.1) /usr/lib/system/libsystem_dnssd.dylib + 0x1989a4000 - 0x1989a9fff libcache.dylib (92) <47B56AFF-F15C-3550-B9B6-560806BC20C5> /usr/lib/system/libcache.dylib + 0x1989aa000 - 0x1989abfff libSystem.B.dylib (1336) <1E176743-EDDD-309B-AE12-6369F1A2029B> /usr/lib/libSystem.B.dylib + 0x1989ac000 - 0x1989affff libfakelink.dylib (5) /usr/lib/libfakelink.dylib + 0x1989b0000 - 0x1989b0ffb com.apple.SoftLinking (1.0 - 47) /System/Library/PrivateFrameworks/SoftLinking.framework/Versions/A/SoftLinking + 0x1989b1000 - 0x1989e6ffb libpcap.A.dylib (126.41.1) <494571FE-C8C2-3193-AA67-A17AC286AA4A> /usr/lib/libpcap.A.dylib + 0x1989e7000 - 0x1989edff3 libiconv.2.dylib (86) /usr/lib/libiconv.2.dylib + 0x1989ee000 - 0x1989fffff libcmph.dylib (8) <615CF8F9-9E63-3C31-A888-73A7C48B702B> /usr/lib/libcmph.dylib + 0x198a00000 - 0x198a88ff3 libarchive.2.dylib (121.40.3) <010A91A0-9B78-3798-B1D9-F017104C3EE2> /usr/lib/libarchive.2.dylib + 0x198a89000 - 0x198affff3 com.apple.SearchKit (1.4.1 - 1.4.1) /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit + 0x198b00000 - 0x198b01ff7 libThaiTokenizer.dylib (15) <67E80E6B-32B4-36BF-921C-D5DA2AEC583D> /usr/lib/libThaiTokenizer.dylib + 0x198b02000 - 0x198b27fff com.apple.applesauce (1.0 - 16.55) /System/Library/PrivateFrameworks/AppleSauce.framework/Versions/A/AppleSauce + 0x198b28000 - 0x198b41ffb libapple_nghttp2.dylib (16) /usr/lib/libapple_nghttp2.dylib + 0x198b42000 - 0x198b54fff libSparseBLAS.dylib (1447) /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparseBLAS.dylib + 0x198b57000 - 0x198b5cfff libpam.2.dylib (33) <81CDA9F5-6B0D-300F-B236-BA8141836521> /usr/lib/libpam.2.dylib + 0x198b5d000 - 0x198c2afcf libcompression.dylib (166) <0CAB9E05-BF75-3913-A9E0-1D85226274AC> /usr/lib/libcompression.dylib + 0x198c2b000 - 0x198c2fffb libQuadrature.dylib (7) <41C54DE8-6D6E-3091-AE3C-8F93FAE80BD1> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libQuadrature.dylib + 0x198c30000 - 0x199da1fff libLAPACK.dylib (1447) /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib + 0x199da2000 - 0x199df8fff com.apple.DictionaryServices (1.2 - 355) /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices + 0x199df9000 - 0x199e11ff3 liblzma.5.dylib (18) /usr/lib/liblzma.5.dylib + 0x199e12000 - 0x199e13ffb libcoretls_cfhelpers.dylib (186) /usr/lib/libcoretls_cfhelpers.dylib + 0x199e14000 - 0x199e82ff3 com.apple.APFS (2235.41.1 - 2235.41.1) <1AC37BDF-F264-3A0E-A5AE-0D98174F8095> /System/Library/PrivateFrameworks/APFS.framework/Versions/A/APFS + 0x199e83000 - 0x199e91ffb libxar.1.dylib (498) <22C053D2-5F9A-356A-A3AD-09BD790C6437> /usr/lib/libxar.1.dylib + 0x199e92000 - 0x199e95ff7 libutil.dylib (72) /usr/lib/libutil.dylib + 0x199e96000 - 0x199ec1ff3 libxslt.1.dylib (20.3) <215E57F4-CF08-38D9-921F-5AF522C1159A> /usr/lib/libxslt.1.dylib + 0x199eca000 - 0x199f45fff libvMisc.dylib (1041) <9FEC3CE5-CBA8-3524-83A1-E10C910E101D> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib + 0x19a26a000 - 0x19a274fff libheimdal-asn1.dylib (685) /usr/lib/libheimdal-asn1.dylib + 0x19b968000 - 0x19b9c5ffa libusrtcp.dylib (3762.41.2) <0F6EF57C-DEE8-3D4D-9E33-5F451FF4AFB2> /usr/lib/libusrtcp.dylib + 0x19b9c6000 - 0x19bf05fff libswiftCore.dylib (5.9 - 5.9.0.123.305) <1FCC7DF4-6B2E-3CBA-9125-EB1ED90943F4> /usr/lib/swift/libswiftCore.dylib + 0x19de20000 - 0x19df5cfff com.apple.combine (1.0 - 311) <5E78AE31-70E7-3F20-B41B-F0AD6E39D711> /System/Library/Frameworks/Combine.framework/Versions/A/Combine + 0x19fefa000 - 0x19fefafff com.apple.Accelerate.vecLib (3.11 - vecLib 3.11) <84B9B13D-FDCC-3AE6-8979-4F138842CA34> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib + 0x19ff23000 - 0x19ff23fff com.apple.CoreServices (1226 - 1226) <8A75797D-1FDA-32DA-9E90-07F6CF0E512E> /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices + 0x1a0227000 - 0x1a0227fff com.apple.Accelerate (1.11 - Accelerate 1.11) <02B4577F-7DB2-3A40-8800-656D8D30A763> /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate + 0x1a158a000 - 0x1a15a2ff7 libswiftDispatch.dylib (34.0.2) /usr/lib/swift/libswiftDispatch.dylib + 0x1a3d64000 - 0x1a3d67ff5 libswiftObjectiveC.dylib (8) /usr/lib/swift/libswiftObjectiveC.dylib + 0x1a3d68000 - 0x1a3d80fff libswiftos.dylib (1040) <9B41C748-9156-304D-B221-025E455A9B6D> /usr/lib/swift/libswiftos.dylib + 0x1aea89000 - 0x1aea92ff7 libswiftDarwin.dylib (??? - 5.9.0.123.305) <05D38AAE-B8B9-3AC5-A653-3597E052AC32> /usr/lib/swift/libswiftDarwin.dylib + 0x1b0c92000 - 0x1b0ca5fff libmis.dylib (381) <8AB6E1A0-4242-3689-8B67-59F86F022FE2> /usr/lib/libmis.dylib + 0x1b0cb3000 - 0x1b0cb9fff libswiftCoreFoundation.dylib (2000) /usr/lib/swift/libswiftCoreFoundation.dylib + 0x1b0cc9000 - 0x1b0cfeff7 libswiftXPC.dylib (29.0.2) <9E6314D3-CE1C-3970-8350-26043FCAA913> /usr/lib/swift/libswiftXPC.dylib + 0x1b0d00000 - 0x1b0d00fff libswiftIOKit.dylib (1) /usr/lib/swift/libswiftIOKit.dylib + 0x1c0782000 - 0x1c0789fff com.apple.MobileSystemServices (1.0 - 1) /System/Library/PrivateFrameworks/MobileSystemServices.framework/Versions/A/MobileSystemServices + 0x1f1469000 - 0x1f146cfff com.apple.ConfigProfileHelper (16.1 - 1622) /System/Library/PrivateFrameworks/ConfigProfileHelper.framework/Versions/A/ConfigProfileHelper + 0x1fe70f000 - 0x1fe722fff com.apple.private.AppleMobileFileIntegrity-fmk (1.0 - 1) <8039181A-3E85-3233-B9D9-7563C9E165FD> /System/Library/PrivateFrameworks/AppleMobileFileIntegrity.framework/Versions/A/AppleMobileFileIntegrity + 0x200b03000 - 0x200c61fff com.apple.CollectionsInternal (1.1.0 - 19) <6A16A70E-B3E9-3ECE-9485-2192FF0C1506> /System/Library/PrivateFrameworks/CollectionsInternal.framework/Versions/A/CollectionsInternal + 0x20e5cf000 - 0x20e6a6fff com.apple.InstalledContentLibrary (1.0 - 1.0) <9920C0DA-5FB7-34CF-A15C-3E753F8DF951> /System/Library/PrivateFrameworks/InstalledContentLibrary.framework/Versions/A/InstalledContentLibrary + 0x21030c000 - 0x2107e0ffb com.apple.MIL (5.33 - 5.33.5) /System/Library/PrivateFrameworks/MIL.framework/Versions/A/MIL + 0x211ad9000 - 0x211b23fff com.apple.MessageSecurity (1.0 - 101.40.6) <2F806526-DC8F-3A34-9959-50112A8251D3> /System/Library/PrivateFrameworks/MessageSecurity.framework/Versions/A/MessageSecurity + 0x216646000 - 0x21664cff7 com.apple.ReflectionInternal (1.0.0 - 19) <3CE1C9E3-0652-3F64-BCB5-8EC03A0FFD99> /System/Library/PrivateFrameworks/ReflectionInternal.framework/Versions/A/ReflectionInternal + 0x216c32000 - 0x216c48ff7 com.apple.RuntimeInternal (1.0.0 - 19) <01065A3F-0218-3BAE-8832-1FBF07AD6712> /System/Library/PrivateFrameworks/RuntimeInternal.framework/Versions/A/RuntimeInternal + 0x229daa000 - 0x229db5fff libCoreEntitlements.dylib (53) <73C57354-D94C-3CC2-99F7-06B75FC7DE4A> /usr/lib/libCoreEntitlements.dylib + 0x229f93000 - 0x229f9efff libTLE.dylib (53) <2B0C780B-984D-36DA-938E-7CBE9AA241B2> /usr/lib/libTLE.dylib + 0x22b30c000 - 0x22b36aff3 libswift_Concurrency.dylib (5.9 - 5.9.0.123.305) <044E4103-2CB6-37B9-9F4B-A53237EA4521> /usr/lib/swift/libswift_Concurrency.dylib + 0x22b3a9000 - 0x22b454fff libswift_RegexParser.dylib (??? - 5.9.0.123.305) /usr/lib/swift/libswift_RegexParser.dylib + 0x22b455000 - 0x22b4f5fff libswift_StringProcessing.dylib (??? - 5.9.0.123.305) <97484081-9BDD-3AD8-8554-1C3E3FA349B4> /usr/lib/swift/libswift_StringProcessing.dylib + 0x22b636000 - 0x22b639fff libsystem_darwindirectory.dylib (86.0.2) <8C2C7C2A-F18E-3196-BB40-B4BB95C5BFF9> /usr/lib/system/libsystem_darwindirectory.dylib diff --git a/deadlock-2023-11-19_2.txt b/deadlock-2023-11-19_2.txt new file mode 100644 index 0000000..cf7e29a --- /dev/null +++ b/deadlock-2023-11-19_2.txt @@ -0,0 +1,430 @@ + +Analysis of sampling rqbit (pid 40284) every 1 millisecond +Process: rqbit [40284] +Path: /Users/USER/*/rqbit +Load Address: 0x104158000 +Identifier: rqbit +Version: 0 +Code Type: ARM64 +Platform: macOS +Parent Process: bash [2715] + +Date/Time: 2023-11-19 16:12:53.000 +0000 +Launch Time: 2023-11-19 16:11:06.814 +0000 +OS Version: macOS 14.1 (23B74) +Report Version: 7 +Analysis Tool: /usr/bin/sample + +Physical footprint: 16.1M +Physical footprint (peak): 16.4M +Idle exit: untracked +---- + +Call graph: + 8136 Thread_2482465 DispatchQueue_1: com.apple.main-thread (serial) + + 8136 start (in dyld) + 2360 [0x18bddd0e0] + + 8136 main (in rqbit) + 32 [0x10422279c] + + 8136 std::rt::lang_start::hc92c8460d670427e (in rqbit) + 44 [0x1041ba1c8] rt.rs:166 + + 8136 std::rt::lang_start_internal::hea4720c823b0b053 (in rqbit) + 648 [0x104575c08] + + 8136 std::rt::lang_start::_$u7b$$u7b$closure$u7d$$u7d$::hf04eff045c3204ce (in rqbit) + 24 [0x1041ba1ec] rt.rs:167 + + 8136 std::sys_common::backtrace::__rust_begin_short_backtrace::hc575c434e3c9f843 (in rqbit) + 12 [0x1041ba194] backtrace.rs:154 + + 8136 rqbit::main::hfdee818328ed2d4e (in rqbit) + 3712 [0x10421797c] main.rs:224 + + 8136 tokio::runtime::runtime::Runtime::block_on::h41f524f37dfac32b (in rqbit) + 92 [0x1041940b4] runtime.rs:350 + + 8136 tokio::runtime::context::runtime::enter_runtime::h39290a679d6dea45 (in rqbit) + 380 [0x1041dcbfc] runtime.rs:65 + + 8136 tokio::runtime::park::CachedParkThread::block_on::hd6c99b8d2957d23a (in rqbit) + 248 [0x104211ce4] park.rs:286 + + 8136 (.llvm.1541039607769432884) (in rqbit) + 256 [0x1044bcd18] + + 8136 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + + 8136 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] + 8136 Thread_2482475 + + 8136 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] + + 8136 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] + + 8136 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x104582d00] + + 8136 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h48d697886899fdac (in rqbit) + 104 [0x1042018f4] function.rs:250 + + 8136 std::sys_common::backtrace::__rust_begin_short_backtrace::h46ee465a500d4572 (in rqbit) + 48 [0x1041b9fb8] backtrace.rs:154 + + 8136 std::thread::sleep::ha2ab9f3c2f7e1357 (in rqbit) + 84 [0x104576308] + + 8136 nanosleep (in libsystem_c.dylib) + 220 [0x18bfff2f8] + + 8136 __semwait_signal (in libsystem_kernel.dylib) + 8 [0x18c11bea8] + 8136 Thread_2482476: tokio-runtime-worker + + 8136 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] + + 8136 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] + + 8136 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x104582d00] + + 8136 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x1044c7368] + + 8136 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x1044b8434] + + 8136 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x1044bbb10] + + 8136 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x1042b7e6c] + + 8136 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x1042b9e24] + + 8136 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x1044c062c] + + 8136 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x1044bed00] + + 8136 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x1044c4fc0] + + 8136 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 1964 [0x1044c0e70] + + 8136 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x1044c1530] + + 8136 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c (in rqbit) + 124 [0x1042b70a4] + + 8136 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4 (in rqbit) + 6752 [0x1042a0930] + + 8136 librqbit::torrent_state::TorrentState::on_peer_died::hd142bdb5e66f7a09 (in rqbit) + 3508 [0x1042a781c] + + 8136 _$LT$dashmap..DashMap$LT$K$C$V$C$S$GT$$u20$as$u20$dashmap..t..Map$LT$K$C$V$C$S$GT$$GT$::_remove::h80d9c1783023f014 (in rqbit) + 432 [0x1042e1204] + + 8136 dashmap::lock::RawRwLock::lock_exclusive_slow::hebac357c00faad7e (in rqbit) + 1176 [0x1045b9e60] + + 8136 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + + 8136 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] + 8136 Thread_2482477: tokio-runtime-worker + + 8136 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] + + 8136 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] + + 8136 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x104582d00] + + 8136 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x1044c7368] + + 8136 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x1044b8434] + + 8136 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x1044bbb10] + + 8136 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x1042b7e6c] + + 8136 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x1042b9e24] + + 8136 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x1044c062c] + + 8136 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x1044bed00] + + 8136 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x1044c4fc0] + + 8136 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 1964 [0x1044c0e70] + + 8136 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x1044c1530] + + 8136 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c (in rqbit) + 124 [0x1042b70a4] + + 8136 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4 (in rqbit) + 6752 [0x1042a0930] + + 8136 librqbit::torrent_state::TorrentState::on_peer_died::hd142bdb5e66f7a09 (in rqbit) + 64 [0x1042a6aa8] + + 8136 _$LT$dashmap..DashMap$LT$K$C$V$C$S$GT$$u20$as$u20$dashmap..t..Map$LT$K$C$V$C$S$GT$$GT$::_get_mut::ha163c599d0d0a786 (in rqbit) + 588 [0x1042e1454] + + 8136 dashmap::lock::RawRwLock::lock_exclusive_slow::hebac357c00faad7e (in rqbit) + 1176 [0x1045b9e60] + + 8136 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + + 8136 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] + 8136 Thread_2482479: tokio-runtime-worker + + 8136 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] + + 8136 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] + + 8136 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x104582d00] + + 8136 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x1044c7368] + + 8136 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x1044b8434] + + 8136 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x1044bbb10] + + 8136 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x1042b7e6c] + + 8136 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x1042b9e24] + + 8136 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x1044c062c] + + 8136 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x1044bed00] + + 8136 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x1044c4fc0] + + 8136 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 1964 [0x1044c0e70] + + 8136 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x1044c1530] + + 8136 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c (in rqbit) + 124 [0x1042b70a4] + + 8136 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4 (in rqbit) + 6752 [0x1042a0930] + + 8136 librqbit::torrent_state::TorrentState::on_peer_died::hd142bdb5e66f7a09 (in rqbit) + 3508 [0x1042a781c] + + 8136 _$LT$dashmap..DashMap$LT$K$C$V$C$S$GT$$u20$as$u20$dashmap..t..Map$LT$K$C$V$C$S$GT$$GT$::_remove::h80d9c1783023f014 (in rqbit) + 432 [0x1042e1204] + + 8136 dashmap::lock::RawRwLock::lock_exclusive_slow::hebac357c00faad7e (in rqbit) + 1176 [0x1045b9e60] + + 8136 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + + 8136 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] + 8136 Thread_2482480: tokio-runtime-worker + + 8136 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] + + 8136 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] + + 8136 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x104582d00] + + 8136 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x1044c7368] + + 8136 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x1044b8434] + + 8136 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x1044bbb10] + + 8136 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::ha45a744d0ecf214e (in rqbit) + 168 [0x1044b0954] + + 8136 tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h8b38a0b62ce90d26 (in rqbit) + 204 [0x1044b6efc] + + 8136 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x1044c062c] + + 8136 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x1044bed00] + + 8136 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x1044c4fc0] + + 8136 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 1964 [0x1044c0e70] + + 8136 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x1044c1530] + + 8136 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c (in rqbit) + 124 [0x1042b70a4] + + 8136 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4 (in rqbit) + 6752 [0x1042a0930] + + 8136 librqbit::torrent_state::TorrentState::on_peer_died::hd142bdb5e66f7a09 (in rqbit) + 3508 [0x1042a781c] + + 8136 _$LT$dashmap..DashMap$LT$K$C$V$C$S$GT$$u20$as$u20$dashmap..t..Map$LT$K$C$V$C$S$GT$$GT$::_remove::h80d9c1783023f014 (in rqbit) + 432 [0x1042e1204] + + 8136 dashmap::lock::RawRwLock::lock_exclusive_slow::hebac357c00faad7e (in rqbit) + 1176 [0x1045b9e60] + + 8136 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + + 8136 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] + 8136 Thread_2482481: tokio-runtime-worker + + 8136 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] + + 8136 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] + + 8136 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x104582d00] + + 8136 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x1044c7368] + + 8136 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x1044b8434] + + 8136 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x1044bbb10] + + 8136 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::ha45a744d0ecf214e (in rqbit) + 168 [0x1044b0954] + + 8136 tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h8b38a0b62ce90d26 (in rqbit) + 204 [0x1044b6efc] + + 8136 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x1044c062c] + + 8136 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x1044bed00] + + 8136 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x1044c4fc0] + + 8136 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 1964 [0x1044c0e70] + + 8136 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x1044c1530] + + 8136 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c (in rqbit) + 124 [0x1042b70a4] + + 8136 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4 (in rqbit) + 6752 [0x1042a0930] + + 8136 librqbit::torrent_state::TorrentState::on_peer_died::hd142bdb5e66f7a09 (in rqbit) + 3508 [0x1042a781c] + + 8136 _$LT$dashmap..DashMap$LT$K$C$V$C$S$GT$$u20$as$u20$dashmap..t..Map$LT$K$C$V$C$S$GT$$GT$::_remove::h80d9c1783023f014 (in rqbit) + 432 [0x1042e1204] + + 8136 dashmap::lock::RawRwLock::lock_exclusive_slow::hebac357c00faad7e (in rqbit) + 1176 [0x1045b9e60] + + 8136 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + + 8136 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] + 8136 Thread_2482482: tokio-runtime-worker + + 8136 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] + + 8136 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] + + 8136 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x104582d00] + + 8136 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x1044c7368] + + 8136 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x1044b8434] + + 8136 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x1044bbb10] + + 8136 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::ha45a744d0ecf214e (in rqbit) + 168 [0x1044b0954] + + 8136 tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h8b38a0b62ce90d26 (in rqbit) + 204 [0x1044b6efc] + + 8136 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x1044c062c] + + 8136 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x1044bed00] + + 8136 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x1044c4fc0] + + 8136 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 1964 [0x1044c0e70] + + 8136 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x1044c1530] + + 8136 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c (in rqbit) + 124 [0x1042b70a4] + + 8136 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4 (in rqbit) + 6752 [0x1042a0930] + + 8136 librqbit::torrent_state::TorrentState::on_peer_died::hd142bdb5e66f7a09 (in rqbit) + 3508 [0x1042a781c] + + 8136 _$LT$dashmap..DashMap$LT$K$C$V$C$S$GT$$u20$as$u20$dashmap..t..Map$LT$K$C$V$C$S$GT$$GT$::_remove::h80d9c1783023f014 (in rqbit) + 432 [0x1042e1204] + + 8136 dashmap::lock::RawRwLock::lock_exclusive_slow::hebac357c00faad7e (in rqbit) + 1176 [0x1045b9e60] + + 8136 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + + 8136 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] + 8136 Thread_2482924 + + 8136 start_wqthread (in libsystem_pthread.dylib) + 8 [0x18c153e30] + + 8136 _pthread_wqthread (in libsystem_pthread.dylib) + 364 [0x18c155160] + + 8136 __workq_kernreturn (in libsystem_kernel.dylib) + 8 [0x18c11a564] + 8136 Thread_2483197: tokio-runtime-worker + + 8136 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] + + 8136 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] + + 8136 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x104582d00] + + 8136 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x1044c7368] + + 8136 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x1044b8434] + + 8136 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x1044bbb10] + + 8136 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x1042b7e6c] + + 8136 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x1042b9e24] + + 8136 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x1044c062c] + + 8136 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x1044bed00] + + 8136 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x1044c4fc0] + + 8136 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 1964 [0x1044c0e70] + + 8136 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x1044c1530] + + 8136 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c (in rqbit) + 124 [0x1042b70a4] + + 8136 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4 (in rqbit) + 6752 [0x1042a0930] + + 8136 librqbit::torrent_state::TorrentState::on_peer_died::hd142bdb5e66f7a09 (in rqbit) + 3508 [0x1042a781c] + + 8136 _$LT$dashmap..DashMap$LT$K$C$V$C$S$GT$$u20$as$u20$dashmap..t..Map$LT$K$C$V$C$S$GT$$GT$::_remove::h80d9c1783023f014 (in rqbit) + 432 [0x1042e1204] + + 8136 dashmap::lock::RawRwLock::lock_exclusive_slow::hebac357c00faad7e (in rqbit) + 1176 [0x1045b9e60] + + 8136 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + + 8136 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] + 8136 Thread_2483315: tokio-runtime-worker + + 8136 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] + + 8136 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] + + 8136 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x104582d00] + + 8136 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x1044c7368] + + 8136 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x1044b8434] + + 8136 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x1044bbb10] + + 8136 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x1042b7e6c] + + 8136 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x1042b9e24] + + 8136 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x1044c062c] + + 8136 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x1044bed00] + + 8136 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x1044c4fc0] + + 8136 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 1964 [0x1044c0e70] + + 8136 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x1044c1530] + + 8136 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c (in rqbit) + 124 [0x1042b70a4] + + 8136 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4 (in rqbit) + 6752 [0x1042a0930] + + 8136 librqbit::torrent_state::TorrentState::on_peer_died::hd142bdb5e66f7a09 (in rqbit) + 3508 [0x1042a781c] + + 8136 _$LT$dashmap..DashMap$LT$K$C$V$C$S$GT$$u20$as$u20$dashmap..t..Map$LT$K$C$V$C$S$GT$$GT$::_remove::h80d9c1783023f014 (in rqbit) + 432 [0x1042e1204] + + 8136 dashmap::lock::RawRwLock::lock_exclusive_slow::hebac357c00faad7e (in rqbit) + 1176 [0x1045b9e60] + + 8136 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + + 8136 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] + 8136 Thread_2483316: tokio-runtime-worker + 8136 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] + 8136 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] + 8136 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x104582d00] + 8136 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x1044c7368] + 8136 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x1044b8434] + 8136 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x1044bbb10] + 8136 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x1042b7e6c] + 8136 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x1042b9e24] + 8136 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x1044c062c] + 8136 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x1044bed00] + 8136 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x1044c4fc0] + 8136 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 1964 [0x1044c0e70] + 8136 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x1044c1530] + 8136 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c (in rqbit) + 124 [0x1042b70a4] + 8136 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4 (in rqbit) + 6312 [0x1042a0778] + 8136 _$LT$tokio..future..poll_fn..PollFn$LT$F$GT$$u20$as$u20$core..future..future..Future$GT$::poll::heaf39ed4d1b44001 (in rqbit) + 3200 [0x1042d3e04] + 8136 _$LT$librqbit..torrent_state..PeerHandler$u20$as$u20$librqbit..peer_connection..PeerConnectionHandler$GT$::on_received_message::hd1fafc35289e3666 (in rqbit) + 11020 [0x1042ab4dc] + 8136 librqbit::spawn_utils::BlockingSpawner::spawn_block_in_place::h3348ba79b8e3f9d8 (in rqbit) + 300 [0x1042e63b8] + 8136 (.llvm.8527625197190493895) (in rqbit) + 1148 [0x1042e784c] + 8136 librqbit::torrent_state::TorrentState::maybe_transmit_haves::hec3992192440d10d (in rqbit) + 108 [0x1042a82f4] + 8136 _$LT$dashmap..iter..Iter$LT$K$C$V$C$S$C$M$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$::next::h7229e56710637bab (in rqbit) + 396 [0x1042d8aec] + 8136 dashmap::lock::RawRwLock::lock_shared_slow::h8b82457a9ed265d9 (in rqbit) + 820 [0x1045ba8dc] + 8136 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + 8136 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] + +Total number in stack (recursive counted multiple, when >=5): + 10 __psynch_cvwait (in libsystem_kernel.dylib) + 0 [0x18c11c0a4] + 10 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + 10 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] + 10 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x104582d00] + 10 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] + 9 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x1044c7368] + 9 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x1044b8434] + 9 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x1044bbb10] + 9 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x1044bed00] + 9 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x1044c4fc0] + 9 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 1964 [0x1044c0e70] + 9 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x1044c1530] + 9 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x1044c062c] + 9 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c (in rqbit) + 124 [0x1042b70a4] + 8 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4 (in rqbit) + 6752 [0x1042a0930] + 8 dashmap::lock::RawRwLock::lock_exclusive_slow::hebac357c00faad7e (in rqbit) + 1176 [0x1045b9e60] + 7 _$LT$dashmap..DashMap$LT$K$C$V$C$S$GT$$u20$as$u20$dashmap..t..Map$LT$K$C$V$C$S$GT$$GT$::_remove::h80d9c1783023f014 (in rqbit) + 432 [0x1042e1204] + 7 librqbit::torrent_state::TorrentState::on_peer_died::hd142bdb5e66f7a09 (in rqbit) + 3508 [0x1042a781c] + 6 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x1042b9e24] + 6 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x1042b7e6c] + +Sort by top of stack, same collapsed (when >= 5): + __psynch_cvwait (in libsystem_kernel.dylib) 81360 + __semwait_signal (in libsystem_kernel.dylib) 8136 + __workq_kernreturn (in libsystem_kernel.dylib) 8136 + +Binary Images: + 0x104158000 - 0x104723fc3 +rqbit (0) /Users/*/rqbit + 0x18bd88000 - 0x18bdd6f08 libobjc.A.dylib (906) <49E2DCB3-F014-3FCF-949B-F5F57B3EF0A8> /usr/lib/libobjc.A.dylib + 0x18bdd7000 - 0x18be6b317 dyld (1.0.0 - 1122.1.2) /usr/lib/dyld + 0x18be6c000 - 0x18be70ff8 libsystem_blocks.dylib (90) /usr/lib/system/libsystem_blocks.dylib + 0x18be71000 - 0x18beb7fff libxpc.dylib (2679.40.6) <212B4ED6-CBB2-33DE-95C0-7F8A405B3EBD> /usr/lib/system/libxpc.dylib + 0x18beb8000 - 0x18bed2fff libsystem_trace.dylib (1481.40.16) <91ECA044-8462-3293-AEEA-183BF841CBA2> /usr/lib/system/libsystem_trace.dylib + 0x18bed3000 - 0x18bf70ff7 libcorecrypto.dylib (1608.40.12) <5258A992-DC2A-3A90-90F1-A64863C450A7> /usr/lib/system/libcorecrypto.dylib + 0x18bf71000 - 0x18bfa7fff libsystem_malloc.dylib (474.0.13) <901200AA-1016-3DAA-8816-5032588ED460> /usr/lib/system/libsystem_malloc.dylib + 0x18bfa8000 - 0x18bfeefff libdispatch.dylib (1462.0.4) /usr/lib/system/libdispatch.dylib + 0x18bfef000 - 0x18bff1fff libsystem_featureflags.dylib (85) <3282C86B-3BD7-353A-AC3E-09BCC631BB1F> /usr/lib/system/libsystem_featureflags.dylib + 0x18bff2000 - 0x18c070ffb libsystem_c.dylib (1583.40.7) /usr/lib/system/libsystem_c.dylib + 0x18c071000 - 0x18c0feff7 libc++.1.dylib (1600.151) <3702EEDE-997D-38E6-A6A1-C08EB22C375B> /usr/lib/libc++.1.dylib + 0x18c0ff000 - 0x18c116fff libc++abi.dylib (1600.151) /usr/lib/libc++abi.dylib + 0x18c117000 - 0x18c151fef libsystem_kernel.dylib (10002.41.9) /usr/lib/system/libsystem_kernel.dylib + 0x18c152000 - 0x18c15eff3 libsystem_pthread.dylib (519) /usr/lib/system/libsystem_pthread.dylib + 0x18c15f000 - 0x18c183fff libdyld.dylib (1122.1.2) /usr/lib/system/libdyld.dylib + 0x18c184000 - 0x18c18affb libsystem_platform.dylib (306.0.1) /usr/lib/system/libsystem_platform.dylib + 0x18c18b000 - 0x18c1b7ffb libsystem_info.dylib (583.0.1) /usr/lib/system/libsystem_info.dylib + 0x18c1b8000 - 0x18c68ffff com.apple.CoreFoundation (6.9 - 2106) <9F046E36-7286-3A6E-A280-699D6E47CFAF> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation + 0x18c690000 - 0x18c942fff com.apple.LaunchServices (1141.1 - 1141.1) <0C46B08C-2AA0-345C-BF3B-44F28B9DBB86> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices + 0x18ca8e000 - 0x18ce17fff libBLAS.dylib (1447) <25959BCE-50A3-3E96-8DB9-C9E15FD822C1> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib + 0x18ce18000 - 0x18cf04ff7 com.apple.Lexicon-framework (1.0 - 134) /System/Library/PrivateFrameworks/Lexicon.framework/Versions/A/Lexicon + 0x18cf05000 - 0x18cf6bff7 libSparse.dylib (123) /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparse.dylib + 0x18cf6c000 - 0x18cffeffb com.apple.SystemConfiguration (1.21 - 1.21) /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration + 0x18cfff000 - 0x18d033ffb libCRFSuite.dylib (52) /usr/lib/libCRFSuite.dylib + 0x18d2e2000 - 0x18df2ffff com.apple.Foundation (6.9 - 2106) <2126FD9A-52CE-3EB2-8640-B57535E073B8> /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation + 0x18df30000 - 0x18e112fff com.apple.LanguageModeling (1.0 - 366.4.1) <8032B2E5-1A2E-341F-9287-14AD8FE4E8A4> /System/Library/PrivateFrameworks/LanguageModeling.framework/Versions/A/LanguageModeling + 0x18ee80000 - 0x18f241fff com.apple.security (7.0 - 61040.41.1) <90771C8F-3085-3511-B628-31A4E990408B> /System/Library/Frameworks/Security.framework/Versions/A/Security + 0x18f242000 - 0x18f4faff7 libicucore.A.dylib (72123.15) <444D2FE1-A09C-369C-BE2E-929350EA2F0E> /usr/lib/libicucore.A.dylib + 0x18f4fb000 - 0x18f505ff7 libsystem_darwin.dylib (1583.40.7) /usr/lib/system/libsystem_darwin.dylib + 0x18f506000 - 0x18f80afff com.apple.CoreServices.CarbonCore (1333 - 1333) <049CCD7B-4151-3816-8FA8-A0BAD75AE69B> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore + 0x18f80b000 - 0x18f84afff com.apple.CoreServicesInternal (505 - 505) <5774EE20-DF1A-330E-A776-AEC79006908C> /System/Library/PrivateFrameworks/CoreServicesInternal.framework/Versions/A/CoreServicesInternal + 0x18f84b000 - 0x18f88bfff com.apple.CSStore (1141.1 - 1141.1) <75A298B2-F273-3922-97E8-94E19D2517CA> /System/Library/PrivateFrameworks/CoreServicesStore.framework/Versions/A/CoreServicesStore + 0x18f88c000 - 0x18f96cfff com.apple.framework.IOKit (2.0.2 - 100065.40.4) <029AEE72-3595-3815-B603-22F4AAA2D06F> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit + 0x18f96d000 - 0x18f97dfff libsystem_notify.dylib (317) /usr/lib/system/libsystem_notify.dylib + 0x1912f5000 - 0x1913bdff7 libboringssl.dylib (480) <1657C102-7B93-3D24-8A87-8E16222EC9EC> /usr/lib/libboringssl.dylib + 0x1913be000 - 0x1913befff libnetwork.dylib (3762.41.2) <93791E09-CE36-37DE-8897-C32FC6D23F84> /usr/lib/libnetwork.dylib + 0x1913bf000 - 0x19178ffff com.apple.CFNetwork (1.0 - 1485) <1179E11A-65ED-33E1-9278-CC4904207F31> /System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork + 0x191790000 - 0x1917a9ff7 libsystem_networkextension.dylib (1838.40.8) <11D8A745-1F2F-3493-872E-C58F13BBD4D2> /usr/lib/system/libsystem_networkextension.dylib + 0x1917aa000 - 0x1917abfff libenergytrace.dylib (23) <9E6D595D-4E2C-3630-A2DA-1E2586FEF628> /usr/lib/libenergytrace.dylib + 0x1917ac000 - 0x19181ffdf libMobileGestalt.dylib (1291.40.8) <952B56CC-68E9-3C78-A816-E44605605DE5> /usr/lib/libMobileGestalt.dylib + 0x191820000 - 0x191837fff libsystem_asl.dylib (398) <9833954F-A010-3492-810A-70F96E17266E> /usr/lib/system/libsystem_asl.dylib + 0x191838000 - 0x191858ffd com.apple.TCC (1.0 - 1) /System/Library/PrivateFrameworks/TCC.framework/Versions/A/TCC + 0x192dd5000 - 0x192deefff com.apple.ProtocolBuffer (1 - 300.21.8.9.2) /System/Library/PrivateFrameworks/ProtocolBuffer.framework/Versions/A/ProtocolBuffer + 0x192def000 - 0x192f8bffb libsqlite3.dylib (349.3) <567CDD63-191D-36E4-959B-7DE47C7AFD7A> /usr/lib/libsqlite3.dylib + 0x193159000 - 0x1931ccfff com.apple.AE (944 - 944) <9A97FC75-CB6D-309B-845E-56C54B72D6A8> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE + 0x1931cd000 - 0x1931d6ffc libdns_services.dylib (2200.40.37.0.1) /usr/lib/libdns_services.dylib + 0x1931d7000 - 0x1931dfff3 libsystem_symptoms.dylib (1848.40.12) /usr/lib/system/libsystem_symptoms.dylib + 0x1931e0000 - 0x193dc4fff com.apple.Network (1.0 - 1) /System/Library/Frameworks/Network.framework/Versions/A/Network + 0x193dc5000 - 0x193df3fff com.apple.analyticsd (1.0 - 1) /System/Library/PrivateFrameworks/CoreAnalytics.framework/Versions/A/CoreAnalytics + 0x193df4000 - 0x193df5fff libDiagnosticMessagesClient.dylib (113) /usr/lib/libDiagnosticMessagesClient.dylib + 0x193df6000 - 0x193e3cfff com.apple.spotlight.metadata.utilities (1.0 - 2274.3) <0E25C3BA-5220-375A-8F05-6415CA45DD40> /System/Library/PrivateFrameworks/MetadataUtilities.framework/Versions/A/MetadataUtilities + 0x193e3d000 - 0x193ed7fff com.apple.Metadata (14.1 - 2274.3) <17D03259-8852-32B4-9B34-BB973F43FEDE> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata + 0x193ed8000 - 0x193ee0ffb com.apple.DiskArbitration (2.7 - 2.7) <4219AEC5-B906-3E12-BA8D-6847F52AFA0F> /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration + 0x193ee1000 - 0x1942c5ff7 com.apple.vImage (8.1 - 584) /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage + 0x19494b000 - 0x19495afff com.apple.OpenDirectory (14.1 - 642) /System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory + 0x19495b000 - 0x19497affb com.apple.CFOpenDirectory (14.1 - 642) /System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory + 0x19497b000 - 0x194987ff7 com.apple.CoreServices.FSEvents (1376 - 1376) <7D24FA70-0DFF-342C-9D88-FCA31213F8F4> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/FSEvents + 0x194988000 - 0x1949b2fff com.apple.coreservices.SharedFileList (225 - 225) /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SharedFileList.framework/Versions/A/SharedFileList + 0x1949b3000 - 0x1949b9fff libapp_launch_measurement.dylib (17) <3A9DDB7F-800F-3788-A6B5-1B5BCC6343E9> /usr/lib/libapp_launch_measurement.dylib + 0x1949ba000 - 0x194a03fff com.apple.CoreAutoLayout (1.0 - 32) /System/Library/PrivateFrameworks/CoreAutoLayout.framework/Versions/A/CoreAutoLayout + 0x194a04000 - 0x194aecffb libxml2.2.dylib (37.8) <236C8BF2-0800-396C-AF03-B5328CAD1FD6> /usr/lib/libxml2.2.dylib + 0x196238000 - 0x196261ff7 libsystem_containermanager.dylib (582.40.2.0.1) <444831B7-DB95-3E3A-8C1C-97E49676B185> /usr/lib/system/libsystem_containermanager.dylib + 0x196262000 - 0x196279fff com.apple.IOSurface (352.0.3 - 352.0.3) <7D9D9E22-C780-3790-BF2B-30FC1A9BF7CB> /System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface + 0x1971b2000 - 0x1971b6fff libsystem_configuration.dylib (1296.40.6) <389249EB-5A9C-362C-985F-6F470280D6F3> /usr/lib/system/libsystem_configuration.dylib + 0x1971b7000 - 0x1971bcff3 libsystem_sandbox.dylib (2169.41.1) <893061BE-F3BD-3696-AC8D-4DA5E7477A20> /usr/lib/system/libsystem_sandbox.dylib + 0x1971bf000 - 0x1971c2fff com.apple.AppleSystemInfo (3.1.5 - 3.1.5) <011F9762-19FD-3500-AF7E-889D3E193FD3> /System/Library/PrivateFrameworks/AppleSystemInfo.framework/Versions/A/AppleSystemInfo + 0x1971c3000 - 0x1971c4fff liblangid.dylib (138) /usr/lib/liblangid.dylib + 0x1971c5000 - 0x1972e0fff com.apple.CoreNLP (1.0 - 313) /System/Library/PrivateFrameworks/CoreNLP.framework/Versions/A/CoreNLP + 0x1972e1000 - 0x1972e6fff com.apple.LinguisticData (1.0 - 483.10) <9E7B9C4C-1E7D-339A-A3A8-A9BB4DCA0255> /System/Library/PrivateFrameworks/LinguisticData.framework/Versions/A/LinguisticData + 0x1972e7000 - 0x197ac1faf libBNNS.dylib (830.40.9.0.1) <65FC5752-9068-3F54-ACC6-C7C2F25A9A33> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBNNS.dylib + 0x197ac2000 - 0x197bb2f47 libvDSP.dylib (1041) <6A43D803-7871-3FDA-AD48-B1C2F1F50930> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib + 0x197bb3000 - 0x197be5fff com.apple.CoreEmoji (1.0 - 200.151) <85D6BBAF-FF34-3AC9-903C-571C45856662> /System/Library/PrivateFrameworks/CoreEmoji.framework/Versions/A/CoreEmoji + 0x197be6000 - 0x197bf5ff7 com.apple.IOMobileFramebuffer (343.0.0 - 343.0.0) <103B98C3-473A-3B24-AC4B-8E5D30062CEF> /System/Library/PrivateFrameworks/IOMobileFramebuffer.framework/Versions/A/IOMobileFramebuffer + 0x197e16000 - 0x197ea3fff com.apple.securityfoundation (6.0 - 55282) <53711520-62D0-336D-8A69-75B2B1155261> /System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation + 0x197ea4000 - 0x197ec9fff com.apple.coreservices.BackgroundTaskManagement (1.0 - 104) <77003297-2742-30A1-9F2B-3CB101228720> /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Versions/A/BackgroundTaskManagement + 0x197ed5000 - 0x197ed7ffb libquarantine.dylib (172.40.1) /usr/lib/system/libquarantine.dylib + 0x197ed8000 - 0x197ee3fff libCheckFix.dylib (32) /usr/lib/libCheckFix.dylib + 0x197ee4000 - 0x197efbfff libcoretls.dylib (186) <9A15527C-37F5-3389-AC30-69372529D496> /usr/lib/libcoretls.dylib + 0x197efc000 - 0x197f0dffb libbsm.0.dylib (89) <17824944-FFBE-32C5-AB4E-E433BA62EF4E> /usr/lib/libbsm.0.dylib + 0x197f0e000 - 0x197f69fff libmecab.dylib (1062.152) /usr/lib/libmecab.dylib + 0x197f6a000 - 0x197f6cffb libgermantok.dylib (29) /usr/lib/libgermantok.dylib + 0x197f6d000 - 0x197f81fff libLinearAlgebra.dylib (1447) <61E860A6-6912-35A8-819C-F1ACDE6C91FF> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLinearAlgebra.dylib + 0x19850a000 - 0x1985cdfdf com.apple.AppleFSCompression (158 - 1.0) <2FC70EFA-CA67-359C-A3E2-88F70403EAEA> /System/Library/PrivateFrameworks/AppleFSCompression.framework/Versions/A/AppleFSCompression + 0x1985ce000 - 0x1985daffb libbz2.1.0.dylib (45) <15785738-C3DB-39BA-9AE9-CC522EABBBA8> /usr/lib/libbz2.1.0.dylib + 0x1985db000 - 0x1985e0fff libsystem_coreservices.dylib (152.1) <26F9E755-26EC-3974-BEC8-3B706D0254BA> /usr/lib/system/libsystem_coreservices.dylib + 0x1985e1000 - 0x198612fff com.apple.CoreServices.OSServices (1141.1 - 1141.1) /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices + 0x1988ee000 - 0x1988fcfff libz.1.dylib (91.40.1.0.1) <7523CDC8-DA6B-382B-8DDC-F63D156A299B> /usr/lib/libz.1.dylib + 0x1988fd000 - 0x198933ff3 libsystem_m.dylib (3252.40.2) <072B3C9C-C54E-3F27-B231-88482F485502> /usr/lib/system/libsystem_m.dylib + 0x198934000 - 0x198937fff libcharset.1.dylib (86) /usr/lib/libcharset.1.dylib + 0x198938000 - 0x19893fffb libmacho.dylib (1009) <29C5FB27-B26B-3927-89C1-917051E5D353> /usr/lib/system/libmacho.dylib + 0x198940000 - 0x19895ffff libkxld.dylib (10002.41.9) <87786C0C-7D78-3B0B-B6B5-6603B8804253> /usr/lib/system/libkxld.dylib + 0x198960000 - 0x19896dff7 libcommonCrypto.dylib (600025) <4CF0B406-031F-3BC7-8A97-61DFA262C179> /usr/lib/system/libcommonCrypto.dylib + 0x19896e000 - 0x198978fff libunwind.dylib (1600.112) <18A7097B-A9D1-34C6-8333-0D16CF789585> /usr/lib/system/libunwind.dylib + 0x198979000 - 0x198980fff liboah.dylib (315.1) /usr/lib/liboah.dylib + 0x198981000 - 0x19898aff3 libcopyfile.dylib (196) /usr/lib/system/libcopyfile.dylib + 0x19898b000 - 0x19898efff libcompiler_rt.dylib (103.1) /usr/lib/system/libcompiler_rt.dylib + 0x19898f000 - 0x198993ffb libsystem_collections.dylib (1583.40.7) <985E00EB-F590-3B07-876A-EFE015DB79EF> /usr/lib/system/libsystem_collections.dylib + 0x198994000 - 0x198996ffb libsystem_secinit.dylib (143) /usr/lib/system/libsystem_secinit.dylib + 0x198997000 - 0x198999ffb libremovefile.dylib (70) /usr/lib/system/libremovefile.dylib + 0x19899a000 - 0x19899affb libkeymgr.dylib (31) /usr/lib/system/libkeymgr.dylib + 0x19899b000 - 0x1989a3ff7 libsystem_dnssd.dylib (2200.40.37.0.1) /usr/lib/system/libsystem_dnssd.dylib + 0x1989a4000 - 0x1989a9fff libcache.dylib (92) <47B56AFF-F15C-3550-B9B6-560806BC20C5> /usr/lib/system/libcache.dylib + 0x1989aa000 - 0x1989abfff libSystem.B.dylib (1336) <1E176743-EDDD-309B-AE12-6369F1A2029B> /usr/lib/libSystem.B.dylib + 0x1989ac000 - 0x1989affff libfakelink.dylib (5) /usr/lib/libfakelink.dylib + 0x1989b0000 - 0x1989b0ffb com.apple.SoftLinking (1.0 - 47) /System/Library/PrivateFrameworks/SoftLinking.framework/Versions/A/SoftLinking + 0x1989b1000 - 0x1989e6ffb libpcap.A.dylib (126.41.1) <494571FE-C8C2-3193-AA67-A17AC286AA4A> /usr/lib/libpcap.A.dylib + 0x1989e7000 - 0x1989edff3 libiconv.2.dylib (86) /usr/lib/libiconv.2.dylib + 0x1989ee000 - 0x1989fffff libcmph.dylib (8) <615CF8F9-9E63-3C31-A888-73A7C48B702B> /usr/lib/libcmph.dylib + 0x198a00000 - 0x198a88ff3 libarchive.2.dylib (121.40.3) <010A91A0-9B78-3798-B1D9-F017104C3EE2> /usr/lib/libarchive.2.dylib + 0x198a89000 - 0x198affff3 com.apple.SearchKit (1.4.1 - 1.4.1) /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit + 0x198b00000 - 0x198b01ff7 libThaiTokenizer.dylib (15) <67E80E6B-32B4-36BF-921C-D5DA2AEC583D> /usr/lib/libThaiTokenizer.dylib + 0x198b02000 - 0x198b27fff com.apple.applesauce (1.0 - 16.55) /System/Library/PrivateFrameworks/AppleSauce.framework/Versions/A/AppleSauce + 0x198b28000 - 0x198b41ffb libapple_nghttp2.dylib (16) /usr/lib/libapple_nghttp2.dylib + 0x198b42000 - 0x198b54fff libSparseBLAS.dylib (1447) /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparseBLAS.dylib + 0x198b57000 - 0x198b5cfff libpam.2.dylib (33) <81CDA9F5-6B0D-300F-B236-BA8141836521> /usr/lib/libpam.2.dylib + 0x198b5d000 - 0x198c2afcf libcompression.dylib (166) <0CAB9E05-BF75-3913-A9E0-1D85226274AC> /usr/lib/libcompression.dylib + 0x198c2b000 - 0x198c2fffb libQuadrature.dylib (7) <41C54DE8-6D6E-3091-AE3C-8F93FAE80BD1> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libQuadrature.dylib + 0x198c30000 - 0x199da1fff libLAPACK.dylib (1447) /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib + 0x199da2000 - 0x199df8fff com.apple.DictionaryServices (1.2 - 355) /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices + 0x199df9000 - 0x199e11ff3 liblzma.5.dylib (18) /usr/lib/liblzma.5.dylib + 0x199e12000 - 0x199e13ffb libcoretls_cfhelpers.dylib (186) /usr/lib/libcoretls_cfhelpers.dylib + 0x199e14000 - 0x199e82ff3 com.apple.APFS (2235.41.1 - 2235.41.1) <1AC37BDF-F264-3A0E-A5AE-0D98174F8095> /System/Library/PrivateFrameworks/APFS.framework/Versions/A/APFS + 0x199e83000 - 0x199e91ffb libxar.1.dylib (498) <22C053D2-5F9A-356A-A3AD-09BD790C6437> /usr/lib/libxar.1.dylib + 0x199e92000 - 0x199e95ff7 libutil.dylib (72) /usr/lib/libutil.dylib + 0x199e96000 - 0x199ec1ff3 libxslt.1.dylib (20.3) <215E57F4-CF08-38D9-921F-5AF522C1159A> /usr/lib/libxslt.1.dylib + 0x199eca000 - 0x199f45fff libvMisc.dylib (1041) <9FEC3CE5-CBA8-3524-83A1-E10C910E101D> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib + 0x19a26a000 - 0x19a274fff libheimdal-asn1.dylib (685) /usr/lib/libheimdal-asn1.dylib + 0x19b968000 - 0x19b9c5ffa libusrtcp.dylib (3762.41.2) <0F6EF57C-DEE8-3D4D-9E33-5F451FF4AFB2> /usr/lib/libusrtcp.dylib + 0x19b9c6000 - 0x19bf05fff libswiftCore.dylib (5.9 - 5.9.0.123.305) <1FCC7DF4-6B2E-3CBA-9125-EB1ED90943F4> /usr/lib/swift/libswiftCore.dylib + 0x19de20000 - 0x19df5cfff com.apple.combine (1.0 - 311) <5E78AE31-70E7-3F20-B41B-F0AD6E39D711> /System/Library/Frameworks/Combine.framework/Versions/A/Combine + 0x19fefa000 - 0x19fefafff com.apple.Accelerate.vecLib (3.11 - vecLib 3.11) <84B9B13D-FDCC-3AE6-8979-4F138842CA34> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib + 0x19ff23000 - 0x19ff23fff com.apple.CoreServices (1226 - 1226) <8A75797D-1FDA-32DA-9E90-07F6CF0E512E> /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices + 0x1a0227000 - 0x1a0227fff com.apple.Accelerate (1.11 - Accelerate 1.11) <02B4577F-7DB2-3A40-8800-656D8D30A763> /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate + 0x1a158a000 - 0x1a15a2ff7 libswiftDispatch.dylib (34.0.2) /usr/lib/swift/libswiftDispatch.dylib + 0x1a3d64000 - 0x1a3d67ff5 libswiftObjectiveC.dylib (8) /usr/lib/swift/libswiftObjectiveC.dylib + 0x1a3d68000 - 0x1a3d80fff libswiftos.dylib (1040) <9B41C748-9156-304D-B221-025E455A9B6D> /usr/lib/swift/libswiftos.dylib + 0x1aea89000 - 0x1aea92ff7 libswiftDarwin.dylib (??? - 5.9.0.123.305) <05D38AAE-B8B9-3AC5-A653-3597E052AC32> /usr/lib/swift/libswiftDarwin.dylib + 0x1b0c92000 - 0x1b0ca5fff libmis.dylib (381) <8AB6E1A0-4242-3689-8B67-59F86F022FE2> /usr/lib/libmis.dylib + 0x1b0cb3000 - 0x1b0cb9fff libswiftCoreFoundation.dylib (2000) /usr/lib/swift/libswiftCoreFoundation.dylib + 0x1b0cc9000 - 0x1b0cfeff7 libswiftXPC.dylib (29.0.2) <9E6314D3-CE1C-3970-8350-26043FCAA913> /usr/lib/swift/libswiftXPC.dylib + 0x1b0d00000 - 0x1b0d00fff libswiftIOKit.dylib (1) /usr/lib/swift/libswiftIOKit.dylib + 0x1c0782000 - 0x1c0789fff com.apple.MobileSystemServices (1.0 - 1) /System/Library/PrivateFrameworks/MobileSystemServices.framework/Versions/A/MobileSystemServices + 0x1f1469000 - 0x1f146cfff com.apple.ConfigProfileHelper (16.1 - 1622) /System/Library/PrivateFrameworks/ConfigProfileHelper.framework/Versions/A/ConfigProfileHelper + 0x1fe70f000 - 0x1fe722fff com.apple.private.AppleMobileFileIntegrity-fmk (1.0 - 1) <8039181A-3E85-3233-B9D9-7563C9E165FD> /System/Library/PrivateFrameworks/AppleMobileFileIntegrity.framework/Versions/A/AppleMobileFileIntegrity + 0x200b03000 - 0x200c61fff com.apple.CollectionsInternal (1.1.0 - 19) <6A16A70E-B3E9-3ECE-9485-2192FF0C1506> /System/Library/PrivateFrameworks/CollectionsInternal.framework/Versions/A/CollectionsInternal + 0x20e5cf000 - 0x20e6a6fff com.apple.InstalledContentLibrary (1.0 - 1.0) <9920C0DA-5FB7-34CF-A15C-3E753F8DF951> /System/Library/PrivateFrameworks/InstalledContentLibrary.framework/Versions/A/InstalledContentLibrary + 0x21030c000 - 0x2107e0ffb com.apple.MIL (5.33 - 5.33.5) /System/Library/PrivateFrameworks/MIL.framework/Versions/A/MIL + 0x211ad9000 - 0x211b23fff com.apple.MessageSecurity (1.0 - 101.40.6) <2F806526-DC8F-3A34-9959-50112A8251D3> /System/Library/PrivateFrameworks/MessageSecurity.framework/Versions/A/MessageSecurity + 0x216646000 - 0x21664cff7 com.apple.ReflectionInternal (1.0.0 - 19) <3CE1C9E3-0652-3F64-BCB5-8EC03A0FFD99> /System/Library/PrivateFrameworks/ReflectionInternal.framework/Versions/A/ReflectionInternal + 0x216c32000 - 0x216c48ff7 com.apple.RuntimeInternal (1.0.0 - 19) <01065A3F-0218-3BAE-8832-1FBF07AD6712> /System/Library/PrivateFrameworks/RuntimeInternal.framework/Versions/A/RuntimeInternal + 0x229daa000 - 0x229db5fff libCoreEntitlements.dylib (53) <73C57354-D94C-3CC2-99F7-06B75FC7DE4A> /usr/lib/libCoreEntitlements.dylib + 0x229f93000 - 0x229f9efff libTLE.dylib (53) <2B0C780B-984D-36DA-938E-7CBE9AA241B2> /usr/lib/libTLE.dylib + 0x22b30c000 - 0x22b36aff3 libswift_Concurrency.dylib (5.9 - 5.9.0.123.305) <044E4103-2CB6-37B9-9F4B-A53237EA4521> /usr/lib/swift/libswift_Concurrency.dylib + 0x22b3a9000 - 0x22b454fff libswift_RegexParser.dylib (??? - 5.9.0.123.305) /usr/lib/swift/libswift_RegexParser.dylib + 0x22b455000 - 0x22b4f5fff libswift_StringProcessing.dylib (??? - 5.9.0.123.305) <97484081-9BDD-3AD8-8554-1C3E3FA349B4> /usr/lib/swift/libswift_StringProcessing.dylib + 0x22b636000 - 0x22b639fff libsystem_darwindirectory.dylib (86.0.2) <8C2C7C2A-F18E-3196-BB40-B4BB95C5BFF9> /usr/lib/system/libsystem_darwindirectory.dylib + From 19c3fd70ff62d6654a03e955261deef20993b336 Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Sun, 19 Nov 2023 16:30:56 +0000 Subject: [PATCH 11/40] Uninline some methods for easier backtrace debugging --- crates/librqbit/src/torrent_state.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/crates/librqbit/src/torrent_state.rs b/crates/librqbit/src/torrent_state.rs index 6f612d4..bf6cce4 100644 --- a/crates/librqbit/src/torrent_state.rs +++ b/crates/librqbit/src/torrent_state.rs @@ -790,6 +790,7 @@ impl PeerConnectionHandler for PeerHandler { } impl PeerHandler { + #[inline(never)] fn on_download_request(&self, peer_handle: PeerHandle, request: Request) -> anyhow::Result<()> { let piece_index = match self.state.lengths.validate_piece_index(request.index) { Some(p) => p, @@ -837,6 +838,7 @@ impl PeerHandler { Ok::<_, anyhow::Error>(tx.send(request)?) } + #[inline(never)] fn on_have(&self, handle: PeerHandle, have: u32) { self.state.peers.with_live_mut(handle, |live| { if let Some(bitfield) = live.bitfield.as_mut() { @@ -846,6 +848,7 @@ impl PeerHandler { }); } + #[inline(never)] fn on_bitfield(&self, handle: PeerHandle, bitfield: ByteString) -> anyhow::Result<()> { if bitfield.len() != self.state.lengths.piece_bitfield_bytes() { anyhow::bail!( @@ -893,11 +896,13 @@ impl PeerHandler { Ok::<_, anyhow::Error>(()) } + #[inline(never)] fn on_i_am_choked(&self, handle: PeerHandle) { debug!("we are choked"); self.state.peers.mark_i_am_choked(handle, true); } + #[inline(never)] fn on_peer_interested(&self, handle: PeerHandle) { debug!("peer is interested"); self.state.peers.mark_peer_interested(handle, true); @@ -1025,6 +1030,7 @@ impl PeerHandler { Ok(()) } + #[inline(never)] fn on_i_am_unchoked(&self, handle: PeerHandle) { debug!("we are unchoked"); self.state.peers.with_live_mut(handle, |live| { @@ -1034,6 +1040,7 @@ impl PeerHandler { }); } + #[inline(never)] fn on_received_piece(&self, handle: PeerHandle, piece: Piece) -> anyhow::Result<()> { let chunk_info = match self.state.lengths.chunk_info_from_received_piece( piece.index, From 2b842024c04c71afe6d818f36edfe88acf6c7a99 Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Sun, 19 Nov 2023 18:15:18 +0000 Subject: [PATCH 12/40] Debugged one more deadlock (or it was the same one) --- crates/librqbit/src/torrent_state.rs | 51 ++-- deadlock_3.txt | 384 ++++++++++++++++++++++++++ deadlock_4.txt | 389 +++++++++++++++++++++++++++ deadlock_5.txt | 271 +++++++++++++++++++ 4 files changed, 1072 insertions(+), 23 deletions(-) create mode 100644 deadlock_3.txt create mode 100644 deadlock_4.txt create mode 100644 deadlock_5.txt diff --git a/crates/librqbit/src/torrent_state.rs b/crates/librqbit/src/torrent_state.rs index bf6cce4..553a5f1 100644 --- a/crates/librqbit/src/torrent_state.rs +++ b/crates/librqbit/src/torrent_state.rs @@ -1,6 +1,11 @@ // The main logic of rqbit is here - connecting to peers, reading and writing messages // to them, tracking peer state etc. +// NOTE: deadlock notice: +// peers and stateLocked are behind 2 different locks. +// if you lock them in different order, this may deadlock. +// so always lock the peers one first, and unlock it before stateLocked is locked. + use std::{ collections::HashMap, fs::File, @@ -427,6 +432,7 @@ impl TorrentState { } fn reserve_next_needed_piece(&self, peer_handle: PeerHandle) -> Option { + // TODO: locking one inside the other in different order results in deadlocks. self.peers .with_live_mut(peer_handle, |live| { if live.i_am_choked { @@ -1053,8 +1059,6 @@ impl PeerHandler { } }; - let mut g = self.state.locked.write(); - self.state .peers .with_live_mut(handle, |h| { @@ -1079,30 +1083,31 @@ impl PeerHandler { }) .context("peer not found")??; - let full_piece_download_time = match g.chunks.mark_chunk_downloaded(&piece) { - Some(ChunkMarkingResult::Completed) => { - debug!("piece={} done, will write and checksum", piece.index,); - // This will prevent others from stealing it. - g.remove_inflight_piece(chunk_info.piece_index) - .map(|t| t.started.elapsed()) - } - Some(ChunkMarkingResult::PreviouslyCompleted) => { - // TODO: we might need to send cancellations here. - debug!("piece={} was done by someone else, ignoring", piece.index,); - return Ok(()); - } - Some(ChunkMarkingResult::NotCompleted) => None, - None => { - anyhow::bail!( - "bogus data received: {:?}, cannot map this to a chunk, dropping peer", - piece - ); + let full_piece_download_time = { + let mut g = self.state.locked.write(); + + match g.chunks.mark_chunk_downloaded(&piece) { + Some(ChunkMarkingResult::Completed) => { + debug!("piece={} done, will write and checksum", piece.index,); + // This will prevent others from stealing it. + g.remove_inflight_piece(chunk_info.piece_index) + .map(|t| t.started.elapsed()) + } + Some(ChunkMarkingResult::PreviouslyCompleted) => { + // TODO: we might need to send cancellations here. + debug!("piece={} was done by someone else, ignoring", piece.index,); + return Ok(()); + } + Some(ChunkMarkingResult::NotCompleted) => None, + None => { + anyhow::bail!( + "bogus data received: {:?}, cannot map this to a chunk, dropping peer", + piece + ); + } } }; - // to prevent deadlocks. - drop(g); - self.spawner .spawn_block_in_place(move || { let index = piece.index; diff --git a/deadlock_3.txt b/deadlock_3.txt new file mode 100644 index 0000000..f73f069 --- /dev/null +++ b/deadlock_3.txt @@ -0,0 +1,384 @@ + +Analysis of sampling rqbit (pid 41436) every 1 millisecond +Process: rqbit [41436] +Path: /Users/USER/*/rqbit +Load Address: 0x1046f8000 +Identifier: rqbit +Version: 0 +Code Type: ARM64 +Platform: macOS +Parent Process: bash [2715] + +Date/Time: 2023-11-19 17:00:11.343 +0000 +Launch Time: 2023-11-19 16:58:26.196 +0000 +OS Version: macOS 14.1 (23B74) +Report Version: 7 +Analysis Tool: /usr/bin/sample + +Physical footprint: 18.0M +Physical footprint (peak): 18.8M +Idle exit: untracked +---- + +Call graph: + 8187 Thread_2499321 DispatchQueue_1: com.apple.main-thread (serial) + + 8187 start (in dyld) + 2360 [0x18bddd0e0] + + 8187 main (in rqbit) + 32 [0x104790d10] + + 8187 std::rt::lang_start::hc92c8460d670427e (in rqbit) + 44 [0x1047d8260] rt.rs:166 + + 8187 std::rt::lang_start_internal::hea4720c823b0b053 (in rqbit) + 648 [0x104b0d8d0] + + 8187 std::rt::lang_start::_$u7b$$u7b$closure$u7d$$u7d$::hf04eff045c3204ce (in rqbit) + 24 [0x1047d8284] rt.rs:167 + + 8187 std::sys_common::backtrace::__rust_begin_short_backtrace::hc575c434e3c9f843 (in rqbit) + 12 [0x104756330] backtrace.rs:154 + + 8187 rqbit::main::hfdee818328ed2d4e (in rqbit) + 3604 [0x104785f50] main.rs:221 + + 8187 tokio::runtime::runtime::Runtime::block_on::h41f524f37dfac32b (in rqbit) + 484 [0x1047e8fbc] runtime.rs:350 + + 8187 tokio::runtime::park::CachedParkThread::block_on::hd6c99b8d2957d23a (in rqbit) + 248 [0x10478011c] park.rs:286 + + 8187 (.llvm.1541039607769432884) (in rqbit) + 256 [0x104a5df08] + + 8187 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + + 8187 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] + 8187 Thread_2499334: tokio-runtime-worker + + 8187 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] + + 8187 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] + + 8187 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x104b1a654] + + 8187 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x104a68558] + + 8187 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x104a59624] + + 8187 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x104a5cd00] + + 8187 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x10485927c] + + 8187 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x10485b234] + + 8187 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x104a6181c] + + 8187 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x104a5fef0] + + 8187 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x104a661b0] + + 8187 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 1964 [0x104a62060] + + 8187 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x104a62720] + + 8187 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c (in rqbit) + 124 [0x1048584b4] + + 8187 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4 (in rqbit) + 6312 [0x104841910] + + 8187 _$LT$tokio..future..poll_fn..PollFn$LT$F$GT$$u20$as$u20$core..future..future..Future$GT$::poll::heaf39ed4d1b44001 (in rqbit) + 3200 [0x1048752cc] + + 8187 _$LT$librqbit..torrent_state..PeerHandler$u20$as$u20$librqbit..peer_connection..PeerConnectionHandler$GT$::on_received_message::hd1fafc35289e3666 (in rqbit) + 996 [0x104849f8c] + + 8187 librqbit::torrent_state::PeerHandler::on_received_piece::hf3408148458b4a03 (in rqbit) + 956 [0x10484d638] + + 8187 parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h836aa47d9a7a9313 (in rqbit) + 724 [0x104b5f348] + + 8187 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + + 8187 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] + 8187 Thread_2499336: tokio-runtime-worker + + 8187 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] + + 8187 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] + + 8187 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x104b1a654] + + 8187 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x104a68558] + + 8187 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x104a59624] + + 8187 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x104a5cd00] + + 8187 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x10485927c] + + 8187 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x10485b234] + + 8187 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x104a6181c] + + 8187 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x104a5fef0] + + 8187 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x104a661b0] + + 8187 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 2816 [0x104a623b4] + + 8187 tokio::runtime::scheduler::multi_thread::worker::Context::park_timeout::hd0502377b834d526 (in rqbit) + 276 [0x104a62b30] + + 8187 tokio::runtime::scheduler::multi_thread::park::Parker::park::h0192ef6876d96010 (in rqbit) + 328 [0x104a5aa98] + + 8187 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + + 8187 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] + 8187 Thread_2499337: tokio-runtime-worker + + 8187 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] + + 8187 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] + + 8187 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x104b1a654] + + 8187 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x104a68558] + + 8187 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x104a59624] + + 8187 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x104a5cd00] + + 8187 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x10485927c] + + 8187 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x10485b234] + + 8187 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x104a6181c] + + 8187 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x104a5fef0] + + 8187 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x104a661b0] + + 8187 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 2816 [0x104a623b4] + + 8187 tokio::runtime::scheduler::multi_thread::worker::Context::park_timeout::hd0502377b834d526 (in rqbit) + 276 [0x104a62b30] + + 8187 tokio::runtime::scheduler::multi_thread::park::Parker::park::h0192ef6876d96010 (in rqbit) + 328 [0x104a5aa98] + + 8187 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + + 8187 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] + 8187 Thread_2499338: tokio-runtime-worker + + 8187 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] + + 8187 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] + + 8187 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x104b1a654] + + 8187 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x104a68558] + + 8187 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x104a59624] + + 8187 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x104a5cd00] + + 8187 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x10485927c] + + 8187 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x10485b234] + + 8187 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x104a6181c] + + 8187 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x104a5fef0] + + 8187 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x104a661b0] + + 8187 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 2816 [0x104a623b4] + + 8187 tokio::runtime::scheduler::multi_thread::worker::Context::park_timeout::hd0502377b834d526 (in rqbit) + 276 [0x104a62b30] + + 8187 tokio::runtime::scheduler::multi_thread::park::Parker::park::h0192ef6876d96010 (in rqbit) + 328 [0x104a5aa98] + + 8187 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + + 8187 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] + 8187 Thread_2499344: tokio-runtime-worker + + 8187 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] + + 8187 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] + + 8187 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x104b1a654] + + 8187 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x104a68558] + + 8187 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x104a59624] + + 8187 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x104a5cd00] + + 8187 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x10485927c] + + 8187 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x10485b234] + + 8187 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x104a6181c] + + 8187 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x104a5fef0] + + 8187 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x104a661b0] + + 8187 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 1964 [0x104a62060] + + 8187 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x104a62720] + + 8187 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::hb33feb246c22b65a (in rqbit) + 120 [0x104858dfc] + + 8187 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::he46a59e86a4040f3 (in rqbit) + 2984 [0x104843cb8] + + 8187 librqbit::torrent_state::TorrentState::reserve_next_needed_piece::h4003aa9a864bc6d1 (in rqbit) + 948 [0x104847290] + + 8187 parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h836aa47d9a7a9313 (in rqbit) + 724 [0x104b5f348] + + 8187 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + + 8187 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] + 8187 Thread_2499345: tokio-runtime-worker + + 8187 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] + + 8187 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] + + 8187 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x104b1a654] + + 8187 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x104a68558] + + 8187 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x104a59624] + + 8187 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x104a5cd00] + + 8187 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x10485927c] + + 8187 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x10485b234] + + 8187 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x104a6181c] + + 8187 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x104a5fef0] + + 8187 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x104a661b0] + + 8187 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 2816 [0x104a623b4] + + 8187 tokio::runtime::scheduler::multi_thread::worker::Context::park_timeout::hd0502377b834d526 (in rqbit) + 276 [0x104a62b30] + + 8187 tokio::runtime::scheduler::multi_thread::park::Parker::park::h0192ef6876d96010 (in rqbit) + 328 [0x104a5aa98] + + 8187 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + + 8187 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] + 8187 Thread_2499448: tokio-runtime-worker + + 8187 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] + + 8187 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] + + 8187 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x104b1a654] + + 8187 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x104a68558] + + 8187 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x104a59624] + + 8187 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x104a5cd00] + + 8187 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x10485927c] + + 8187 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x10485b234] + + 8187 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x104a6181c] + + 8187 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x104a5fef0] + + 8187 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x104a661b0] + + 8187 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 2816 [0x104a623b4] + + 8187 tokio::runtime::scheduler::multi_thread::worker::Context::park_timeout::hd0502377b834d526 (in rqbit) + 276 [0x104a62b30] + + 8187 tokio::runtime::scheduler::multi_thread::park::Parker::park::h0192ef6876d96010 (in rqbit) + 328 [0x104a5aa98] + + 8187 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + + 8187 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] + 8187 Thread_2499465: tokio-runtime-worker + + 8187 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] + + 8187 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] + + 8187 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x104b1a654] + + 8187 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x104a68558] + + 8187 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x104a59624] + + 8187 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x104a5cd00] + + 8187 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x10485927c] + + 8187 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x10485b234] + + 8187 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x104a6181c] + + 8187 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x104a5fef0] + + 8187 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x104a661b0] + + 8187 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 2364 [0x104a621f0] + + 8187 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x104a62720] + + 8187 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c (in rqbit) + 124 [0x1048584b4] + + 8187 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4 (in rqbit) + 6312 [0x104841910] + + 8187 _$LT$tokio..future..poll_fn..PollFn$LT$F$GT$$u20$as$u20$core..future..future..Future$GT$::poll::heaf39ed4d1b44001 (in rqbit) + 3200 [0x1048752cc] + + 8187 _$LT$librqbit..torrent_state..PeerHandler$u20$as$u20$librqbit..peer_connection..PeerConnectionHandler$GT$::on_received_message::hd1fafc35289e3666 (in rqbit) + 996 [0x104849f8c] + + 8187 librqbit::torrent_state::PeerHandler::on_received_piece::hf3408148458b4a03 (in rqbit) + 168 [0x10484d324] + + 8187 _$LT$dashmap..DashMap$LT$K$C$V$C$S$GT$$u20$as$u20$dashmap..t..Map$LT$K$C$V$C$S$GT$$GT$::_get_mut::ha163c599d0d0a786 (in rqbit) + 588 [0x10488291c] + + 8187 dashmap::lock::RawRwLock::lock_exclusive_slow::hebac357c00faad7e (in rqbit) + 1176 [0x104b51444] + + 8187 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + + 8187 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] + 8187 Thread_2499466: tokio-runtime-worker + 8187 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] + 8187 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] + 8187 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x104b1a654] + 8187 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x104a68558] + 8187 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x104a59624] + 8187 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x104a5cd00] + 8187 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x10485927c] + 8187 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x10485b234] + 8187 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x104a6181c] + 8187 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x104a5fef0] + 8187 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x104a661b0] + 8187 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 2816 [0x104a623b4] + 8187 tokio::runtime::scheduler::multi_thread::worker::Context::park_timeout::hd0502377b834d526 (in rqbit) + 276 [0x104a62b30] + 8187 tokio::runtime::scheduler::multi_thread::park::Parker::park::h0192ef6876d96010 (in rqbit) + 328 [0x104a5aa98] + 8187 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + 8187 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] + +Total number in stack (recursive counted multiple, when >=5): + 10 __psynch_cvwait (in libsystem_kernel.dylib) + 0 [0x18c11c0a4] + 10 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + 9 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] + 9 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x104a68558] + 9 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x10485b234] + 9 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x104b1a654] + 9 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x104a59624] + 9 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] + 9 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x104a5cd00] + 9 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x104a5fef0] + 9 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x104a661b0] + 9 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x104a6181c] + 9 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x10485927c] + 6 tokio::runtime::scheduler::multi_thread::park::Parker::park::h0192ef6876d96010 (in rqbit) + 328 [0x104a5aa98] + 6 tokio::runtime::scheduler::multi_thread::worker::Context::park_timeout::hd0502377b834d526 (in rqbit) + 276 [0x104a62b30] + 6 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 2816 [0x104a623b4] + +Sort by top of stack, same collapsed (when >= 5): + __psynch_cvwait (in libsystem_kernel.dylib) 81870 + +Binary Images: + 0x1046f8000 - 0x104cb7ffb +rqbit (0) <5761B6C8-03EF-3857-ADB1-47469005C346> /Users/*/rqbit + 0x18bd88000 - 0x18bdd6f08 libobjc.A.dylib (906) <49E2DCB3-F014-3FCF-949B-F5F57B3EF0A8> /usr/lib/libobjc.A.dylib + 0x18bdd7000 - 0x18be6b317 dyld (1.0.0 - 1122.1.2) /usr/lib/dyld + 0x18be6c000 - 0x18be70ff8 libsystem_blocks.dylib (90) /usr/lib/system/libsystem_blocks.dylib + 0x18be71000 - 0x18beb7fff libxpc.dylib (2679.40.6) <212B4ED6-CBB2-33DE-95C0-7F8A405B3EBD> /usr/lib/system/libxpc.dylib + 0x18beb8000 - 0x18bed2fff libsystem_trace.dylib (1481.40.16) <91ECA044-8462-3293-AEEA-183BF841CBA2> /usr/lib/system/libsystem_trace.dylib + 0x18bed3000 - 0x18bf70ff7 libcorecrypto.dylib (1608.40.12) <5258A992-DC2A-3A90-90F1-A64863C450A7> /usr/lib/system/libcorecrypto.dylib + 0x18bf71000 - 0x18bfa7fff libsystem_malloc.dylib (474.0.13) <901200AA-1016-3DAA-8816-5032588ED460> /usr/lib/system/libsystem_malloc.dylib + 0x18bfa8000 - 0x18bfeefff libdispatch.dylib (1462.0.4) /usr/lib/system/libdispatch.dylib + 0x18bfef000 - 0x18bff1fff libsystem_featureflags.dylib (85) <3282C86B-3BD7-353A-AC3E-09BCC631BB1F> /usr/lib/system/libsystem_featureflags.dylib + 0x18bff2000 - 0x18c070ffb libsystem_c.dylib (1583.40.7) /usr/lib/system/libsystem_c.dylib + 0x18c071000 - 0x18c0feff7 libc++.1.dylib (1600.151) <3702EEDE-997D-38E6-A6A1-C08EB22C375B> /usr/lib/libc++.1.dylib + 0x18c0ff000 - 0x18c116fff libc++abi.dylib (1600.151) /usr/lib/libc++abi.dylib + 0x18c117000 - 0x18c151fef libsystem_kernel.dylib (10002.41.9) /usr/lib/system/libsystem_kernel.dylib + 0x18c152000 - 0x18c15eff3 libsystem_pthread.dylib (519) /usr/lib/system/libsystem_pthread.dylib + 0x18c15f000 - 0x18c183fff libdyld.dylib (1122.1.2) /usr/lib/system/libdyld.dylib + 0x18c184000 - 0x18c18affb libsystem_platform.dylib (306.0.1) /usr/lib/system/libsystem_platform.dylib + 0x18c18b000 - 0x18c1b7ffb libsystem_info.dylib (583.0.1) /usr/lib/system/libsystem_info.dylib + 0x18c1b8000 - 0x18c68ffff com.apple.CoreFoundation (6.9 - 2106) <9F046E36-7286-3A6E-A280-699D6E47CFAF> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation + 0x18c690000 - 0x18c942fff com.apple.LaunchServices (1141.1 - 1141.1) <0C46B08C-2AA0-345C-BF3B-44F28B9DBB86> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices + 0x18ca8e000 - 0x18ce17fff libBLAS.dylib (1447) <25959BCE-50A3-3E96-8DB9-C9E15FD822C1> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib + 0x18ce18000 - 0x18cf04ff7 com.apple.Lexicon-framework (1.0 - 134) /System/Library/PrivateFrameworks/Lexicon.framework/Versions/A/Lexicon + 0x18cf05000 - 0x18cf6bff7 libSparse.dylib (123) /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparse.dylib + 0x18cf6c000 - 0x18cffeffb com.apple.SystemConfiguration (1.21 - 1.21) /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration + 0x18cfff000 - 0x18d033ffb libCRFSuite.dylib (52) /usr/lib/libCRFSuite.dylib + 0x18d2e2000 - 0x18df2ffff com.apple.Foundation (6.9 - 2106) <2126FD9A-52CE-3EB2-8640-B57535E073B8> /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation + 0x18df30000 - 0x18e112fff com.apple.LanguageModeling (1.0 - 366.4.1) <8032B2E5-1A2E-341F-9287-14AD8FE4E8A4> /System/Library/PrivateFrameworks/LanguageModeling.framework/Versions/A/LanguageModeling + 0x18ee80000 - 0x18f241fff com.apple.security (7.0 - 61040.41.1) <90771C8F-3085-3511-B628-31A4E990408B> /System/Library/Frameworks/Security.framework/Versions/A/Security + 0x18f242000 - 0x18f4faff7 libicucore.A.dylib (72123.15) <444D2FE1-A09C-369C-BE2E-929350EA2F0E> /usr/lib/libicucore.A.dylib + 0x18f4fb000 - 0x18f505ff7 libsystem_darwin.dylib (1583.40.7) /usr/lib/system/libsystem_darwin.dylib + 0x18f506000 - 0x18f80afff com.apple.CoreServices.CarbonCore (1333 - 1333) <049CCD7B-4151-3816-8FA8-A0BAD75AE69B> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore + 0x18f80b000 - 0x18f84afff com.apple.CoreServicesInternal (505 - 505) <5774EE20-DF1A-330E-A776-AEC79006908C> /System/Library/PrivateFrameworks/CoreServicesInternal.framework/Versions/A/CoreServicesInternal + 0x18f84b000 - 0x18f88bfff com.apple.CSStore (1141.1 - 1141.1) <75A298B2-F273-3922-97E8-94E19D2517CA> /System/Library/PrivateFrameworks/CoreServicesStore.framework/Versions/A/CoreServicesStore + 0x18f88c000 - 0x18f96cfff com.apple.framework.IOKit (2.0.2 - 100065.40.4) <029AEE72-3595-3815-B603-22F4AAA2D06F> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit + 0x18f96d000 - 0x18f97dfff libsystem_notify.dylib (317) /usr/lib/system/libsystem_notify.dylib + 0x1912f5000 - 0x1913bdff7 libboringssl.dylib (480) <1657C102-7B93-3D24-8A87-8E16222EC9EC> /usr/lib/libboringssl.dylib + 0x1913be000 - 0x1913befff libnetwork.dylib (3762.41.2) <93791E09-CE36-37DE-8897-C32FC6D23F84> /usr/lib/libnetwork.dylib + 0x1913bf000 - 0x19178ffff com.apple.CFNetwork (1.0 - 1485) <1179E11A-65ED-33E1-9278-CC4904207F31> /System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork + 0x191790000 - 0x1917a9ff7 libsystem_networkextension.dylib (1838.40.8) <11D8A745-1F2F-3493-872E-C58F13BBD4D2> /usr/lib/system/libsystem_networkextension.dylib + 0x1917aa000 - 0x1917abfff libenergytrace.dylib (23) <9E6D595D-4E2C-3630-A2DA-1E2586FEF628> /usr/lib/libenergytrace.dylib + 0x1917ac000 - 0x19181ffdf libMobileGestalt.dylib (1291.40.8) <952B56CC-68E9-3C78-A816-E44605605DE5> /usr/lib/libMobileGestalt.dylib + 0x191820000 - 0x191837fff libsystem_asl.dylib (398) <9833954F-A010-3492-810A-70F96E17266E> /usr/lib/system/libsystem_asl.dylib + 0x191838000 - 0x191858ffd com.apple.TCC (1.0 - 1) /System/Library/PrivateFrameworks/TCC.framework/Versions/A/TCC + 0x192dd5000 - 0x192deefff com.apple.ProtocolBuffer (1 - 300.21.8.9.2) /System/Library/PrivateFrameworks/ProtocolBuffer.framework/Versions/A/ProtocolBuffer + 0x192def000 - 0x192f8bffb libsqlite3.dylib (349.3) <567CDD63-191D-36E4-959B-7DE47C7AFD7A> /usr/lib/libsqlite3.dylib + 0x193159000 - 0x1931ccfff com.apple.AE (944 - 944) <9A97FC75-CB6D-309B-845E-56C54B72D6A8> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE + 0x1931cd000 - 0x1931d6ffc libdns_services.dylib (2200.40.37.0.1) /usr/lib/libdns_services.dylib + 0x1931d7000 - 0x1931dfff3 libsystem_symptoms.dylib (1848.40.12) /usr/lib/system/libsystem_symptoms.dylib + 0x1931e0000 - 0x193dc4fff com.apple.Network (1.0 - 1) /System/Library/Frameworks/Network.framework/Versions/A/Network + 0x193dc5000 - 0x193df3fff com.apple.analyticsd (1.0 - 1) /System/Library/PrivateFrameworks/CoreAnalytics.framework/Versions/A/CoreAnalytics + 0x193df4000 - 0x193df5fff libDiagnosticMessagesClient.dylib (113) /usr/lib/libDiagnosticMessagesClient.dylib + 0x193df6000 - 0x193e3cfff com.apple.spotlight.metadata.utilities (1.0 - 2274.3) <0E25C3BA-5220-375A-8F05-6415CA45DD40> /System/Library/PrivateFrameworks/MetadataUtilities.framework/Versions/A/MetadataUtilities + 0x193e3d000 - 0x193ed7fff com.apple.Metadata (14.1 - 2274.3) <17D03259-8852-32B4-9B34-BB973F43FEDE> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata + 0x193ed8000 - 0x193ee0ffb com.apple.DiskArbitration (2.7 - 2.7) <4219AEC5-B906-3E12-BA8D-6847F52AFA0F> /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration + 0x193ee1000 - 0x1942c5ff7 com.apple.vImage (8.1 - 584) /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage + 0x19494b000 - 0x19495afff com.apple.OpenDirectory (14.1 - 642) /System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory + 0x19495b000 - 0x19497affb com.apple.CFOpenDirectory (14.1 - 642) /System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory + 0x19497b000 - 0x194987ff7 com.apple.CoreServices.FSEvents (1376 - 1376) <7D24FA70-0DFF-342C-9D88-FCA31213F8F4> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/FSEvents + 0x194988000 - 0x1949b2fff com.apple.coreservices.SharedFileList (225 - 225) /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SharedFileList.framework/Versions/A/SharedFileList + 0x1949b3000 - 0x1949b9fff libapp_launch_measurement.dylib (17) <3A9DDB7F-800F-3788-A6B5-1B5BCC6343E9> /usr/lib/libapp_launch_measurement.dylib + 0x1949ba000 - 0x194a03fff com.apple.CoreAutoLayout (1.0 - 32) /System/Library/PrivateFrameworks/CoreAutoLayout.framework/Versions/A/CoreAutoLayout + 0x194a04000 - 0x194aecffb libxml2.2.dylib (37.8) <236C8BF2-0800-396C-AF03-B5328CAD1FD6> /usr/lib/libxml2.2.dylib + 0x196238000 - 0x196261ff7 libsystem_containermanager.dylib (582.40.2.0.1) <444831B7-DB95-3E3A-8C1C-97E49676B185> /usr/lib/system/libsystem_containermanager.dylib + 0x196262000 - 0x196279fff com.apple.IOSurface (352.0.3 - 352.0.3) <7D9D9E22-C780-3790-BF2B-30FC1A9BF7CB> /System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface + 0x1971b2000 - 0x1971b6fff libsystem_configuration.dylib (1296.40.6) <389249EB-5A9C-362C-985F-6F470280D6F3> /usr/lib/system/libsystem_configuration.dylib + 0x1971b7000 - 0x1971bcff3 libsystem_sandbox.dylib (2169.41.1) <893061BE-F3BD-3696-AC8D-4DA5E7477A20> /usr/lib/system/libsystem_sandbox.dylib + 0x1971bf000 - 0x1971c2fff com.apple.AppleSystemInfo (3.1.5 - 3.1.5) <011F9762-19FD-3500-AF7E-889D3E193FD3> /System/Library/PrivateFrameworks/AppleSystemInfo.framework/Versions/A/AppleSystemInfo + 0x1971c3000 - 0x1971c4fff liblangid.dylib (138) /usr/lib/liblangid.dylib + 0x1971c5000 - 0x1972e0fff com.apple.CoreNLP (1.0 - 313) /System/Library/PrivateFrameworks/CoreNLP.framework/Versions/A/CoreNLP + 0x1972e1000 - 0x1972e6fff com.apple.LinguisticData (1.0 - 483.10) <9E7B9C4C-1E7D-339A-A3A8-A9BB4DCA0255> /System/Library/PrivateFrameworks/LinguisticData.framework/Versions/A/LinguisticData + 0x1972e7000 - 0x197ac1faf libBNNS.dylib (830.40.9.0.1) <65FC5752-9068-3F54-ACC6-C7C2F25A9A33> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBNNS.dylib + 0x197ac2000 - 0x197bb2f47 libvDSP.dylib (1041) <6A43D803-7871-3FDA-AD48-B1C2F1F50930> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib + 0x197bb3000 - 0x197be5fff com.apple.CoreEmoji (1.0 - 200.151) <85D6BBAF-FF34-3AC9-903C-571C45856662> /System/Library/PrivateFrameworks/CoreEmoji.framework/Versions/A/CoreEmoji + 0x197be6000 - 0x197bf5ff7 com.apple.IOMobileFramebuffer (343.0.0 - 343.0.0) <103B98C3-473A-3B24-AC4B-8E5D30062CEF> /System/Library/PrivateFrameworks/IOMobileFramebuffer.framework/Versions/A/IOMobileFramebuffer + 0x197e16000 - 0x197ea3fff com.apple.securityfoundation (6.0 - 55282) <53711520-62D0-336D-8A69-75B2B1155261> /System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation + 0x197ea4000 - 0x197ec9fff com.apple.coreservices.BackgroundTaskManagement (1.0 - 104) <77003297-2742-30A1-9F2B-3CB101228720> /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Versions/A/BackgroundTaskManagement + 0x197ed5000 - 0x197ed7ffb libquarantine.dylib (172.40.1) /usr/lib/system/libquarantine.dylib + 0x197ed8000 - 0x197ee3fff libCheckFix.dylib (32) /usr/lib/libCheckFix.dylib + 0x197ee4000 - 0x197efbfff libcoretls.dylib (186) <9A15527C-37F5-3389-AC30-69372529D496> /usr/lib/libcoretls.dylib + 0x197efc000 - 0x197f0dffb libbsm.0.dylib (89) <17824944-FFBE-32C5-AB4E-E433BA62EF4E> /usr/lib/libbsm.0.dylib + 0x197f0e000 - 0x197f69fff libmecab.dylib (1062.152) /usr/lib/libmecab.dylib + 0x197f6a000 - 0x197f6cffb libgermantok.dylib (29) /usr/lib/libgermantok.dylib + 0x197f6d000 - 0x197f81fff libLinearAlgebra.dylib (1447) <61E860A6-6912-35A8-819C-F1ACDE6C91FF> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLinearAlgebra.dylib + 0x19850a000 - 0x1985cdfdf com.apple.AppleFSCompression (158 - 1.0) <2FC70EFA-CA67-359C-A3E2-88F70403EAEA> /System/Library/PrivateFrameworks/AppleFSCompression.framework/Versions/A/AppleFSCompression + 0x1985ce000 - 0x1985daffb libbz2.1.0.dylib (45) <15785738-C3DB-39BA-9AE9-CC522EABBBA8> /usr/lib/libbz2.1.0.dylib + 0x1985db000 - 0x1985e0fff libsystem_coreservices.dylib (152.1) <26F9E755-26EC-3974-BEC8-3B706D0254BA> /usr/lib/system/libsystem_coreservices.dylib + 0x1985e1000 - 0x198612fff com.apple.CoreServices.OSServices (1141.1 - 1141.1) /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices + 0x1988ee000 - 0x1988fcfff libz.1.dylib (91.40.1.0.1) <7523CDC8-DA6B-382B-8DDC-F63D156A299B> /usr/lib/libz.1.dylib + 0x1988fd000 - 0x198933ff3 libsystem_m.dylib (3252.40.2) <072B3C9C-C54E-3F27-B231-88482F485502> /usr/lib/system/libsystem_m.dylib + 0x198934000 - 0x198937fff libcharset.1.dylib (86) /usr/lib/libcharset.1.dylib + 0x198938000 - 0x19893fffb libmacho.dylib (1009) <29C5FB27-B26B-3927-89C1-917051E5D353> /usr/lib/system/libmacho.dylib + 0x198940000 - 0x19895ffff libkxld.dylib (10002.41.9) <87786C0C-7D78-3B0B-B6B5-6603B8804253> /usr/lib/system/libkxld.dylib + 0x198960000 - 0x19896dff7 libcommonCrypto.dylib (600025) <4CF0B406-031F-3BC7-8A97-61DFA262C179> /usr/lib/system/libcommonCrypto.dylib + 0x19896e000 - 0x198978fff libunwind.dylib (1600.112) <18A7097B-A9D1-34C6-8333-0D16CF789585> /usr/lib/system/libunwind.dylib + 0x198979000 - 0x198980fff liboah.dylib (315.1) /usr/lib/liboah.dylib + 0x198981000 - 0x19898aff3 libcopyfile.dylib (196) /usr/lib/system/libcopyfile.dylib + 0x19898b000 - 0x19898efff libcompiler_rt.dylib (103.1) /usr/lib/system/libcompiler_rt.dylib + 0x19898f000 - 0x198993ffb libsystem_collections.dylib (1583.40.7) <985E00EB-F590-3B07-876A-EFE015DB79EF> /usr/lib/system/libsystem_collections.dylib + 0x198994000 - 0x198996ffb libsystem_secinit.dylib (143) /usr/lib/system/libsystem_secinit.dylib + 0x198997000 - 0x198999ffb libremovefile.dylib (70) /usr/lib/system/libremovefile.dylib + 0x19899a000 - 0x19899affb libkeymgr.dylib (31) /usr/lib/system/libkeymgr.dylib + 0x19899b000 - 0x1989a3ff7 libsystem_dnssd.dylib (2200.40.37.0.1) /usr/lib/system/libsystem_dnssd.dylib + 0x1989a4000 - 0x1989a9fff libcache.dylib (92) <47B56AFF-F15C-3550-B9B6-560806BC20C5> /usr/lib/system/libcache.dylib + 0x1989aa000 - 0x1989abfff libSystem.B.dylib (1336) <1E176743-EDDD-309B-AE12-6369F1A2029B> /usr/lib/libSystem.B.dylib + 0x1989ac000 - 0x1989affff libfakelink.dylib (5) /usr/lib/libfakelink.dylib + 0x1989b0000 - 0x1989b0ffb com.apple.SoftLinking (1.0 - 47) /System/Library/PrivateFrameworks/SoftLinking.framework/Versions/A/SoftLinking + 0x1989b1000 - 0x1989e6ffb libpcap.A.dylib (126.41.1) <494571FE-C8C2-3193-AA67-A17AC286AA4A> /usr/lib/libpcap.A.dylib + 0x1989e7000 - 0x1989edff3 libiconv.2.dylib (86) /usr/lib/libiconv.2.dylib + 0x1989ee000 - 0x1989fffff libcmph.dylib (8) <615CF8F9-9E63-3C31-A888-73A7C48B702B> /usr/lib/libcmph.dylib + 0x198a00000 - 0x198a88ff3 libarchive.2.dylib (121.40.3) <010A91A0-9B78-3798-B1D9-F017104C3EE2> /usr/lib/libarchive.2.dylib + 0x198a89000 - 0x198affff3 com.apple.SearchKit (1.4.1 - 1.4.1) /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit + 0x198b00000 - 0x198b01ff7 libThaiTokenizer.dylib (15) <67E80E6B-32B4-36BF-921C-D5DA2AEC583D> /usr/lib/libThaiTokenizer.dylib + 0x198b02000 - 0x198b27fff com.apple.applesauce (1.0 - 16.55) /System/Library/PrivateFrameworks/AppleSauce.framework/Versions/A/AppleSauce + 0x198b28000 - 0x198b41ffb libapple_nghttp2.dylib (16) /usr/lib/libapple_nghttp2.dylib + 0x198b42000 - 0x198b54fff libSparseBLAS.dylib (1447) /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparseBLAS.dylib + 0x198b57000 - 0x198b5cfff libpam.2.dylib (33) <81CDA9F5-6B0D-300F-B236-BA8141836521> /usr/lib/libpam.2.dylib + 0x198b5d000 - 0x198c2afcf libcompression.dylib (166) <0CAB9E05-BF75-3913-A9E0-1D85226274AC> /usr/lib/libcompression.dylib + 0x198c2b000 - 0x198c2fffb libQuadrature.dylib (7) <41C54DE8-6D6E-3091-AE3C-8F93FAE80BD1> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libQuadrature.dylib + 0x198c30000 - 0x199da1fff libLAPACK.dylib (1447) /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib + 0x199da2000 - 0x199df8fff com.apple.DictionaryServices (1.2 - 355) /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices + 0x199df9000 - 0x199e11ff3 liblzma.5.dylib (18) /usr/lib/liblzma.5.dylib + 0x199e12000 - 0x199e13ffb libcoretls_cfhelpers.dylib (186) /usr/lib/libcoretls_cfhelpers.dylib + 0x199e14000 - 0x199e82ff3 com.apple.APFS (2235.41.1 - 2235.41.1) <1AC37BDF-F264-3A0E-A5AE-0D98174F8095> /System/Library/PrivateFrameworks/APFS.framework/Versions/A/APFS + 0x199e83000 - 0x199e91ffb libxar.1.dylib (498) <22C053D2-5F9A-356A-A3AD-09BD790C6437> /usr/lib/libxar.1.dylib + 0x199e92000 - 0x199e95ff7 libutil.dylib (72) /usr/lib/libutil.dylib + 0x199e96000 - 0x199ec1ff3 libxslt.1.dylib (20.3) <215E57F4-CF08-38D9-921F-5AF522C1159A> /usr/lib/libxslt.1.dylib + 0x199eca000 - 0x199f45fff libvMisc.dylib (1041) <9FEC3CE5-CBA8-3524-83A1-E10C910E101D> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib + 0x19a26a000 - 0x19a274fff libheimdal-asn1.dylib (685) /usr/lib/libheimdal-asn1.dylib + 0x19b968000 - 0x19b9c5ffa libusrtcp.dylib (3762.41.2) <0F6EF57C-DEE8-3D4D-9E33-5F451FF4AFB2> /usr/lib/libusrtcp.dylib + 0x19b9c6000 - 0x19bf05fff libswiftCore.dylib (5.9 - 5.9.0.123.305) <1FCC7DF4-6B2E-3CBA-9125-EB1ED90943F4> /usr/lib/swift/libswiftCore.dylib + 0x19de20000 - 0x19df5cfff com.apple.combine (1.0 - 311) <5E78AE31-70E7-3F20-B41B-F0AD6E39D711> /System/Library/Frameworks/Combine.framework/Versions/A/Combine + 0x19fefa000 - 0x19fefafff com.apple.Accelerate.vecLib (3.11 - vecLib 3.11) <84B9B13D-FDCC-3AE6-8979-4F138842CA34> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib + 0x19ff23000 - 0x19ff23fff com.apple.CoreServices (1226 - 1226) <8A75797D-1FDA-32DA-9E90-07F6CF0E512E> /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices + 0x1a0227000 - 0x1a0227fff com.apple.Accelerate (1.11 - Accelerate 1.11) <02B4577F-7DB2-3A40-8800-656D8D30A763> /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate + 0x1a158a000 - 0x1a15a2ff7 libswiftDispatch.dylib (34.0.2) /usr/lib/swift/libswiftDispatch.dylib + 0x1a3d64000 - 0x1a3d67ff5 libswiftObjectiveC.dylib (8) /usr/lib/swift/libswiftObjectiveC.dylib + 0x1a3d68000 - 0x1a3d80fff libswiftos.dylib (1040) <9B41C748-9156-304D-B221-025E455A9B6D> /usr/lib/swift/libswiftos.dylib + 0x1aea89000 - 0x1aea92ff7 libswiftDarwin.dylib (??? - 5.9.0.123.305) <05D38AAE-B8B9-3AC5-A653-3597E052AC32> /usr/lib/swift/libswiftDarwin.dylib + 0x1b0c92000 - 0x1b0ca5fff libmis.dylib (381) <8AB6E1A0-4242-3689-8B67-59F86F022FE2> /usr/lib/libmis.dylib + 0x1b0cb3000 - 0x1b0cb9fff libswiftCoreFoundation.dylib (2000) /usr/lib/swift/libswiftCoreFoundation.dylib + 0x1b0cc9000 - 0x1b0cfeff7 libswiftXPC.dylib (29.0.2) <9E6314D3-CE1C-3970-8350-26043FCAA913> /usr/lib/swift/libswiftXPC.dylib + 0x1b0d00000 - 0x1b0d00fff libswiftIOKit.dylib (1) /usr/lib/swift/libswiftIOKit.dylib + 0x1c0782000 - 0x1c0789fff com.apple.MobileSystemServices (1.0 - 1) /System/Library/PrivateFrameworks/MobileSystemServices.framework/Versions/A/MobileSystemServices + 0x1f1469000 - 0x1f146cfff com.apple.ConfigProfileHelper (16.1 - 1622) /System/Library/PrivateFrameworks/ConfigProfileHelper.framework/Versions/A/ConfigProfileHelper + 0x1fe70f000 - 0x1fe722fff com.apple.private.AppleMobileFileIntegrity-fmk (1.0 - 1) <8039181A-3E85-3233-B9D9-7563C9E165FD> /System/Library/PrivateFrameworks/AppleMobileFileIntegrity.framework/Versions/A/AppleMobileFileIntegrity + 0x200b03000 - 0x200c61fff com.apple.CollectionsInternal (1.1.0 - 19) <6A16A70E-B3E9-3ECE-9485-2192FF0C1506> /System/Library/PrivateFrameworks/CollectionsInternal.framework/Versions/A/CollectionsInternal + 0x20e5cf000 - 0x20e6a6fff com.apple.InstalledContentLibrary (1.0 - 1.0) <9920C0DA-5FB7-34CF-A15C-3E753F8DF951> /System/Library/PrivateFrameworks/InstalledContentLibrary.framework/Versions/A/InstalledContentLibrary + 0x21030c000 - 0x2107e0ffb com.apple.MIL (5.33 - 5.33.5) /System/Library/PrivateFrameworks/MIL.framework/Versions/A/MIL + 0x211ad9000 - 0x211b23fff com.apple.MessageSecurity (1.0 - 101.40.6) <2F806526-DC8F-3A34-9959-50112A8251D3> /System/Library/PrivateFrameworks/MessageSecurity.framework/Versions/A/MessageSecurity + 0x216646000 - 0x21664cff7 com.apple.ReflectionInternal (1.0.0 - 19) <3CE1C9E3-0652-3F64-BCB5-8EC03A0FFD99> /System/Library/PrivateFrameworks/ReflectionInternal.framework/Versions/A/ReflectionInternal + 0x216c32000 - 0x216c48ff7 com.apple.RuntimeInternal (1.0.0 - 19) <01065A3F-0218-3BAE-8832-1FBF07AD6712> /System/Library/PrivateFrameworks/RuntimeInternal.framework/Versions/A/RuntimeInternal + 0x229daa000 - 0x229db5fff libCoreEntitlements.dylib (53) <73C57354-D94C-3CC2-99F7-06B75FC7DE4A> /usr/lib/libCoreEntitlements.dylib + 0x229f93000 - 0x229f9efff libTLE.dylib (53) <2B0C780B-984D-36DA-938E-7CBE9AA241B2> /usr/lib/libTLE.dylib + 0x22b30c000 - 0x22b36aff3 libswift_Concurrency.dylib (5.9 - 5.9.0.123.305) <044E4103-2CB6-37B9-9F4B-A53237EA4521> /usr/lib/swift/libswift_Concurrency.dylib + 0x22b3a9000 - 0x22b454fff libswift_RegexParser.dylib (??? - 5.9.0.123.305) /usr/lib/swift/libswift_RegexParser.dylib + 0x22b455000 - 0x22b4f5fff libswift_StringProcessing.dylib (??? - 5.9.0.123.305) <97484081-9BDD-3AD8-8554-1C3E3FA349B4> /usr/lib/swift/libswift_StringProcessing.dylib + 0x22b636000 - 0x22b639fff libsystem_darwindirectory.dylib (86.0.2) <8C2C7C2A-F18E-3196-BB40-B4BB95C5BFF9> /usr/lib/system/libsystem_darwindirectory.dylib + diff --git a/deadlock_4.txt b/deadlock_4.txt new file mode 100644 index 0000000..ca8cbf5 --- /dev/null +++ b/deadlock_4.txt @@ -0,0 +1,389 @@ + +Analysis of sampling rqbit (pid 41569) every 1 millisecond +Process: rqbit [41569] +Path: /Users/USER/*/rqbit +Load Address: 0x10031c000 +Identifier: rqbit +Version: 0 +Code Type: ARM64 +Platform: macOS +Parent Process: bash [2715] + +Date/Time: 2023-11-19 17:11:35.878 +0000 +Launch Time: 2023-11-19 17:02:41.062 +0000 +OS Version: macOS 14.1 (23B74) +Report Version: 7 +Analysis Tool: /usr/bin/sample + +Physical footprint: 11.5M +Physical footprint (peak): 12.0M +Idle exit: untracked +---- + +Call graph: + 8183 Thread_2501818 DispatchQueue_1: com.apple.main-thread (serial) + + 8183 start (in dyld) + 2360 [0x18bddd0e0] + + 8183 main (in rqbit) + 32 [0x1003b4d10] + + 8183 std::rt::lang_start::hc92c8460d670427e (in rqbit) + 44 [0x1003fc260] rt.rs:166 + + 8183 std::rt::lang_start_internal::hea4720c823b0b053 (in rqbit) + 648 [0x1007318d0] + + 8183 std::rt::lang_start::_$u7b$$u7b$closure$u7d$$u7d$::hf04eff045c3204ce (in rqbit) + 24 [0x1003fc284] rt.rs:167 + + 8183 std::sys_common::backtrace::__rust_begin_short_backtrace::hc575c434e3c9f843 (in rqbit) + 12 [0x10037a330] backtrace.rs:154 + + 8183 rqbit::main::hfdee818328ed2d4e (in rqbit) + 3604 [0x1003a9f50] main.rs:221 + + 8183 tokio::runtime::runtime::Runtime::block_on::h41f524f37dfac32b (in rqbit) + 484 [0x10040cfbc] runtime.rs:350 + + 8183 tokio::runtime::park::CachedParkThread::block_on::hd6c99b8d2957d23a (in rqbit) + 248 [0x1003a411c] park.rs:286 + + 8183 (.llvm.1541039607769432884) (in rqbit) + 256 [0x100681f08] + + 8183 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + + 8183 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] + 8183 Thread_2501832: tokio-runtime-worker + + 8183 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] + + 8183 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] + + 8183 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x10073e654] + + 8183 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x10068c558] + + 8183 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x10067d624] + + 8183 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x100680d00] + + 8183 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::ha45a744d0ecf214e (in rqbit) + 168 [0x100675b44] + + 8183 tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h8b38a0b62ce90d26 (in rqbit) + 204 [0x10067c0ec] + + 8183 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x10068581c] + + 8183 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x100683ef0] + + 8183 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x10068a1b0] + + 8183 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 2816 [0x1006863b4] + + 8183 tokio::runtime::scheduler::multi_thread::worker::Context::park_timeout::hd0502377b834d526 (in rqbit) + 276 [0x100686b30] + + 8183 tokio::runtime::scheduler::multi_thread::park::Parker::park::h0192ef6876d96010 (in rqbit) + 328 [0x10067ea98] + + 8183 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + + 8183 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] + 8183 Thread_2501834: tokio-runtime-worker + + 8183 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] + + 8183 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] + + 8183 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x10073e654] + + 8183 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x10068c558] + + 8183 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x10067d624] + + 8183 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x100680d00] + + 8183 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::ha45a744d0ecf214e (in rqbit) + 168 [0x100675b44] + + 8183 tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h8b38a0b62ce90d26 (in rqbit) + 204 [0x10067c0ec] + + 8183 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x10068581c] + + 8183 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x100683ef0] + + 8183 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x10068a1b0] + + 8183 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 2816 [0x1006863b4] + + 8183 tokio::runtime::scheduler::multi_thread::worker::Context::park_timeout::hd0502377b834d526 (in rqbit) + 276 [0x100686b30] + + 8183 tokio::runtime::scheduler::multi_thread::park::Parker::park::h0192ef6876d96010 (in rqbit) + 328 [0x10067ea98] + + 8183 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + + 8183 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] + 8183 Thread_2501835: tokio-runtime-worker + + 8183 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] + + 8183 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] + + 8183 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x10073e654] + + 8183 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x10068c558] + + 8183 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x10067d624] + + 8183 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x100680d00] + + 8183 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::ha45a744d0ecf214e (in rqbit) + 168 [0x100675b44] + + 8183 tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h8b38a0b62ce90d26 (in rqbit) + 204 [0x10067c0ec] + + 8183 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x10068581c] + + 8183 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x100683ef0] + + 8183 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x10068a1b0] + + 8183 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 2816 [0x1006863b4] + + 8183 tokio::runtime::scheduler::multi_thread::worker::Context::park_timeout::hd0502377b834d526 (in rqbit) + 276 [0x100686b30] + + 8183 tokio::runtime::scheduler::multi_thread::park::Parker::park::h0192ef6876d96010 (in rqbit) + 328 [0x10067ea98] + + 8183 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + + 8183 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] + 8183 Thread_2501836: tokio-runtime-worker + + 8183 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] + + 8183 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] + + 8183 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x10073e654] + + 8183 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x10068c558] + + 8183 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x10067d624] + + 8183 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x100680d00] + + 8183 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x10047d27c] + + 8183 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x10047f234] + + 8183 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x10068581c] + + 8183 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x100683ef0] + + 8183 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x10068a1b0] + + 8183 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 1964 [0x100686060] + + 8183 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x100686720] + + 8183 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c (in rqbit) + 124 [0x10047c4b4] + + 8183 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4 (in rqbit) + 6312 [0x100465910] + + 8183 _$LT$tokio..future..poll_fn..PollFn$LT$F$GT$$u20$as$u20$core..future..future..Future$GT$::poll::heaf39ed4d1b44001 (in rqbit) + 3200 [0x1004992cc] + + 8183 _$LT$librqbit..torrent_state..PeerHandler$u20$as$u20$librqbit..peer_connection..PeerConnectionHandler$GT$::on_received_message::hd1fafc35289e3666 (in rqbit) + 996 [0x10046df8c] + + 8183 librqbit::torrent_state::PeerHandler::on_received_piece::hf3408148458b4a03 (in rqbit) + 956 [0x100471638] + + 8183 parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h836aa47d9a7a9313 (in rqbit) + 724 [0x100783348] + + 8183 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + + 8183 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] + 8183 Thread_2501837: tokio-runtime-worker + + 8183 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] + + 8183 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] + + 8183 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x10073e654] + + 8183 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x10068c558] + + 8183 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x10067d624] + + 8183 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x100680d00] + + 8183 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x10047d27c] + + 8183 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x10047f234] + + 8183 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x10068581c] + + 8183 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x100683ef0] + + 8183 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x10068a1b0] + + 8183 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 2816 [0x1006863b4] + + 8183 tokio::runtime::scheduler::multi_thread::worker::Context::park_timeout::hd0502377b834d526 (in rqbit) + 276 [0x100686b30] + + 8183 tokio::runtime::scheduler::multi_thread::park::Parker::park::h0192ef6876d96010 (in rqbit) + 328 [0x10067ea98] + + 8183 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + + 8183 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] + 8183 Thread_2501838: tokio-runtime-worker + + 8183 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] + + 8183 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] + + 8183 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x10073e654] + + 8183 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x10068c558] + + 8183 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x10067d624] + + 8183 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x100680d00] + + 8183 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x10047d27c] + + 8183 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x10047f234] + + 8183 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x10068581c] + + 8183 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x100683ef0] + + 8183 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x10068a1b0] + + 8183 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 2816 [0x1006863b4] + + 8183 tokio::runtime::scheduler::multi_thread::worker::Context::park_timeout::hd0502377b834d526 (in rqbit) + 276 [0x100686b30] + + 8183 tokio::runtime::scheduler::multi_thread::park::Parker::park::h0192ef6876d96010 (in rqbit) + 328 [0x10067ea98] + + 8183 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + + 8183 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] + 8183 Thread_2501839 + + 8183 start_wqthread (in libsystem_pthread.dylib) + 8 [0x18c153e30] + + 8183 _pthread_wqthread (in libsystem_pthread.dylib) + 364 [0x18c155160] + + 8183 __workq_kernreturn (in libsystem_kernel.dylib) + 8 [0x18c11a564] + 8183 Thread_2501842: tokio-runtime-worker + + 8183 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] + + 8183 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] + + 8183 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x10073e654] + + 8183 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x10068c558] + + 8183 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x10067d624] + + 8183 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x100680d00] + + 8183 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x10047d27c] + + 8183 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x10047f234] + + 8183 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x10068581c] + + 8183 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x100683ef0] + + 8183 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x10068a1b0] + + 8183 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 1964 [0x100686060] + + 8183 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x100686720] + + 8183 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c (in rqbit) + 124 [0x10047c4b4] + + 8183 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4 (in rqbit) + 6312 [0x100465910] + + 8183 _$LT$tokio..future..poll_fn..PollFn$LT$F$GT$$u20$as$u20$core..future..future..Future$GT$::poll::heaf39ed4d1b44001 (in rqbit) + 3200 [0x1004992cc] + + 8183 _$LT$librqbit..torrent_state..PeerHandler$u20$as$u20$librqbit..peer_connection..PeerConnectionHandler$GT$::on_received_message::hd1fafc35289e3666 (in rqbit) + 996 [0x10046df8c] + + 8183 librqbit::torrent_state::PeerHandler::on_received_piece::hf3408148458b4a03 (in rqbit) + 168 [0x100471324] + + 8183 _$LT$dashmap..DashMap$LT$K$C$V$C$S$GT$$u20$as$u20$dashmap..t..Map$LT$K$C$V$C$S$GT$$GT$::_get_mut::ha163c599d0d0a786 (in rqbit) + 588 [0x1004a691c] + + 8183 dashmap::lock::RawRwLock::lock_exclusive_slow::hebac357c00faad7e (in rqbit) + 1176 [0x100775444] + + 8183 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + + 8183 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] + 8183 Thread_2501873: tokio-runtime-worker + + 8183 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] + + 8183 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] + + 8183 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x10073e654] + + 8183 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x10068c558] + + 8183 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x10067d624] + + 8183 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x100680d00] + + 8183 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x10047d27c] + + 8183 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x10047f234] + + 8183 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x10068581c] + + 8183 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x100683ef0] + + 8183 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x10068a1b0] + + 8183 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 1964 [0x100686060] + + 8183 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x100686720] + + 8183 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::hb33feb246c22b65a (in rqbit) + 120 [0x10047cdfc] + + 8183 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::he46a59e86a4040f3 (in rqbit) + 2984 [0x100467cb8] + + 8183 librqbit::torrent_state::TorrentState::reserve_next_needed_piece::h4003aa9a864bc6d1 (in rqbit) + 948 [0x10046b290] + + 8183 parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h836aa47d9a7a9313 (in rqbit) + 724 [0x100783348] + + 8183 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + + 8183 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] + 8183 Thread_2501874: tokio-runtime-worker + 8183 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] + 8183 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] + 8183 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x10073e654] + 8183 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x10068c558] + 8183 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x10067d624] + 8183 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x100680d00] + 8183 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x10047d27c] + 8183 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x10047f234] + 8183 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x10068581c] + 8183 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x100683ef0] + 8183 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x10068a1b0] + 8183 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 2816 [0x1006863b4] + 8183 tokio::runtime::scheduler::multi_thread::worker::Context::park_timeout::hd0502377b834d526 (in rqbit) + 276 [0x100686b30] + 8183 tokio::runtime::scheduler::multi_thread::park::Parker::park::h0192ef6876d96010 (in rqbit) + 328 [0x10067ea98] + 8183 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + 8183 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] + +Total number in stack (recursive counted multiple, when >=5): + 10 __psynch_cvwait (in libsystem_kernel.dylib) + 0 [0x18c11c0a4] + 10 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] + 9 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] + 9 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x10068c558] + 9 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x10073e654] + 9 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x10067d624] + 9 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] + 9 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x100680d00] + 9 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x100683ef0] + 9 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x10068a1b0] + 9 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x10068581c] + 6 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x10047f234] + 6 tokio::runtime::scheduler::multi_thread::park::Parker::park::h0192ef6876d96010 (in rqbit) + 328 [0x10067ea98] + 6 tokio::runtime::scheduler::multi_thread::worker::Context::park_timeout::hd0502377b834d526 (in rqbit) + 276 [0x100686b30] + 6 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 2816 [0x1006863b4] + 6 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x10047d27c] + +Sort by top of stack, same collapsed (when >= 5): + __psynch_cvwait (in libsystem_kernel.dylib) 81830 + __workq_kernreturn (in libsystem_kernel.dylib) 8183 + +Binary Images: + 0x10031c000 - 0x1008dbffb +rqbit (0) <5761B6C8-03EF-3857-ADB1-47469005C346> /Users/*/rqbit + 0x18bd88000 - 0x18bdd6f08 libobjc.A.dylib (906) <49E2DCB3-F014-3FCF-949B-F5F57B3EF0A8> /usr/lib/libobjc.A.dylib + 0x18bdd7000 - 0x18be6b317 dyld (1.0.0 - 1122.1.2) /usr/lib/dyld + 0x18be6c000 - 0x18be70ff8 libsystem_blocks.dylib (90) /usr/lib/system/libsystem_blocks.dylib + 0x18be71000 - 0x18beb7fff libxpc.dylib (2679.40.6) <212B4ED6-CBB2-33DE-95C0-7F8A405B3EBD> /usr/lib/system/libxpc.dylib + 0x18beb8000 - 0x18bed2fff libsystem_trace.dylib (1481.40.16) <91ECA044-8462-3293-AEEA-183BF841CBA2> /usr/lib/system/libsystem_trace.dylib + 0x18bed3000 - 0x18bf70ff7 libcorecrypto.dylib (1608.40.12) <5258A992-DC2A-3A90-90F1-A64863C450A7> /usr/lib/system/libcorecrypto.dylib + 0x18bf71000 - 0x18bfa7fff libsystem_malloc.dylib (474.0.13) <901200AA-1016-3DAA-8816-5032588ED460> /usr/lib/system/libsystem_malloc.dylib + 0x18bfa8000 - 0x18bfeefff libdispatch.dylib (1462.0.4) /usr/lib/system/libdispatch.dylib + 0x18bfef000 - 0x18bff1fff libsystem_featureflags.dylib (85) <3282C86B-3BD7-353A-AC3E-09BCC631BB1F> /usr/lib/system/libsystem_featureflags.dylib + 0x18bff2000 - 0x18c070ffb libsystem_c.dylib (1583.40.7) /usr/lib/system/libsystem_c.dylib + 0x18c071000 - 0x18c0feff7 libc++.1.dylib (1600.151) <3702EEDE-997D-38E6-A6A1-C08EB22C375B> /usr/lib/libc++.1.dylib + 0x18c0ff000 - 0x18c116fff libc++abi.dylib (1600.151) /usr/lib/libc++abi.dylib + 0x18c117000 - 0x18c151fef libsystem_kernel.dylib (10002.41.9) /usr/lib/system/libsystem_kernel.dylib + 0x18c152000 - 0x18c15eff3 libsystem_pthread.dylib (519) /usr/lib/system/libsystem_pthread.dylib + 0x18c15f000 - 0x18c183fff libdyld.dylib (1122.1.2) /usr/lib/system/libdyld.dylib + 0x18c184000 - 0x18c18affb libsystem_platform.dylib (306.0.1) /usr/lib/system/libsystem_platform.dylib + 0x18c18b000 - 0x18c1b7ffb libsystem_info.dylib (583.0.1) /usr/lib/system/libsystem_info.dylib + 0x18c1b8000 - 0x18c68ffff com.apple.CoreFoundation (6.9 - 2106) <9F046E36-7286-3A6E-A280-699D6E47CFAF> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation + 0x18c690000 - 0x18c942fff com.apple.LaunchServices (1141.1 - 1141.1) <0C46B08C-2AA0-345C-BF3B-44F28B9DBB86> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices + 0x18ca8e000 - 0x18ce17fff libBLAS.dylib (1447) <25959BCE-50A3-3E96-8DB9-C9E15FD822C1> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib + 0x18ce18000 - 0x18cf04ff7 com.apple.Lexicon-framework (1.0 - 134) /System/Library/PrivateFrameworks/Lexicon.framework/Versions/A/Lexicon + 0x18cf05000 - 0x18cf6bff7 libSparse.dylib (123) /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparse.dylib + 0x18cf6c000 - 0x18cffeffb com.apple.SystemConfiguration (1.21 - 1.21) /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration + 0x18cfff000 - 0x18d033ffb libCRFSuite.dylib (52) /usr/lib/libCRFSuite.dylib + 0x18d2e2000 - 0x18df2ffff com.apple.Foundation (6.9 - 2106) <2126FD9A-52CE-3EB2-8640-B57535E073B8> /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation + 0x18df30000 - 0x18e112fff com.apple.LanguageModeling (1.0 - 366.4.1) <8032B2E5-1A2E-341F-9287-14AD8FE4E8A4> /System/Library/PrivateFrameworks/LanguageModeling.framework/Versions/A/LanguageModeling + 0x18ee80000 - 0x18f241fff com.apple.security (7.0 - 61040.41.1) <90771C8F-3085-3511-B628-31A4E990408B> /System/Library/Frameworks/Security.framework/Versions/A/Security + 0x18f242000 - 0x18f4faff7 libicucore.A.dylib (72123.15) <444D2FE1-A09C-369C-BE2E-929350EA2F0E> /usr/lib/libicucore.A.dylib + 0x18f4fb000 - 0x18f505ff7 libsystem_darwin.dylib (1583.40.7) /usr/lib/system/libsystem_darwin.dylib + 0x18f506000 - 0x18f80afff com.apple.CoreServices.CarbonCore (1333 - 1333) <049CCD7B-4151-3816-8FA8-A0BAD75AE69B> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore + 0x18f80b000 - 0x18f84afff com.apple.CoreServicesInternal (505 - 505) <5774EE20-DF1A-330E-A776-AEC79006908C> /System/Library/PrivateFrameworks/CoreServicesInternal.framework/Versions/A/CoreServicesInternal + 0x18f84b000 - 0x18f88bfff com.apple.CSStore (1141.1 - 1141.1) <75A298B2-F273-3922-97E8-94E19D2517CA> /System/Library/PrivateFrameworks/CoreServicesStore.framework/Versions/A/CoreServicesStore + 0x18f88c000 - 0x18f96cfff com.apple.framework.IOKit (2.0.2 - 100065.40.4) <029AEE72-3595-3815-B603-22F4AAA2D06F> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit + 0x18f96d000 - 0x18f97dfff libsystem_notify.dylib (317) /usr/lib/system/libsystem_notify.dylib + 0x1912f5000 - 0x1913bdff7 libboringssl.dylib (480) <1657C102-7B93-3D24-8A87-8E16222EC9EC> /usr/lib/libboringssl.dylib + 0x1913be000 - 0x1913befff libnetwork.dylib (3762.41.2) <93791E09-CE36-37DE-8897-C32FC6D23F84> /usr/lib/libnetwork.dylib + 0x1913bf000 - 0x19178ffff com.apple.CFNetwork (1.0 - 1485) <1179E11A-65ED-33E1-9278-CC4904207F31> /System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork + 0x191790000 - 0x1917a9ff7 libsystem_networkextension.dylib (1838.40.8) <11D8A745-1F2F-3493-872E-C58F13BBD4D2> /usr/lib/system/libsystem_networkextension.dylib + 0x1917aa000 - 0x1917abfff libenergytrace.dylib (23) <9E6D595D-4E2C-3630-A2DA-1E2586FEF628> /usr/lib/libenergytrace.dylib + 0x1917ac000 - 0x19181ffdf libMobileGestalt.dylib (1291.40.8) <952B56CC-68E9-3C78-A816-E44605605DE5> /usr/lib/libMobileGestalt.dylib + 0x191820000 - 0x191837fff libsystem_asl.dylib (398) <9833954F-A010-3492-810A-70F96E17266E> /usr/lib/system/libsystem_asl.dylib + 0x191838000 - 0x191858ffd com.apple.TCC (1.0 - 1) /System/Library/PrivateFrameworks/TCC.framework/Versions/A/TCC + 0x192dd5000 - 0x192deefff com.apple.ProtocolBuffer (1 - 300.21.8.9.2) /System/Library/PrivateFrameworks/ProtocolBuffer.framework/Versions/A/ProtocolBuffer + 0x192def000 - 0x192f8bffb libsqlite3.dylib (349.3) <567CDD63-191D-36E4-959B-7DE47C7AFD7A> /usr/lib/libsqlite3.dylib + 0x193159000 - 0x1931ccfff com.apple.AE (944 - 944) <9A97FC75-CB6D-309B-845E-56C54B72D6A8> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE + 0x1931cd000 - 0x1931d6ffc libdns_services.dylib (2200.40.37.0.1) /usr/lib/libdns_services.dylib + 0x1931d7000 - 0x1931dfff3 libsystem_symptoms.dylib (1848.40.12) /usr/lib/system/libsystem_symptoms.dylib + 0x1931e0000 - 0x193dc4fff com.apple.Network (1.0 - 1) /System/Library/Frameworks/Network.framework/Versions/A/Network + 0x193dc5000 - 0x193df3fff com.apple.analyticsd (1.0 - 1) /System/Library/PrivateFrameworks/CoreAnalytics.framework/Versions/A/CoreAnalytics + 0x193df4000 - 0x193df5fff libDiagnosticMessagesClient.dylib (113) /usr/lib/libDiagnosticMessagesClient.dylib + 0x193df6000 - 0x193e3cfff com.apple.spotlight.metadata.utilities (1.0 - 2274.3) <0E25C3BA-5220-375A-8F05-6415CA45DD40> /System/Library/PrivateFrameworks/MetadataUtilities.framework/Versions/A/MetadataUtilities + 0x193e3d000 - 0x193ed7fff com.apple.Metadata (14.1 - 2274.3) <17D03259-8852-32B4-9B34-BB973F43FEDE> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata + 0x193ed8000 - 0x193ee0ffb com.apple.DiskArbitration (2.7 - 2.7) <4219AEC5-B906-3E12-BA8D-6847F52AFA0F> /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration + 0x193ee1000 - 0x1942c5ff7 com.apple.vImage (8.1 - 584) /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage + 0x19494b000 - 0x19495afff com.apple.OpenDirectory (14.1 - 642) /System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory + 0x19495b000 - 0x19497affb com.apple.CFOpenDirectory (14.1 - 642) /System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory + 0x19497b000 - 0x194987ff7 com.apple.CoreServices.FSEvents (1376 - 1376) <7D24FA70-0DFF-342C-9D88-FCA31213F8F4> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/FSEvents + 0x194988000 - 0x1949b2fff com.apple.coreservices.SharedFileList (225 - 225) /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SharedFileList.framework/Versions/A/SharedFileList + 0x1949b3000 - 0x1949b9fff libapp_launch_measurement.dylib (17) <3A9DDB7F-800F-3788-A6B5-1B5BCC6343E9> /usr/lib/libapp_launch_measurement.dylib + 0x1949ba000 - 0x194a03fff com.apple.CoreAutoLayout (1.0 - 32) /System/Library/PrivateFrameworks/CoreAutoLayout.framework/Versions/A/CoreAutoLayout + 0x194a04000 - 0x194aecffb libxml2.2.dylib (37.8) <236C8BF2-0800-396C-AF03-B5328CAD1FD6> /usr/lib/libxml2.2.dylib + 0x196238000 - 0x196261ff7 libsystem_containermanager.dylib (582.40.2.0.1) <444831B7-DB95-3E3A-8C1C-97E49676B185> /usr/lib/system/libsystem_containermanager.dylib + 0x196262000 - 0x196279fff com.apple.IOSurface (352.0.3 - 352.0.3) <7D9D9E22-C780-3790-BF2B-30FC1A9BF7CB> /System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface + 0x1971b2000 - 0x1971b6fff libsystem_configuration.dylib (1296.40.6) <389249EB-5A9C-362C-985F-6F470280D6F3> /usr/lib/system/libsystem_configuration.dylib + 0x1971b7000 - 0x1971bcff3 libsystem_sandbox.dylib (2169.41.1) <893061BE-F3BD-3696-AC8D-4DA5E7477A20> /usr/lib/system/libsystem_sandbox.dylib + 0x1971bf000 - 0x1971c2fff com.apple.AppleSystemInfo (3.1.5 - 3.1.5) <011F9762-19FD-3500-AF7E-889D3E193FD3> /System/Library/PrivateFrameworks/AppleSystemInfo.framework/Versions/A/AppleSystemInfo + 0x1971c3000 - 0x1971c4fff liblangid.dylib (138) /usr/lib/liblangid.dylib + 0x1971c5000 - 0x1972e0fff com.apple.CoreNLP (1.0 - 313) /System/Library/PrivateFrameworks/CoreNLP.framework/Versions/A/CoreNLP + 0x1972e1000 - 0x1972e6fff com.apple.LinguisticData (1.0 - 483.10) <9E7B9C4C-1E7D-339A-A3A8-A9BB4DCA0255> /System/Library/PrivateFrameworks/LinguisticData.framework/Versions/A/LinguisticData + 0x1972e7000 - 0x197ac1faf libBNNS.dylib (830.40.9.0.1) <65FC5752-9068-3F54-ACC6-C7C2F25A9A33> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBNNS.dylib + 0x197ac2000 - 0x197bb2f47 libvDSP.dylib (1041) <6A43D803-7871-3FDA-AD48-B1C2F1F50930> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib + 0x197bb3000 - 0x197be5fff com.apple.CoreEmoji (1.0 - 200.151) <85D6BBAF-FF34-3AC9-903C-571C45856662> /System/Library/PrivateFrameworks/CoreEmoji.framework/Versions/A/CoreEmoji + 0x197be6000 - 0x197bf5ff7 com.apple.IOMobileFramebuffer (343.0.0 - 343.0.0) <103B98C3-473A-3B24-AC4B-8E5D30062CEF> /System/Library/PrivateFrameworks/IOMobileFramebuffer.framework/Versions/A/IOMobileFramebuffer + 0x197e16000 - 0x197ea3fff com.apple.securityfoundation (6.0 - 55282) <53711520-62D0-336D-8A69-75B2B1155261> /System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation + 0x197ea4000 - 0x197ec9fff com.apple.coreservices.BackgroundTaskManagement (1.0 - 104) <77003297-2742-30A1-9F2B-3CB101228720> /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Versions/A/BackgroundTaskManagement + 0x197ed5000 - 0x197ed7ffb libquarantine.dylib (172.40.1) /usr/lib/system/libquarantine.dylib + 0x197ed8000 - 0x197ee3fff libCheckFix.dylib (32) /usr/lib/libCheckFix.dylib + 0x197ee4000 - 0x197efbfff libcoretls.dylib (186) <9A15527C-37F5-3389-AC30-69372529D496> /usr/lib/libcoretls.dylib + 0x197efc000 - 0x197f0dffb libbsm.0.dylib (89) <17824944-FFBE-32C5-AB4E-E433BA62EF4E> /usr/lib/libbsm.0.dylib + 0x197f0e000 - 0x197f69fff libmecab.dylib (1062.152) /usr/lib/libmecab.dylib + 0x197f6a000 - 0x197f6cffb libgermantok.dylib (29) /usr/lib/libgermantok.dylib + 0x197f6d000 - 0x197f81fff libLinearAlgebra.dylib (1447) <61E860A6-6912-35A8-819C-F1ACDE6C91FF> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLinearAlgebra.dylib + 0x19850a000 - 0x1985cdfdf com.apple.AppleFSCompression (158 - 1.0) <2FC70EFA-CA67-359C-A3E2-88F70403EAEA> /System/Library/PrivateFrameworks/AppleFSCompression.framework/Versions/A/AppleFSCompression + 0x1985ce000 - 0x1985daffb libbz2.1.0.dylib (45) <15785738-C3DB-39BA-9AE9-CC522EABBBA8> /usr/lib/libbz2.1.0.dylib + 0x1985db000 - 0x1985e0fff libsystem_coreservices.dylib (152.1) <26F9E755-26EC-3974-BEC8-3B706D0254BA> /usr/lib/system/libsystem_coreservices.dylib + 0x1985e1000 - 0x198612fff com.apple.CoreServices.OSServices (1141.1 - 1141.1) /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices + 0x1988ee000 - 0x1988fcfff libz.1.dylib (91.40.1.0.1) <7523CDC8-DA6B-382B-8DDC-F63D156A299B> /usr/lib/libz.1.dylib + 0x1988fd000 - 0x198933ff3 libsystem_m.dylib (3252.40.2) <072B3C9C-C54E-3F27-B231-88482F485502> /usr/lib/system/libsystem_m.dylib + 0x198934000 - 0x198937fff libcharset.1.dylib (86) /usr/lib/libcharset.1.dylib + 0x198938000 - 0x19893fffb libmacho.dylib (1009) <29C5FB27-B26B-3927-89C1-917051E5D353> /usr/lib/system/libmacho.dylib + 0x198940000 - 0x19895ffff libkxld.dylib (10002.41.9) <87786C0C-7D78-3B0B-B6B5-6603B8804253> /usr/lib/system/libkxld.dylib + 0x198960000 - 0x19896dff7 libcommonCrypto.dylib (600025) <4CF0B406-031F-3BC7-8A97-61DFA262C179> /usr/lib/system/libcommonCrypto.dylib + 0x19896e000 - 0x198978fff libunwind.dylib (1600.112) <18A7097B-A9D1-34C6-8333-0D16CF789585> /usr/lib/system/libunwind.dylib + 0x198979000 - 0x198980fff liboah.dylib (315.1) /usr/lib/liboah.dylib + 0x198981000 - 0x19898aff3 libcopyfile.dylib (196) /usr/lib/system/libcopyfile.dylib + 0x19898b000 - 0x19898efff libcompiler_rt.dylib (103.1) /usr/lib/system/libcompiler_rt.dylib + 0x19898f000 - 0x198993ffb libsystem_collections.dylib (1583.40.7) <985E00EB-F590-3B07-876A-EFE015DB79EF> /usr/lib/system/libsystem_collections.dylib + 0x198994000 - 0x198996ffb libsystem_secinit.dylib (143) /usr/lib/system/libsystem_secinit.dylib + 0x198997000 - 0x198999ffb libremovefile.dylib (70) /usr/lib/system/libremovefile.dylib + 0x19899a000 - 0x19899affb libkeymgr.dylib (31) /usr/lib/system/libkeymgr.dylib + 0x19899b000 - 0x1989a3ff7 libsystem_dnssd.dylib (2200.40.37.0.1) /usr/lib/system/libsystem_dnssd.dylib + 0x1989a4000 - 0x1989a9fff libcache.dylib (92) <47B56AFF-F15C-3550-B9B6-560806BC20C5> /usr/lib/system/libcache.dylib + 0x1989aa000 - 0x1989abfff libSystem.B.dylib (1336) <1E176743-EDDD-309B-AE12-6369F1A2029B> /usr/lib/libSystem.B.dylib + 0x1989ac000 - 0x1989affff libfakelink.dylib (5) /usr/lib/libfakelink.dylib + 0x1989b0000 - 0x1989b0ffb com.apple.SoftLinking (1.0 - 47) /System/Library/PrivateFrameworks/SoftLinking.framework/Versions/A/SoftLinking + 0x1989b1000 - 0x1989e6ffb libpcap.A.dylib (126.41.1) <494571FE-C8C2-3193-AA67-A17AC286AA4A> /usr/lib/libpcap.A.dylib + 0x1989e7000 - 0x1989edff3 libiconv.2.dylib (86) /usr/lib/libiconv.2.dylib + 0x1989ee000 - 0x1989fffff libcmph.dylib (8) <615CF8F9-9E63-3C31-A888-73A7C48B702B> /usr/lib/libcmph.dylib + 0x198a00000 - 0x198a88ff3 libarchive.2.dylib (121.40.3) <010A91A0-9B78-3798-B1D9-F017104C3EE2> /usr/lib/libarchive.2.dylib + 0x198a89000 - 0x198affff3 com.apple.SearchKit (1.4.1 - 1.4.1) /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit + 0x198b00000 - 0x198b01ff7 libThaiTokenizer.dylib (15) <67E80E6B-32B4-36BF-921C-D5DA2AEC583D> /usr/lib/libThaiTokenizer.dylib + 0x198b02000 - 0x198b27fff com.apple.applesauce (1.0 - 16.55) /System/Library/PrivateFrameworks/AppleSauce.framework/Versions/A/AppleSauce + 0x198b28000 - 0x198b41ffb libapple_nghttp2.dylib (16) /usr/lib/libapple_nghttp2.dylib + 0x198b42000 - 0x198b54fff libSparseBLAS.dylib (1447) /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparseBLAS.dylib + 0x198b57000 - 0x198b5cfff libpam.2.dylib (33) <81CDA9F5-6B0D-300F-B236-BA8141836521> /usr/lib/libpam.2.dylib + 0x198b5d000 - 0x198c2afcf libcompression.dylib (166) <0CAB9E05-BF75-3913-A9E0-1D85226274AC> /usr/lib/libcompression.dylib + 0x198c2b000 - 0x198c2fffb libQuadrature.dylib (7) <41C54DE8-6D6E-3091-AE3C-8F93FAE80BD1> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libQuadrature.dylib + 0x198c30000 - 0x199da1fff libLAPACK.dylib (1447) /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib + 0x199da2000 - 0x199df8fff com.apple.DictionaryServices (1.2 - 355) /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices + 0x199df9000 - 0x199e11ff3 liblzma.5.dylib (18) /usr/lib/liblzma.5.dylib + 0x199e12000 - 0x199e13ffb libcoretls_cfhelpers.dylib (186) /usr/lib/libcoretls_cfhelpers.dylib + 0x199e14000 - 0x199e82ff3 com.apple.APFS (2235.41.1 - 2235.41.1) <1AC37BDF-F264-3A0E-A5AE-0D98174F8095> /System/Library/PrivateFrameworks/APFS.framework/Versions/A/APFS + 0x199e83000 - 0x199e91ffb libxar.1.dylib (498) <22C053D2-5F9A-356A-A3AD-09BD790C6437> /usr/lib/libxar.1.dylib + 0x199e92000 - 0x199e95ff7 libutil.dylib (72) /usr/lib/libutil.dylib + 0x199e96000 - 0x199ec1ff3 libxslt.1.dylib (20.3) <215E57F4-CF08-38D9-921F-5AF522C1159A> /usr/lib/libxslt.1.dylib + 0x199eca000 - 0x199f45fff libvMisc.dylib (1041) <9FEC3CE5-CBA8-3524-83A1-E10C910E101D> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib + 0x19a26a000 - 0x19a274fff libheimdal-asn1.dylib (685) /usr/lib/libheimdal-asn1.dylib + 0x19b968000 - 0x19b9c5ffa libusrtcp.dylib (3762.41.2) <0F6EF57C-DEE8-3D4D-9E33-5F451FF4AFB2> /usr/lib/libusrtcp.dylib + 0x19b9c6000 - 0x19bf05fff libswiftCore.dylib (5.9 - 5.9.0.123.305) <1FCC7DF4-6B2E-3CBA-9125-EB1ED90943F4> /usr/lib/swift/libswiftCore.dylib + 0x19de20000 - 0x19df5cfff com.apple.combine (1.0 - 311) <5E78AE31-70E7-3F20-B41B-F0AD6E39D711> /System/Library/Frameworks/Combine.framework/Versions/A/Combine + 0x19fefa000 - 0x19fefafff com.apple.Accelerate.vecLib (3.11 - vecLib 3.11) <84B9B13D-FDCC-3AE6-8979-4F138842CA34> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib + 0x19ff23000 - 0x19ff23fff com.apple.CoreServices (1226 - 1226) <8A75797D-1FDA-32DA-9E90-07F6CF0E512E> /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices + 0x1a0227000 - 0x1a0227fff com.apple.Accelerate (1.11 - Accelerate 1.11) <02B4577F-7DB2-3A40-8800-656D8D30A763> /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate + 0x1a158a000 - 0x1a15a2ff7 libswiftDispatch.dylib (34.0.2) /usr/lib/swift/libswiftDispatch.dylib + 0x1a3d64000 - 0x1a3d67ff5 libswiftObjectiveC.dylib (8) /usr/lib/swift/libswiftObjectiveC.dylib + 0x1a3d68000 - 0x1a3d80fff libswiftos.dylib (1040) <9B41C748-9156-304D-B221-025E455A9B6D> /usr/lib/swift/libswiftos.dylib + 0x1aea89000 - 0x1aea92ff7 libswiftDarwin.dylib (??? - 5.9.0.123.305) <05D38AAE-B8B9-3AC5-A653-3597E052AC32> /usr/lib/swift/libswiftDarwin.dylib + 0x1b0c92000 - 0x1b0ca5fff libmis.dylib (381) <8AB6E1A0-4242-3689-8B67-59F86F022FE2> /usr/lib/libmis.dylib + 0x1b0cb3000 - 0x1b0cb9fff libswiftCoreFoundation.dylib (2000) /usr/lib/swift/libswiftCoreFoundation.dylib + 0x1b0cc9000 - 0x1b0cfeff7 libswiftXPC.dylib (29.0.2) <9E6314D3-CE1C-3970-8350-26043FCAA913> /usr/lib/swift/libswiftXPC.dylib + 0x1b0d00000 - 0x1b0d00fff libswiftIOKit.dylib (1) /usr/lib/swift/libswiftIOKit.dylib + 0x1c0782000 - 0x1c0789fff com.apple.MobileSystemServices (1.0 - 1) /System/Library/PrivateFrameworks/MobileSystemServices.framework/Versions/A/MobileSystemServices + 0x1f1469000 - 0x1f146cfff com.apple.ConfigProfileHelper (16.1 - 1622) /System/Library/PrivateFrameworks/ConfigProfileHelper.framework/Versions/A/ConfigProfileHelper + 0x1fe70f000 - 0x1fe722fff com.apple.private.AppleMobileFileIntegrity-fmk (1.0 - 1) <8039181A-3E85-3233-B9D9-7563C9E165FD> /System/Library/PrivateFrameworks/AppleMobileFileIntegrity.framework/Versions/A/AppleMobileFileIntegrity + 0x200b03000 - 0x200c61fff com.apple.CollectionsInternal (1.1.0 - 19) <6A16A70E-B3E9-3ECE-9485-2192FF0C1506> /System/Library/PrivateFrameworks/CollectionsInternal.framework/Versions/A/CollectionsInternal + 0x20e5cf000 - 0x20e6a6fff com.apple.InstalledContentLibrary (1.0 - 1.0) <9920C0DA-5FB7-34CF-A15C-3E753F8DF951> /System/Library/PrivateFrameworks/InstalledContentLibrary.framework/Versions/A/InstalledContentLibrary + 0x21030c000 - 0x2107e0ffb com.apple.MIL (5.33 - 5.33.5) /System/Library/PrivateFrameworks/MIL.framework/Versions/A/MIL + 0x211ad9000 - 0x211b23fff com.apple.MessageSecurity (1.0 - 101.40.6) <2F806526-DC8F-3A34-9959-50112A8251D3> /System/Library/PrivateFrameworks/MessageSecurity.framework/Versions/A/MessageSecurity + 0x216646000 - 0x21664cff7 com.apple.ReflectionInternal (1.0.0 - 19) <3CE1C9E3-0652-3F64-BCB5-8EC03A0FFD99> /System/Library/PrivateFrameworks/ReflectionInternal.framework/Versions/A/ReflectionInternal + 0x216c32000 - 0x216c48ff7 com.apple.RuntimeInternal (1.0.0 - 19) <01065A3F-0218-3BAE-8832-1FBF07AD6712> /System/Library/PrivateFrameworks/RuntimeInternal.framework/Versions/A/RuntimeInternal + 0x229daa000 - 0x229db5fff libCoreEntitlements.dylib (53) <73C57354-D94C-3CC2-99F7-06B75FC7DE4A> /usr/lib/libCoreEntitlements.dylib + 0x229f93000 - 0x229f9efff libTLE.dylib (53) <2B0C780B-984D-36DA-938E-7CBE9AA241B2> /usr/lib/libTLE.dylib + 0x22b30c000 - 0x22b36aff3 libswift_Concurrency.dylib (5.9 - 5.9.0.123.305) <044E4103-2CB6-37B9-9F4B-A53237EA4521> /usr/lib/swift/libswift_Concurrency.dylib + 0x22b3a9000 - 0x22b454fff libswift_RegexParser.dylib (??? - 5.9.0.123.305) /usr/lib/swift/libswift_RegexParser.dylib + 0x22b455000 - 0x22b4f5fff libswift_StringProcessing.dylib (??? - 5.9.0.123.305) <97484081-9BDD-3AD8-8554-1C3E3FA349B4> /usr/lib/swift/libswift_StringProcessing.dylib + 0x22b636000 - 0x22b639fff libsystem_darwindirectory.dylib (86.0.2) <8C2C7C2A-F18E-3196-BB40-B4BB95C5BFF9> /usr/lib/system/libsystem_darwindirectory.dylib + diff --git a/deadlock_5.txt b/deadlock_5.txt new file mode 100644 index 0000000..0272f98 --- /dev/null +++ b/deadlock_5.txt @@ -0,0 +1,271 @@ +(lldb) command script import "/Users/igor/.rustup/toolchains/nightly-aarch64-apple-darwin/lib/rustlib/etc/lldb_lookup.py" +(lldb) command source -s 0 '/Users/igor/.rustup/toolchains/nightly-aarch64-apple-darwin/lib/rustlib/etc/lldb_commands' +(lldb) type synthetic add -l lldb_lookup.synthetic_lookup -x ".*" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)String$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^&(mut )?str$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^&(mut )?\\[.+\\]$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(std::ffi::([a-z_]+::)+)OsString$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)Vec<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)VecDeque<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)BTreeSet<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)BTreeMap<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(std::collections::([a-z_]+::)+)HashMap<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(std::collections::([a-z_]+::)+)HashSet<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)Rc<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)Arc<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(core::([a-z_]+::)+)Cell<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(core::([a-z_]+::)+)Ref<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(core::([a-z_]+::)+)RefMut<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(core::([a-z_]+::)+)RefCell<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^core::num::([a-z_]+::)*NonZero.+$" --category Rust +(lldb) type category enable Rust +(lldb) process attach --pid 41569 +Process 41569 stopped +* thread #1, name = 'main', queue = 'com.apple.main-thread', stop reason = signal SIGSTOP + frame #0: 0x000000018c11c0ac libsystem_kernel.dylib`__psynch_cvwait + 8 +libsystem_kernel.dylib`: +-> 0x18c11c0ac <+8>: b.lo 0x18c11c0cc ; <+40> + 0x18c11c0b0 <+12>: pacibsp + 0x18c11c0b4 <+16>: stp x29, x30, [sp, #-0x10]! + 0x18c11c0b8 <+20>: mov x29, sp +Target 0: (rqbit) stopped. +Executable module set to "/Users/igor/projects/2021-06-rust-qbittorrent/target/release/rqbit". +Architecture set to: arm64-apple-macosx-. +(lldb) bt all +(lldb) thread backtrace all + thread #5, name = 'tokio-runtime-worker' + frame #0: 0x000000018c11c0ac libsystem_kernel.dylib`__psynch_cvwait + 8 + frame #1: 0x000000018c1595fc libsystem_pthread.dylib`_pthread_cond_wait + 1228 + frame #2: 0x0000000100783348 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h836aa47d9a7a9313 [inlined] _$LT$parking_lot_core..thread_parker..imp..ThreadParker$u20$as$u20$parking_lot_core..thread_parker..ThreadParkerT$GT$::park::hd092cfef044956b8(self=) at unix.rs:77:21 [opt] + frame #3: 0x000000010078332c rqbit`parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h836aa47d9a7a9313 at parking_lot.rs:635:17 [opt] + frame #4: 0x0000000100783200 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h836aa47d9a7a9313 at parking_lot.rs:207:5 [opt] + frame #5: 0x00000001007831a4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h836aa47d9a7a9313 at parking_lot.rs:600:5 [opt] + frame #6: 0x00000001007831a4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h836aa47d9a7a9313 at raw_rwlock.rs:1115:17 [opt] + frame #7: 0x00000001007830bc rqbit`parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h836aa47d9a7a9313(self=0x0000600003710010, timeout=) at raw_rwlock.rs:633:26 [opt] + frame #8: 0x0000000100471638 rqbit`librqbit::torrent_state::PeerHandler::on_received_piece::hf3408148458b4a03 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_exclusive::h72199bdcc536be8b(self=0x0000600003710010) at raw_rwlock.rs:73:26 [opt] + frame #9: 0x0000000100471628 rqbit`librqbit::torrent_state::PeerHandler::on_received_piece::hf3408148458b4a03 at rwlock.rs:491:9 [opt] + frame #10: 0x0000000100471628 rqbit`librqbit::torrent_state::PeerHandler::on_received_piece::hf3408148458b4a03(self=, handle=SocketAddr @ 0x000000012f0478b8, piece=Piece @ 0x0000000170725478) at torrent_state.rs:1056:39 [opt] + frame #11: 0x000000010046df8c rqbit`_$LT$librqbit..torrent_state..PeerHandler$u20$as$u20$librqbit..peer_connection..PeerConnectionHandler$GT$::on_received_message::hd1fafc35289e3666(self=0x000000012f0478b8, message=Message @ 0x0000000170725470) at torrent_state.rs:742:17 [opt] + frame #12: 0x00000001004992cc rqbit`_$LT$tokio..future..poll_fn..PollFn$LT$F$GT$$u20$as$u20$core..future..future..Future$GT$::poll::heaf39ed4d1b44001 at peer_connection.rs:270:17 [opt] + frame #13: 0x0000000100498bb0 rqbit`_$LT$tokio..future..poll_fn..PollFn$LT$F$GT$$u20$as$u20$core..future..future..Future$GT$::poll::heaf39ed4d1b44001 at select.rs:524:49 [opt] + frame #14: 0x0000000100498678 rqbit`_$LT$tokio..future..poll_fn..PollFn$LT$F$GT$$u20$as$u20$core..future..future..Future$GT$::poll::heaf39ed4d1b44001(self=, cx=) at poll_fn.rs:58:9 [opt] + frame #15: 0x0000000100465910 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4 at peer_connection.rs:285:17 [opt] + frame #16: 0x000000010046582c rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4 at torrent_state.rs:352:51 [opt] + frame #17: 0x000000010046582c rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::h0123dee3540ad03a((null)=0x0000000170725a28) at spawn_utils.rs:9:19 [opt] + frame #18: 0x000000010046582c rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=0x0000000170725a28) at instrument.rs:321:9 [opt] + frame #19: 0x000000010047c4b4 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c at core.rs:328:17 [opt] + frame #20: 0x000000010047c49c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c at unsafe_cell.rs:16:9 [opt] + frame #21: 0x000000010047c49c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd4d25b034d682de3(self=0x000000012f047020, cx=Context @ 0x0000000170725a28) at core.rs:317:30 [opt] + frame #22: 0x000000010047c49c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c at harness.rs:485:19 [opt] + frame #23: 0x000000010047c49c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h089a31be2db3c8da(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x0000600000766970, (null)=) at unwind_safe.rs:272:9 [opt] + frame #24: 0x000000010047c49c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c at panicking.rs:552:40 [opt] + frame #25: 0x000000010047c49c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c at panicking.rs:516:19 [opt] + frame #26: 0x000000010047c49c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c at panic.rs:142:14 [opt] + frame #27: 0x000000010047c49c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c [inlined] tokio::runtime::task::harness::poll_future::h10952a21b68b192d(core=0x000000012f047020, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #28: 0x000000010047c49c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c at harness.rs:208:27 [opt] + frame #29: 0x000000010047c454 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] + frame #30: 0x0000000100686720 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 at raw.rs:201:18 [opt] + frame #31: 0x0000000100686710 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 at mod.rs:408:9 [opt] + frame #32: 0x0000000100686710 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 [inlined] tokio::runtime::scheduler::multi_thread::worker::Context::run_task::_$u7b$$u7b$closure$u7d$$u7d$::h5b3e8de2b636909f at worker.rs:577:18 [opt] + frame #33: 0x0000000100686710 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 at coop.rs:107:5 [opt] + frame #34: 0x000000010068669c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 [inlined] tokio::runtime::coop::budget::h02e40d999ebee93f(f={closure_env#0} @ 0x0000600000766d80) at coop.rs:73:5 [opt] + frame #35: 0x000000010068669c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0(self=0x0000000170726c10, task=Notified> @ scalar, core=) at worker.rs:576:9 [opt] + frame #36: 0x0000000100686060 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883(self=0x0000000170726c10, core=0x0000600002f14320) at worker.rs:0 [opt] + frame #37: 0x000000010068a1b0 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 at worker.rs:491:21 [opt] + frame #38: 0x000000010068a194 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630(self=0x000000012e808e38, t=, f=) at scoped.rs:40:9 [opt] + frame #39: 0x0000000100683ef0 rqbit`tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::h0e6e14e96d63955c(c=) at context.rs:176:26 [opt] + frame #40: 0x0000000100683ed4 rqbit`tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 at local.rs:270:16 [opt] + frame #41: 0x0000000100683ed4 rqbit`tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 at local.rs:246:9 [opt] + frame #42: 0x0000000100683ed4 rqbit`tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 [inlined] tokio::runtime::context::set_scheduler::h0bda3d87c899ebd8(v=0x0000000170726c08, f={closure_env#0} @ 0x0000600000767240) at context.rs:176:17 [opt] + frame #43: 0x0000000100683ed4 rqbit`tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 at worker.rs:486:9 [opt] + frame #44: 0x0000000100683e78 rqbit`tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1(handle=, allow_block_in_place=, f={closure_env#0} @ 0x0000600000767320) at runtime.rs:65:16 [opt] + frame #45: 0x000000010068581c rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2(worker=) at worker.rs:478:5 [opt] + frame #46: 0x000000010047f234 rqbit`std::panicking::try::h68c7f5d65513f8be [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::ha395bacd4b13d755 at worker.rs:422:41 [opt] + frame #47: 0x000000010047f22c rqbit`std::panicking::try::h68c7f5d65513f8be at task.rs:42:21 [opt] + frame #48: 0x000000010047f21c rqbit`std::panicking::try::h68c7f5d65513f8be at core.rs:328:17 [opt] + frame #49: 0x000000010047f200 rqbit`std::panicking::try::h68c7f5d65513f8be at unsafe_cell.rs:16:9 [opt] + frame #50: 0x000000010047f200 rqbit`std::panicking::try::h68c7f5d65513f8be [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h9df1db878e7d43f9(self=0x000000012d60e6a0, cx=) at core.rs:317:30 [opt] + frame #51: 0x000000010047f200 rqbit`std::panicking::try::h68c7f5d65513f8be at harness.rs:485:19 [opt] + frame #52: 0x000000010047f200 rqbit`std::panicking::try::h68c7f5d65513f8be [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h1e6c391a6cc11b93(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x000060000076a560, (null)=) at unwind_safe.rs:272:9 [opt] + frame #53: 0x000000010047f200 rqbit`std::panicking::try::h68c7f5d65513f8be at panicking.rs:552:40 [opt] + frame #54: 0x000000010047f200 rqbit`std::panicking::try::h68c7f5d65513f8be(f=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x000060000076a6a0) at panicking.rs:516:19 [opt] + frame #55: 0x000000010047d27c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf at panic.rs:142:14 [opt] + frame #56: 0x000000010047d26c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf [inlined] tokio::runtime::task::harness::poll_future::hac76a4908bcd795b(core=0x000000012d60e6a0, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #57: 0x000000010047d26c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf at harness.rs:208:27 [opt] + frame #58: 0x000000010047d23c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] + frame #59: 0x0000000100680d00 rqbit`tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 at raw.rs:201:18 [opt] + frame #60: 0x0000000100680cf0 rqbit`tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 at mod.rs:445:9 [opt] + frame #61: 0x0000000100680cf0 rqbit`tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 [inlined] tokio::runtime::blocking::pool::Task::run::h810572839373119b(self=Task @ 0x000060000076ac90) at pool.rs:159:9 [opt] + frame #62: 0x0000000100680cf0 rqbit`tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2(self=0x000000012d6055f0, worker_thread_id=) at pool.rs:513:17 [opt] + frame #63: 0x000000010067d624 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 at pool.rs:471:13 [opt] + frame #64: 0x000000010067d5f0 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6(f={closure_env#0} @ 0x0000000170726f30) at backtrace.rs:154:18 [opt] + frame #65: 0x000000010068c558 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h3091c25686e73a49 at mod.rs:529:17 [opt] + frame #66: 0x000000010068c550 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf3d7daae8e5c4f81(self=, (null)=) at unwind_safe.rs:272:9 [opt] + frame #67: 0x000000010068c550 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 [inlined] std::panicking::try::do_call::h5cec17baa5c7b931(data=) at panicking.rs:552:40 [opt] + frame #68: 0x000000010068c550 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 [inlined] std::panicking::try::h090e5193a44ca682(f=) at panicking.rs:516:19 [opt] + frame #69: 0x000000010068c550 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 [inlined] std::panic::catch_unwind::h6984ad9e1544f62a at panic.rs:142:14 [opt] + frame #70: 0x000000010068c550 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hd5fd1942c3d0bc69 at mod.rs:528:30 [opt] + frame #71: 0x000000010068c4f8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769((null)=0x000060000191cb00, (null)=) at function.rs:250:5 [opt] + frame #72: 0x000000010073e654 rqbit`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::ha50e0d33beaa94b5 at boxed.rs:2007:9 [opt] + frame #73: 0x000000010073e648 rqbit`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h320b0db4bb8e0440 at boxed.rs:2007:9 [opt] + frame #74: 0x000000010073e644 rqbit`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 at thread.rs:108:17 [opt] + frame #75: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 + thread #8 + frame #0: 0x000000018c11a564 libsystem_kernel.dylib`__workq_kernreturn + 8 + thread #9, name = 'tokio-runtime-worker' + frame #0: 0x000000018c11c0ac libsystem_kernel.dylib`__psynch_cvwait + 8 + frame #1: 0x000000018c1595fc libsystem_pthread.dylib`_pthread_cond_wait + 1228 + frame #2: 0x0000000100775444 rqbit`dashmap::lock::RawRwLock::lock_exclusive_slow::hebac357c00faad7e [inlined] _$LT$parking_lot_core..thread_parker..imp..ThreadParker$u20$as$u20$parking_lot_core..thread_parker..ThreadParkerT$GT$::park::hd092cfef044956b8(self=0x000000012f011420) at unix.rs:77:21 [opt] + frame #3: 0x0000000100775424 rqbit`dashmap::lock::RawRwLock::lock_exclusive_slow::hebac357c00faad7e at parking_lot.rs:635:17 [opt] + frame #4: 0x0000000100775324 rqbit`dashmap::lock::RawRwLock::lock_exclusive_slow::hebac357c00faad7e at parking_lot.rs:207:5 [opt] + frame #5: 0x00000001007752e0 rqbit`dashmap::lock::RawRwLock::lock_exclusive_slow::hebac357c00faad7e at parking_lot.rs:600:5 [opt] + frame #6: 0x00000001007752e0 rqbit`dashmap::lock::RawRwLock::lock_exclusive_slow::hebac357c00faad7e(self=) at lock.rs:127:21 [opt] + frame #7: 0x00000001004a691c rqbit`_$LT$dashmap..DashMap$LT$K$C$V$C$S$GT$$u20$as$u20$dashmap..t..Map$LT$K$C$V$C$S$GT$$GT$::_get_mut::ha163c599d0d0a786 [inlined] _$LT$dashmap..lock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_exclusive::he6c6de6bbf9a66ef(self=0x000000012e010348) at lock.rs:39:13 [opt] + frame #8: 0x00000001004a6914 rqbit`_$LT$dashmap..DashMap$LT$K$C$V$C$S$GT$$u20$as$u20$dashmap..t..Map$LT$K$C$V$C$S$GT$$GT$::_get_mut::ha163c599d0d0a786 at rwlock.rs:491:9 [opt] + frame #9: 0x00000001004a6914 rqbit`_$LT$dashmap..DashMap$LT$K$C$V$C$S$GT$$u20$as$u20$dashmap..t..Map$LT$K$C$V$C$S$GT$$GT$::_get_mut::ha163c599d0d0a786 [inlined] _$LT$dashmap..DashMap$LT$K$C$V$C$S$GT$$u20$as$u20$dashmap..t..Map$LT$K$C$V$C$S$GT$$GT$::_yield_write_shard::h4dec3c890a97af32(self=, i=15) at lib.rs:897:38 [opt] + frame #10: 0x00000001004a6914 rqbit`_$LT$dashmap..DashMap$LT$K$C$V$C$S$GT$$u20$as$u20$dashmap..t..Map$LT$K$C$V$C$S$GT$$GT$::_get_mut::ha163c599d0d0a786(self=, key=0x000000012f041eb8) at lib.rs:1037:30 [opt] + frame #11: 0x0000000100471324 rqbit`librqbit::torrent_state::PeerHandler::on_received_piece::hf3408148458b4a03 at lib.rs:595:9 [opt] + frame #12: 0x0000000100471318 rqbit`librqbit::torrent_state::PeerHandler::on_received_piece::hf3408148458b4a03 [inlined] librqbit::torrent_state::PeerStates::with_live_mut::hb3fc8ec845a9b6dd(self=, addr=, f={closure_env#0} @ 0x000060000045e280) at torrent_state.rs:118:14 [opt] + frame #13: 0x0000000100471318 rqbit`librqbit::torrent_state::PeerHandler::on_received_piece::hf3408148458b4a03(self=, handle=SocketAddr @ 0x000000012f041eb8, piece=Piece @ 0x000000017106d478) at torrent_state.rs:1058:9 [opt] + frame #14: 0x000000010046df8c rqbit`_$LT$librqbit..torrent_state..PeerHandler$u20$as$u20$librqbit..peer_connection..PeerConnectionHandler$GT$::on_received_message::hd1fafc35289e3666(self=0x000000012f041eb8, message=Message @ 0x000000017106d470) at torrent_state.rs:742:17 [opt] + frame #15: 0x00000001004992cc rqbit`_$LT$tokio..future..poll_fn..PollFn$LT$F$GT$$u20$as$u20$core..future..future..Future$GT$::poll::heaf39ed4d1b44001 at peer_connection.rs:270:17 [opt] + frame #16: 0x0000000100498bb0 rqbit`_$LT$tokio..future..poll_fn..PollFn$LT$F$GT$$u20$as$u20$core..future..future..Future$GT$::poll::heaf39ed4d1b44001 at select.rs:524:49 [opt] + frame #17: 0x0000000100498678 rqbit`_$LT$tokio..future..poll_fn..PollFn$LT$F$GT$$u20$as$u20$core..future..future..Future$GT$::poll::heaf39ed4d1b44001(self=, cx=) at poll_fn.rs:58:9 [opt] + frame #18: 0x0000000100465910 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4 at peer_connection.rs:285:17 [opt] + frame #19: 0x000000010046582c rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4 at torrent_state.rs:352:51 [opt] + frame #20: 0x000000010046582c rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::h0123dee3540ad03a((null)=0x000000017106da28) at spawn_utils.rs:9:19 [opt] + frame #21: 0x000000010046582c rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=0x000000017106da28) at instrument.rs:321:9 [opt] + frame #22: 0x000000010047c4b4 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c at core.rs:328:17 [opt] + frame #23: 0x000000010047c49c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c at unsafe_cell.rs:16:9 [opt] + frame #24: 0x000000010047c49c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd4d25b034d682de3(self=0x000000012f041620, cx=Context @ 0x000000017106da28) at core.rs:317:30 [opt] + frame #25: 0x000000010047c49c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c at harness.rs:485:19 [opt] + frame #26: 0x000000010047c49c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h089a31be2db3c8da(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x000060000076cff0, (null)=) at unwind_safe.rs:272:9 [opt] + frame #27: 0x000000010047c49c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c at panicking.rs:552:40 [opt] + frame #28: 0x000000010047c49c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c at panicking.rs:516:19 [opt] + frame #29: 0x000000010047c49c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c at panic.rs:142:14 [opt] + frame #30: 0x000000010047c49c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c [inlined] tokio::runtime::task::harness::poll_future::h10952a21b68b192d(core=0x000000012f041620, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #31: 0x000000010047c49c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c at harness.rs:208:27 [opt] + frame #32: 0x000000010047c454 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] + frame #33: 0x0000000100686720 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 at raw.rs:201:18 [opt] + frame #34: 0x0000000100686710 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 at mod.rs:408:9 [opt] + frame #35: 0x0000000100686710 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 [inlined] tokio::runtime::scheduler::multi_thread::worker::Context::run_task::_$u7b$$u7b$closure$u7d$$u7d$::h5b3e8de2b636909f at worker.rs:577:18 [opt] + frame #36: 0x0000000100686710 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 at coop.rs:107:5 [opt] + frame #37: 0x000000010068669c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 [inlined] tokio::runtime::coop::budget::h02e40d999ebee93f(f={closure_env#0} @ 0x0000600000755160) at coop.rs:73:5 [opt] + frame #38: 0x000000010068669c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0(self=0x000000017106ec10, task=Notified> @ scalar, core=) at worker.rs:576:9 [opt] + frame #39: 0x0000000100686060 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883(self=0x000000017106ec10, core=0x0000600002f144b0) at worker.rs:0 [opt] + frame #40: 0x000000010068a1b0 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 at worker.rs:491:21 [opt] + frame #41: 0x000000010068a194 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630(self=0x000000012f011238, t=, f=) at scoped.rs:40:9 [opt] + frame #42: 0x0000000100683ef0 rqbit`tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::h0e6e14e96d63955c(c=) at context.rs:176:26 [opt] + frame #43: 0x0000000100683ed4 rqbit`tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 at local.rs:270:16 [opt] + frame #44: 0x0000000100683ed4 rqbit`tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 at local.rs:246:9 [opt] + frame #45: 0x0000000100683ed4 rqbit`tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 [inlined] tokio::runtime::context::set_scheduler::h0bda3d87c899ebd8(v=0x000000017106ec08, f={closure_env#0} @ 0x00006000007553c0) at context.rs:176:17 [opt] + frame #46: 0x0000000100683ed4 rqbit`tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 at worker.rs:486:9 [opt] + frame #47: 0x0000000100683e78 rqbit`tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1(handle=, allow_block_in_place=, f={closure_env#0} @ 0x00006000007554a0) at runtime.rs:65:16 [opt] + frame #48: 0x000000010068581c rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2(worker=) at worker.rs:478:5 [opt] + frame #49: 0x000000010047f234 rqbit`std::panicking::try::h68c7f5d65513f8be [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::ha395bacd4b13d755 at worker.rs:422:41 [opt] + frame #50: 0x000000010047f22c rqbit`std::panicking::try::h68c7f5d65513f8be at task.rs:42:21 [opt] + frame #51: 0x000000010047f21c rqbit`std::panicking::try::h68c7f5d65513f8be at core.rs:328:17 [opt] + frame #52: 0x000000010047f200 rqbit`std::panicking::try::h68c7f5d65513f8be at unsafe_cell.rs:16:9 [opt] + frame #53: 0x000000010047f200 rqbit`std::panicking::try::h68c7f5d65513f8be [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h9df1db878e7d43f9(self=0x000000012d618da0, cx=) at core.rs:317:30 [opt] + frame #54: 0x000000010047f200 rqbit`std::panicking::try::h68c7f5d65513f8be at harness.rs:485:19 [opt] + frame #55: 0x000000010047f200 rqbit`std::panicking::try::h68c7f5d65513f8be [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h1e6c391a6cc11b93(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000600000755620, (null)=) at unwind_safe.rs:272:9 [opt] + frame #56: 0x000000010047f200 rqbit`std::panicking::try::h68c7f5d65513f8be at panicking.rs:552:40 [opt] + frame #57: 0x000000010047f200 rqbit`std::panicking::try::h68c7f5d65513f8be(f=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000600000755710) at panicking.rs:516:19 [opt] + frame #58: 0x000000010047d27c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf at panic.rs:142:14 [opt] + frame #59: 0x000000010047d26c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf [inlined] tokio::runtime::task::harness::poll_future::hac76a4908bcd795b(core=0x000000012d618da0, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #60: 0x000000010047d26c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf at harness.rs:208:27 [opt] + frame #61: 0x000000010047d23c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] + frame #62: 0x0000000100680d00 rqbit`tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 at raw.rs:201:18 [opt] + frame #63: 0x0000000100680cf0 rqbit`tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 at mod.rs:445:9 [opt] + frame #64: 0x0000000100680cf0 rqbit`tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 [inlined] tokio::runtime::blocking::pool::Task::run::h810572839373119b(self=Task @ 0x00006000007558f0) at pool.rs:159:9 [opt] + frame #65: 0x0000000100680cf0 rqbit`tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2(self=0x000000012d6055f0, worker_thread_id=) at pool.rs:513:17 [opt] + frame #66: 0x000000010067d624 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 at pool.rs:471:13 [opt] + frame #67: 0x000000010067d5f0 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6(f={closure_env#0} @ 0x000000017106ef30) at backtrace.rs:154:18 [opt] + frame #68: 0x000000010068c558 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h3091c25686e73a49 at mod.rs:529:17 [opt] + frame #69: 0x000000010068c550 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf3d7daae8e5c4f81(self=, (null)=) at unwind_safe.rs:272:9 [opt] + frame #70: 0x000000010068c550 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 [inlined] std::panicking::try::do_call::h5cec17baa5c7b931(data=) at panicking.rs:552:40 [opt] + frame #71: 0x000000010068c550 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 [inlined] std::panicking::try::h090e5193a44ca682(f=) at panicking.rs:516:19 [opt] + frame #72: 0x000000010068c550 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 [inlined] std::panic::catch_unwind::h6984ad9e1544f62a at panic.rs:142:14 [opt] + frame #73: 0x000000010068c550 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hd5fd1942c3d0bc69 at mod.rs:528:30 [opt] + frame #74: 0x000000010068c4f8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769((null)=0x000060000191d9c0, (null)=) at function.rs:250:5 [opt] + frame #75: 0x000000010073e654 rqbit`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::ha50e0d33beaa94b5 at boxed.rs:2007:9 [opt] + frame #76: 0x000000010073e648 rqbit`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h320b0db4bb8e0440 at boxed.rs:2007:9 [opt] + frame #77: 0x000000010073e644 rqbit`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 at thread.rs:108:17 [opt] + frame #78: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 + thread #10, name = 'tokio-runtime-worker' + frame #0: 0x000000018c11c0ac libsystem_kernel.dylib`__psynch_cvwait + 8 + frame #1: 0x000000018c1595fc libsystem_pthread.dylib`_pthread_cond_wait + 1228 + frame #2: 0x0000000100783348 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h836aa47d9a7a9313 [inlined] _$LT$parking_lot_core..thread_parker..imp..ThreadParker$u20$as$u20$parking_lot_core..thread_parker..ThreadParkerT$GT$::park::hd092cfef044956b8(self=) at unix.rs:77:21 [opt] + frame #3: 0x000000010078332c rqbit`parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h836aa47d9a7a9313 at parking_lot.rs:635:17 [opt] + frame #4: 0x0000000100783200 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h836aa47d9a7a9313 at parking_lot.rs:207:5 [opt] + frame #5: 0x00000001007831a4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h836aa47d9a7a9313 at parking_lot.rs:600:5 [opt] + frame #6: 0x00000001007831a4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h836aa47d9a7a9313 at raw_rwlock.rs:1115:17 [opt] + frame #7: 0x00000001007830bc rqbit`parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h836aa47d9a7a9313(self=0x0000600003710010, timeout=) at raw_rwlock.rs:633:26 [opt] + frame #8: 0x000000010046b290 rqbit`librqbit::torrent_state::TorrentState::reserve_next_needed_piece::h4003aa9a864bc6d1 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_exclusive::h72199bdcc536be8b(self=0x0000600003710010) at raw_rwlock.rs:73:26 [opt] + frame #9: 0x000000010046b280 rqbit`librqbit::torrent_state::TorrentState::reserve_next_needed_piece::h4003aa9a864bc6d1 at rwlock.rs:491:9 [opt] + frame #10: 0x000000010046b280 rqbit`librqbit::torrent_state::TorrentState::reserve_next_needed_piece::h4003aa9a864bc6d1 [inlined] librqbit::torrent_state::TorrentState::reserve_next_needed_piece::_$u7b$$u7b$closure$u7d$$u7d$::h71381f2b34fe3f07(live=0x000000012f0162f8) at torrent_state.rs:436:41 [opt] + frame #11: 0x000000010046af40 rqbit`librqbit::torrent_state::TorrentState::reserve_next_needed_piece::h4003aa9a864bc6d1 at torrent_state.rs:120:44 [opt] + frame #12: 0x000000010046af1c rqbit`librqbit::torrent_state::TorrentState::reserve_next_needed_piece::h4003aa9a864bc6d1 at option.rs:1406:24 [opt] + frame #13: 0x000000010046af10 rqbit`librqbit::torrent_state::TorrentState::reserve_next_needed_piece::h4003aa9a864bc6d1 [inlined] librqbit::torrent_state::PeerStates::with_live_mut::h0de26ebf36fc5e29(self=, addr=SocketAddr @ 0x000000017127a1f0, f={closure_env#0} @ 0x000060000076d400) at torrent_state.rs:117:9 [opt] + frame #14: 0x000000010046af08 rqbit`librqbit::torrent_state::TorrentState::reserve_next_needed_piece::h4003aa9a864bc6d1(self=0x000000012d7051a0, peer_handle=SocketAddr @ 0x000000017127a1f0) at torrent_state.rs:430:9 [opt] + frame #15: 0x0000000100467cb8 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::he46a59e86a4040f3 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::hf7d9f912d6dbaf06((null)=) at torrent_state.rs:943:31 [opt] + frame #16: 0x0000000100467ba0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::he46a59e86a4040f3 at torrent_state.rs:895:32 [opt] + frame #17: 0x0000000100467b04 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::he46a59e86a4040f3 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hc45e268a6b340a7c((null)=) at spawn_utils.rs:9:19 [opt] + frame #18: 0x00000001004677f8 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::he46a59e86a4040f3(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] + frame #19: 0x000000010047cdfc rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::hb33feb246c22b65a at core.rs:328:17 [opt] + frame #20: 0x000000010047cde4 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::hb33feb246c22b65a at unsafe_cell.rs:16:9 [opt] + frame #21: 0x000000010047cde4 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::hb33feb246c22b65a [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hcdf27c988a572899(self=0x000000012f019620, cx=Context @ 0x000000017127a608) at core.rs:317:30 [opt] + frame #22: 0x000000010047cde4 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::hb33feb246c22b65a at harness.rs:485:19 [opt] + frame #23: 0x000000010047cde4 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::hb33feb246c22b65a [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hb2e5992a09fa37e9(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x000060000075c320, (null)=) at unwind_safe.rs:272:9 [opt] + frame #24: 0x000000010047cde4 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::hb33feb246c22b65a at panicking.rs:552:40 [opt] + frame #25: 0x000000010047cde4 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::hb33feb246c22b65a at panicking.rs:516:19 [opt] + frame #26: 0x000000010047cde4 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::hb33feb246c22b65a at panic.rs:142:14 [opt] + frame #27: 0x000000010047cde4 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::hb33feb246c22b65a [inlined] tokio::runtime::task::harness::poll_future::h94616be7d9dad15e(core=0x000000012f019620, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #28: 0x000000010047cde4 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::hb33feb246c22b65a at harness.rs:208:27 [opt] + frame #29: 0x000000010047cd9c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::hb33feb246c22b65a(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] + frame #30: 0x0000000100686720 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 at raw.rs:201:18 [opt] + frame #31: 0x0000000100686710 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 at mod.rs:408:9 [opt] + frame #32: 0x0000000100686710 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 [inlined] tokio::runtime::scheduler::multi_thread::worker::Context::run_task::_$u7b$$u7b$closure$u7d$$u7d$::h5b3e8de2b636909f at worker.rs:577:18 [opt] + frame #33: 0x0000000100686710 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 at coop.rs:107:5 [opt] + frame #34: 0x000000010068669c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 [inlined] tokio::runtime::coop::budget::h02e40d999ebee93f(f={closure_env#0} @ 0x000060000075c520) at coop.rs:73:5 [opt] + frame #35: 0x000000010068669c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0(self=0x000000017127ac10, task=Notified> @ scalar, core=) at worker.rs:576:9 [opt] + frame #36: 0x0000000100686060 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883(self=0x000000017127ac10, core=0x0000600002f144b0) at worker.rs:0 [opt] + frame #37: 0x000000010068a1b0 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 at worker.rs:491:21 [opt] + frame #38: 0x000000010068a194 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630(self=0x000000010e00b838, t=, f=) at scoped.rs:40:9 [opt] + frame #39: 0x0000000100683ef0 rqbit`tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::h0e6e14e96d63955c(c=) at context.rs:176:26 [opt] + frame #40: 0x0000000100683ed4 rqbit`tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 at local.rs:270:16 [opt] + frame #41: 0x0000000100683ed4 rqbit`tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 at local.rs:246:9 [opt] + frame #42: 0x0000000100683ed4 rqbit`tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 [inlined] tokio::runtime::context::set_scheduler::h0bda3d87c899ebd8(v=0x000000017127ac08, f={closure_env#0} @ 0x0000600000740090) at context.rs:176:17 [opt] + frame #43: 0x0000000100683ed4 rqbit`tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 at worker.rs:486:9 [opt] + frame #44: 0x0000000100683e78 rqbit`tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1(handle=, allow_block_in_place=, f={closure_env#0} @ 0x0000600000740170) at runtime.rs:65:16 [opt] + frame #45: 0x000000010068581c rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2(worker=) at worker.rs:478:5 [opt] + frame #46: 0x000000010047f234 rqbit`std::panicking::try::h68c7f5d65513f8be [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::ha395bacd4b13d755 at worker.rs:422:41 [opt] + frame #47: 0x000000010047f22c rqbit`std::panicking::try::h68c7f5d65513f8be at task.rs:42:21 [opt] + frame #48: 0x000000010047f21c rqbit`std::panicking::try::h68c7f5d65513f8be at core.rs:328:17 [opt] + frame #49: 0x000000010047f200 rqbit`std::panicking::try::h68c7f5d65513f8be at unsafe_cell.rs:16:9 [opt] + frame #50: 0x000000010047f200 rqbit`std::panicking::try::h68c7f5d65513f8be [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h9df1db878e7d43f9(self=0x000000012d614920, cx=) at core.rs:317:30 [opt] + frame #51: 0x000000010047f200 rqbit`std::panicking::try::h68c7f5d65513f8be at harness.rs:485:19 [opt] + frame #52: 0x000000010047f200 rqbit`std::panicking::try::h68c7f5d65513f8be [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h1e6c391a6cc11b93(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x000060000075c6b0, (null)=) at unwind_safe.rs:272:9 [opt] + frame #53: 0x000000010047f200 rqbit`std::panicking::try::h68c7f5d65513f8be at panicking.rs:552:40 [opt] + frame #54: 0x000000010047f200 rqbit`std::panicking::try::h68c7f5d65513f8be(f=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x000060000075c7a0) at panicking.rs:516:19 [opt] + frame #55: 0x000000010047d27c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf at panic.rs:142:14 [opt] + frame #56: 0x000000010047d26c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf [inlined] tokio::runtime::task::harness::poll_future::hac76a4908bcd795b(core=0x000000012d614920, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #57: 0x000000010047d26c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf at harness.rs:208:27 [opt] + frame #58: 0x000000010047d23c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] + frame #59: 0x0000000100680d00 rqbit`tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 at raw.rs:201:18 [opt] + frame #60: 0x0000000100680cf0 rqbit`tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 at mod.rs:445:9 [opt] + frame #61: 0x0000000100680cf0 rqbit`tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 [inlined] tokio::runtime::blocking::pool::Task::run::h810572839373119b(self=Task @ 0x000060000075c980) at pool.rs:159:9 [opt] + frame #62: 0x0000000100680cf0 rqbit`tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2(self=0x000000012d6055f0, worker_thread_id=) at pool.rs:513:17 [opt] + frame #63: 0x000000010067d624 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 at pool.rs:471:13 [opt] + frame #64: 0x000000010067d5f0 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6(f={closure_env#0} @ 0x000000017127af30) at backtrace.rs:154:18 [opt] + frame #65: 0x000000010068c558 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h3091c25686e73a49 at mod.rs:529:17 [opt] + frame #66: 0x000000010068c550 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf3d7daae8e5c4f81(self=, (null)=) at unwind_safe.rs:272:9 [opt] + frame #67: 0x000000010068c550 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 [inlined] std::panicking::try::do_call::h5cec17baa5c7b931(data=) at panicking.rs:552:40 [opt] + frame #68: 0x000000010068c550 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 [inlined] std::panicking::try::h090e5193a44ca682(f=) at panicking.rs:516:19 [opt] + frame #69: 0x000000010068c550 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 [inlined] std::panic::catch_unwind::h6984ad9e1544f62a at panic.rs:142:14 [opt] + frame #70: 0x000000010068c550 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hd5fd1942c3d0bc69 at mod.rs:528:30 [opt] + frame #71: 0x000000010068c4f8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769((null)=0x000060000190c4c0, (null)=) at function.rs:250:5 [opt] + frame #72: 0x000000010073e654 rqbit`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::ha50e0d33beaa94b5 at boxed.rs:2007:9 [opt] + frame #73: 0x000000010073e648 rqbit`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h320b0db4bb8e0440 at boxed.rs:2007:9 [opt] + frame #74: 0x000000010073e644 rqbit`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 at thread.rs:108:17 [opt] + frame #75: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 From 1a55936346c60a260c38eefb47617eea7f2eec7c Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Sun, 19 Nov 2023 18:32:41 +0000 Subject: [PATCH 13/40] Nothing --- crates/librqbit/src/torrent_state.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crates/librqbit/src/torrent_state.rs b/crates/librqbit/src/torrent_state.rs index 553a5f1..5d92f2b 100644 --- a/crates/librqbit/src/torrent_state.rs +++ b/crates/librqbit/src/torrent_state.rs @@ -547,8 +547,8 @@ impl TorrentState { g.chunks.mark_chunk_request_cancelled(req.piece, req.chunk); } } - PeerState::Queued | PeerState::Dead | PeerState::NotNeeded => { - warn!("bug: peer was in a wrong state, ignoring it forever"); + s @ PeerState::Queued | s @ PeerState::Dead | s @ PeerState::NotNeeded => { + warn!("bug: peer was in a wrong state {s:?}, ignoring it forever"); // Prevent deadlocks. drop(pe); self.peers.drop_peer(handle); From ff71ade190508ade61d91b653a5985eab7ca31ad Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Sun, 19 Nov 2023 19:40:45 +0000 Subject: [PATCH 14/40] timed existence for lock time debugging --- crates/librqbit/Cargo.toml | 1 + crates/librqbit/src/torrent_state.rs | 208 ++++++++++++++++++++------- crates/rqbit/Cargo.toml | 1 + 3 files changed, 159 insertions(+), 51 deletions(-) diff --git a/crates/librqbit/Cargo.toml b/crates/librqbit/Cargo.toml index f5706a7..bc7ca03 100644 --- a/crates/librqbit/Cargo.toml +++ b/crates/librqbit/Cargo.toml @@ -13,6 +13,7 @@ readme = "README.md" [features] default = ["sha1-system", "default-tls"] +timed_existence = [] sha1-system = ["sha1w/sha1-system"] sha1-openssl = ["sha1w/sha1-openssl"] sha1-rust = ["sha1w/sha1-rust"] diff --git a/crates/librqbit/src/torrent_state.rs b/crates/librqbit/src/torrent_state.rs index 5d92f2b..65aae19 100644 --- a/crates/librqbit/src/torrent_state.rs +++ b/crates/librqbit/src/torrent_state.rs @@ -29,7 +29,7 @@ use librqbit_core::{ lengths::{ChunkInfo, Lengths, ValidPieceIndex}, torrent_metainfo::TorrentMetaV1Info, }; -use parking_lot::{Mutex, RwLock, RwLockReadGuard}; +use parking_lot::{Mutex, RwLock, RwLockReadGuard, RwLockWriteGuard}; use peer_binary_protocol::{ extended::handshake::ExtendedHandshake, Handshake, Message, MessageOwned, Piece, Request, }; @@ -105,8 +105,15 @@ impl PeerStates { self.states.get(&addr).map(|e| f(e.value())) } - pub fn with_peer_mut(&self, addr: PeerHandle, f: impl FnOnce(&mut Peer) -> R) -> Option { - self.states.get_mut(&addr).map(|mut e| f(e.value_mut())) + pub fn with_peer_mut( + &self, + addr: PeerHandle, + reason: &'static str, + f: impl FnOnce(&mut Peer) -> R, + ) -> Option { + self.states + .get_mut(&addr) + .map(|e| f(TimedExistence::new(e, reason).value_mut())) } pub fn with_live(&self, addr: PeerHandle, f: impl FnOnce(&LivePeerState) -> R) -> Option { self.states.get(&addr).and_then(|e| match &e.value().state { @@ -117,35 +124,35 @@ impl PeerStates { pub fn with_live_mut( &self, addr: PeerHandle, + reason: &'static str, f: impl FnOnce(&mut LivePeerState) -> R, ) -> Option { - self.states - .get_mut(&addr) - .and_then(|mut e| match &mut e.value_mut().state { - PeerState::Live(l) => Some(f(l)), - _ => None, - }) + self.with_peer_mut(addr, reason, |peer| match &mut peer.state { + PeerState::Live(l) => Some(f(l)), + _ => None, + }) + .flatten() } pub fn add(&self, addr: SocketAddr) -> Option { self.add_if_not_seen(addr) } pub fn mark_peer_dead(&self, handle: PeerHandle) -> Option> { - let mut peer = self.states.get_mut(&handle)?; - peer.state.to_dead() + self.with_peer_mut(handle, "mark_peer_dead", |peer| peer.state.to_dead()) + .flatten() } pub fn drop_peer(&self, handle: PeerHandle) -> Option { self.states.remove(&handle).map(|r| r.1) } pub fn mark_i_am_choked(&self, handle: PeerHandle, is_choked: bool) -> Option { - self.with_live_mut(handle, |live| { + self.with_live_mut(handle, "mark_i_am_choked", |live| { let prev = live.i_am_choked; live.i_am_choked = is_choked; prev }) } pub fn mark_peer_interested(&self, handle: PeerHandle, is_interested: bool) -> Option { - self.with_live_mut(handle, |live| { + self.with_live_mut(handle, "mark_peer_interested", |live| { let prev = live.peer_interested; live.peer_interested = is_interested; prev @@ -156,7 +163,7 @@ impl PeerStates { handle: PeerHandle, bitfield: Vec, ) -> Option> { - self.with_live_mut(handle, |live| { + self.with_live_mut(handle, "update_bitfield_from_vec", |live| { let bitfield = BF::from_vec(bitfield); let prev = live.bitfield.take(); live.bitfield = Some(bitfield); @@ -164,7 +171,7 @@ impl PeerStates { }) } pub fn mark_peer_connecting(&self, h: PeerHandle) -> anyhow::Result { - self.with_peer_mut(h, |peer| { + self.with_peer_mut(h, "mark_peer_connecting", |peer| { peer.state .queued_to_connecting() .context("invalid peer state") @@ -177,13 +184,16 @@ impl PeerStates { } fn reset_peer_backoff(&self, handle: PeerHandle) { - self.with_peer_mut(handle, |p| { + self.with_peer_mut(handle, "reset_peer_backoff", |p| { p.stats.backoff.reset(); }); } fn mark_peer_not_needed(&self, handle: PeerHandle) -> Option { - self.states.get_mut(&handle)?.state.to_not_needed() + self.with_peer_mut(handle, "mark_peer_not_needed", |peer| { + peer.state.to_not_needed() + }) + .flatten() } } @@ -279,6 +289,87 @@ pub struct TorrentState { finished_notify: Notify, } +#[cfg(not(feature = "timed_existence"))] +mod timed_existence { + use std::ops::{Deref, DerefMut}; + + impl TimedExistence { + #[inline(always)] + pub fn new(object: T, _reason: &'static str) -> Self { + Self(object) + } + } + + pub struct TimedExistence(T); + impl Deref for TimedExistence { + type Target = T; + + #[inline(always)] + fn deref(&self) -> &Self::Target { + &self.0 + } + } + + impl DerefMut for TimedExistence { + #[inline(always)] + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.0 + } + } +} + +#[cfg(feature = "timed_existence")] +mod timed_existence { + use std::ops::{Deref, DerefMut}; + use std::time::{Duration, Instant}; + use tracing::warn; + + // Prints if the object exists for too long. + // This is used to track long-lived locks for debugging. + pub struct TimedExistence { + object: T, + reason: &'static str, + started: Instant, + } + + impl TimedExistence { + pub fn new(object: T, reason: &'static str) -> Self { + Self { + object, + reason, + started: Instant::now(), + } + } + } + + impl Drop for TimedExistence { + fn drop(&mut self) { + const MAX: Duration = Duration::from_millis(1); + let elapsed = self.started.elapsed(); + let reason = self.reason; + if elapsed > MAX { + warn!("elapsed on lock {reason:?}: {elapsed:?}") + } + } + } + + impl Deref for TimedExistence { + type Target = T; + + fn deref(&self) -> &Self::Target { + &self.object + } + } + + impl DerefMut for TimedExistence { + fn deref_mut(&mut self) -> &mut Self::Target { + &mut self.object + } + } +} + +pub use timed_existence::TimedExistence; + impl TorrentState { #[allow(clippy::too_many_arguments)] pub fn new( @@ -412,19 +503,26 @@ impl TorrentState { pub fn lock_read(&self) -> RwLockReadGuard { self.locked.read() } + pub fn lock_write( + &self, + reason: &'static str, + ) -> TimedExistence> { + TimedExistence::new(self.locked.write(), reason) + } fn get_next_needed_piece(&self, peer_handle: PeerHandle) -> Option { - self.peers.with_live_mut(peer_handle, |live| { - let g = self.locked.read(); - let bf = live.bitfield.as_ref()?; - for n in g.chunks.iter_needed_pieces() { - if bf.get(n).map(|v| *v) == Some(true) { - // in theory it should be safe without validation, but whatever. - return self.lengths.validate_piece_index(n as u32); + self.peers + .with_live_mut(peer_handle, "get_next_needed_piece", |live| { + let g = self.locked.read(); + let bf = live.bitfield.as_ref()?; + for n in g.chunks.iter_needed_pieces() { + if bf.get(n).map(|v| *v) == Some(true) { + // in theory it should be safe without validation, but whatever. + return self.lengths.validate_piece_index(n as u32); + } } - } - None - })? + None + })? } fn am_i_choked(&self, peer_handle: PeerHandle) -> Option { @@ -434,12 +532,12 @@ impl TorrentState { fn reserve_next_needed_piece(&self, peer_handle: PeerHandle) -> Option { // TODO: locking one inside the other in different order results in deadlocks. self.peers - .with_live_mut(peer_handle, |live| { + .with_live_mut(peer_handle, "reserve_next_needed_piece", |live| { if live.i_am_choked { debug!("we are choked, can't reserve next piece"); return None; } - let mut g = self.locked.write(); + let mut g = self.lock_write("reserve_next_needed_piece"); let n = { let mut n_opt = None; let bf = live.bitfield.as_ref()?; @@ -478,7 +576,7 @@ impl TorrentState { } let avg_time = self.stats.average_piece_download_time()?; - let mut g = self.locked.write(); + let mut g = self.lock_write("try_steal_old_slow_piece"); let (idx, elapsed, piece_req) = g .inflight_pieces .iter_mut() @@ -516,7 +614,7 @@ impl TorrentState { } fn set_peer_live(&self, handle: PeerHandle, h: Handshake) { - let result = self.peers.with_peer_mut(handle, |p| { + let result = self.peers.with_peer_mut(handle, "set_peer_live", |p| { p.state.connecting_to_live(Id20(h.peer_id)).is_some() }); match result { @@ -528,7 +626,7 @@ impl TorrentState { fn on_peer_died(self: &Arc, handle: PeerHandle, error: Option) { let mut pe = match self.peers.states.get_mut(&handle) { - Some(peer) => peer, + Some(peer) => TimedExistence::new(peer, "on_peer_died"), None => { warn!("bug: peer not found in table. Forgetting it forever"); return; @@ -537,7 +635,7 @@ impl TorrentState { match std::mem::take(&mut pe.value_mut().state) { PeerState::Connecting(_) => {} PeerState::Live(live) => { - let mut g = self.locked.write(); + let mut g = self.lock_write("mark_chunk_requests_canceled"); for req in live.inflight_requests { debug!( "peer dead, marking chunk request cancelled, index={}, chunk={}", @@ -588,7 +686,7 @@ impl TorrentState { tokio::time::sleep(dur).await; state .peers - .with_peer_mut(handle, |peer| { + .with_peer_mut(handle, "dead_to_queued", |peer| { match &peer.state { PeerState::Dead => peer.state = PeerState::Queued, other => bail!( @@ -822,8 +920,12 @@ impl PeerHandler { }; let tx = { - let g = self.state.locked.read(); - if !g.chunks.is_chunk_ready_to_upload(&chunk_info) { + if !self + .state + .lock_read() + .chunks + .is_chunk_ready_to_upload(&chunk_info) + { anyhow::bail!( "got request for a chunk that is not ready to upload. chunk {:?}", &chunk_info @@ -846,7 +948,7 @@ impl PeerHandler { #[inline(never)] fn on_have(&self, handle: PeerHandle, have: u32) { - self.state.peers.with_live_mut(handle, |live| { + self.state.peers.with_live_mut(handle, "on_have", |live| { if let Some(bitfield) = live.bitfield.as_mut() { bitfield.set(have as usize, true); debug!("updated bitfield with have={}", have); @@ -979,13 +1081,16 @@ impl PeerHandler { }; for chunk in self.state.lengths.iter_chunk_infos(next) { - if self.state.locked.read().chunks.is_chunk_downloaded(&chunk) { + if self.state.lock_read().chunks.is_chunk_downloaded(&chunk) { continue; } - match self.state.peers.with_live_mut(handle, |l| { - l.inflight_requests.insert(InflightRequest::from(&chunk)) - }) { + match self + .state + .peers + .with_live_mut(handle, "inflight_requests.insert", |l| { + l.inflight_requests.insert(InflightRequest::from(&chunk)) + }) { Some(true) => {} Some(false) => { warn!("probably a bug, we already requested {:?}", chunk); @@ -1039,11 +1144,13 @@ impl PeerHandler { #[inline(never)] fn on_i_am_unchoked(&self, handle: PeerHandle) { debug!("we are unchoked"); - self.state.peers.with_live_mut(handle, |live| { - live.i_am_choked = false; - live.have_notify.notify_waiters(); - live.requests_sem.add_permits(16); - }); + self.state + .peers + .with_live_mut(handle, "on_i_am_unchoked", |live| { + live.i_am_choked = false; + live.have_notify.notify_waiters(); + live.requests_sem.add_permits(16); + }); } #[inline(never)] @@ -1061,7 +1168,7 @@ impl PeerHandler { self.state .peers - .with_live_mut(handle, |h| { + .with_live_mut(handle, "inflight_requests.remove", |h| { h.requests_sem.add_permits(1); self.state @@ -1084,7 +1191,7 @@ impl PeerHandler { .context("peer not found")??; let full_piece_download_time = { - let mut g = self.state.locked.write(); + let mut g = self.state.lock_write("mark_chunk_downloaded"); match g.chunks.mark_chunk_downloaded(&piece) { Some(ChunkMarkingResult::Completed) => { @@ -1156,7 +1263,7 @@ impl PeerHandler { Ordering::Relaxed, ); { - let mut g = self.state.locked.write(); + let mut g = self.state.lock_write("mark_piece_downloaded"); g.chunks.mark_piece_downloaded(chunk_info.piece_index); self.state.peers.reset_peer_backoff(handle); @@ -1175,8 +1282,7 @@ impl PeerHandler { false => { warn!("checksum for piece={} did not validate", index,); self.state - .locked - .write() + .lock_write("mark_piece_broken") .chunks .mark_piece_broken(chunk_info.piece_index); } diff --git a/crates/rqbit/Cargo.toml b/crates/rqbit/Cargo.toml index 8ea9f1b..eaf40ba 100644 --- a/crates/rqbit/Cargo.toml +++ b/crates/rqbit/Cargo.toml @@ -13,6 +13,7 @@ readme = "README.md" [features] default = ["sha1-system", "default-tls"] +timed_existence = ["librqbit/timed_existence"] sha1-system = ["librqbit/sha1-system"] sha1-openssl = ["librqbit/sha1-openssl"] sha1-rust = ["librqbit/sha1-rust"] From 2ad288199d90e23055692f5e7db266a8936e5910 Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Sun, 19 Nov 2023 19:42:19 +0000 Subject: [PATCH 15/40] timed existence for lock time debugging --- crates/librqbit/src/torrent_state.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/crates/librqbit/src/torrent_state.rs b/crates/librqbit/src/torrent_state.rs index 65aae19..5af3f5d 100644 --- a/crates/librqbit/src/torrent_state.rs +++ b/crates/librqbit/src/torrent_state.rs @@ -654,6 +654,11 @@ impl TorrentState { } }; + // If peer is already set not needed, ignore. + if let PeerState::NotNeeded = pe.value().state { + return; + } + if error.is_none() { debug!("peer died without errors, not re-queueing"); pe.value_mut().state = PeerState::NotNeeded; From 3f0c4b72375b8dd10d94d7532d3703021238e60d Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Sun, 19 Nov 2023 20:01:08 +0000 Subject: [PATCH 16/40] Fix the NotNeeded warning --- crates/librqbit/src/torrent_state.rs | 63 ++++++++++++++++++---------- 1 file changed, 41 insertions(+), 22 deletions(-) diff --git a/crates/librqbit/src/torrent_state.rs b/crates/librqbit/src/torrent_state.rs index 5af3f5d..827e741 100644 --- a/crates/librqbit/src/torrent_state.rs +++ b/crates/librqbit/src/torrent_state.rs @@ -77,19 +77,23 @@ pub struct AggregatePeerStats { impl PeerStates { pub fn stats(&self) -> AggregatePeerStats { - self.states - .iter() - .fold(AggregatePeerStats::default(), |mut s, p| { - s.seen += 1; - match &p.value().state { - PeerState::Connecting(_) => s.connecting += 1, - PeerState::Live(_) => s.live += 1, - PeerState::Queued => s.queued += 1, - PeerState::Dead => s.dead += 1, - PeerState::NotNeeded => s.fully_have_and_we_are_finished += 1, - }; - s - }) + // TODO: it would be better to store these as atomic not to lock needlessly. + // However this would probably cause even more spaghetti. + timeit("PeerStates::stats", || { + self.states + .iter() + .fold(AggregatePeerStats::default(), |mut s, p| { + s.seen += 1; + match &p.value().state { + PeerState::Connecting(_) => s.connecting += 1, + PeerState::Live(_) => s.live += 1, + PeerState::Queued => s.queued += 1, + PeerState::Dead => s.dead += 1, + PeerState::NotNeeded => s.fully_have_and_we_are_finished += 1, + }; + s + }) + }) } pub fn add_if_not_seen(&self, addr: SocketAddr) -> Option { use dashmap::mapref::entry::Entry; @@ -293,6 +297,8 @@ pub struct TorrentState { mod timed_existence { use std::ops::{Deref, DerefMut}; + pub struct TimedExistence(T); + impl TimedExistence { #[inline(always)] pub fn new(object: T, _reason: &'static str) -> Self { @@ -300,7 +306,6 @@ mod timed_existence { } } - pub struct TimedExistence(T); impl Deref for TimedExistence { type Target = T; @@ -316,6 +321,11 @@ mod timed_existence { &mut self.0 } } + + #[inline(always)] + pub fn timeit(_name: &'static str, f: impl FnOnce() -> R) -> R { + f() + } } #[cfg(feature = "timed_existence")] @@ -324,6 +334,8 @@ mod timed_existence { use std::time::{Duration, Instant}; use tracing::warn; + const MAX: Duration = Duration::from_millis(5); + // Prints if the object exists for too long. // This is used to track long-lived locks for debugging. pub struct TimedExistence { @@ -344,7 +356,6 @@ mod timed_existence { impl Drop for TimedExistence { fn drop(&mut self) { - const MAX: Duration = Duration::from_millis(1); let elapsed = self.started.elapsed(); let reason = self.reason; if elapsed > MAX { @@ -366,9 +377,19 @@ mod timed_existence { &mut self.object } } + + pub fn timeit(name: &'static str, f: impl FnOnce() -> R) -> R { + let now = Instant::now(); + let r = f(); + let elapsed = now.elapsed(); + if elapsed > MAX { + warn!("elapsed on {name:?}: {elapsed:?}") + } + r + } } -pub use timed_existence::TimedExistence; +pub use timed_existence::{timeit, TimedExistence}; impl TorrentState { #[allow(clippy::too_many_arguments)] @@ -645,7 +666,10 @@ impl TorrentState { g.chunks.mark_chunk_request_cancelled(req.piece, req.chunk); } } - s @ PeerState::Queued | s @ PeerState::Dead | s @ PeerState::NotNeeded => { + PeerState::NotNeeded => { + return; + } + s @ PeerState::Queued | s @ PeerState::Dead => { warn!("bug: peer was in a wrong state {s:?}, ignoring it forever"); // Prevent deadlocks. drop(pe); @@ -654,11 +678,6 @@ impl TorrentState { } }; - // If peer is already set not needed, ignore. - if let PeerState::NotNeeded = pe.value().state { - return; - } - if error.is_none() { debug!("peer died without errors, not re-queueing"); pe.value_mut().state = PeerState::NotNeeded; From 124c6057be27e98eb6527f858bb35b7e47e50e53 Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Sun, 19 Nov 2023 20:15:42 +0000 Subject: [PATCH 17/40] more counters --- crates/librqbit/src/http_api.rs | 7 +++++-- crates/librqbit/src/torrent_state.rs | 29 +++++++++++++++++----------- 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/crates/librqbit/src/http_api.rs b/crates/librqbit/src/http_api.rs index 2ce53f5..e63156f 100644 --- a/crates/librqbit/src/http_api.rs +++ b/crates/librqbit/src/http_api.rs @@ -7,12 +7,12 @@ use dht::{Dht, DhtStats}; use http::StatusCode; use librqbit_core::id20::Id20; use librqbit_core::torrent_metainfo::TorrentMetaV1Info; -use tracing::{warn, info}; use parking_lot::RwLock; use serde::{Deserialize, Serialize}; use std::net::SocketAddr; use std::sync::Arc; use std::time::{Duration, Instant}; +use tracing::{info, warn}; use axum::Router; @@ -341,7 +341,10 @@ impl ApiInternal { let mgr = self.mgr_handle(idx)?; Ok(format!( "{:?}", - mgr.torrent_state().lock_read().chunks.get_have_pieces(), + mgr.torrent_state() + .lock_read("api_dump_haves") + .chunks + .get_have_pieces(), )) } } diff --git a/crates/librqbit/src/torrent_state.rs b/crates/librqbit/src/torrent_state.rs index 827e741..76ca4d4 100644 --- a/crates/librqbit/src/torrent_state.rs +++ b/crates/librqbit/src/torrent_state.rs @@ -115,8 +115,7 @@ impl PeerStates { reason: &'static str, f: impl FnOnce(&mut Peer) -> R, ) -> Option { - self.states - .get_mut(&addr) + timeit(reason, || self.states.get_mut(&addr)) .map(|e| f(TimedExistence::new(e, reason).value_mut())) } pub fn with_live(&self, addr: PeerHandle, f: impl FnOnce(&LivePeerState) -> R) -> Option { @@ -521,20 +520,23 @@ impl TorrentState { pub fn initially_needed(&self) -> u64 { self.needed } - pub fn lock_read(&self) -> RwLockReadGuard { - self.locked.read() + pub fn lock_read( + &self, + reason: &'static str, + ) -> TimedExistence> { + TimedExistence::new(timeit(reason, || self.locked.read()), reason) } pub fn lock_write( &self, reason: &'static str, ) -> TimedExistence> { - TimedExistence::new(self.locked.write(), reason) + TimedExistence::new(timeit(reason, || self.locked.write()), reason) } fn get_next_needed_piece(&self, peer_handle: PeerHandle) -> Option { self.peers - .with_live_mut(peer_handle, "get_next_needed_piece", |live| { - let g = self.locked.read(); + .with_live_mut(peer_handle, "l(get_next_needed_piece)", |live| { + let g = self.lock_read("g(get_next_needed_piece)"); let bf = live.bitfield.as_ref()?; for n in g.chunks.iter_needed_pieces() { if bf.get(n).map(|v| *v) == Some(true) { @@ -624,7 +626,7 @@ impl TorrentState { use rand::seq::IteratorRandom; self.peers .with_live(handle, |live| { - let g = self.locked.read(); + let g = self.lock_read("try_steal_piece"); g.inflight_pieces .keys() .filter(|p| !live.inflight_requests.iter().any(|req| req.piece == **p)) @@ -889,7 +891,7 @@ impl PeerConnectionHandler for PeerHandler { } fn serialize_bitfield_message_to_buf(&self, buf: &mut Vec) -> Option { - let g = self.state.locked.read(); + let g = self.state.lock_read("serialize_bitfield_message_to_buf"); let msg = Message::Bitfield(ByteBuf(g.chunks.get_have_pieces().as_raw_slice())); let len = msg.serialize(buf, None).unwrap(); debug!("sending: {:?}, length={}", &msg, len); @@ -946,7 +948,7 @@ impl PeerHandler { let tx = { if !self .state - .lock_read() + .lock_read("is_chunk_ready_to_upload") .chunks .is_chunk_ready_to_upload(&chunk_info) { @@ -1105,7 +1107,12 @@ impl PeerHandler { }; for chunk in self.state.lengths.iter_chunk_infos(next) { - if self.state.lock_read().chunks.is_chunk_downloaded(&chunk) { + if self + .state + .lock_read("is_chunk_downloaded") + .chunks + .is_chunk_downloaded(&chunk) + { continue; } From 17d40824b49514e14fe5b6415c62279f327e2ce2 Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Sun, 19 Nov 2023 20:21:26 +0000 Subject: [PATCH 18/40] Timing on_received_message --- crates/librqbit/src/torrent_state.rs | 56 ++++++++++++++-------------- 1 file changed, 29 insertions(+), 27 deletions(-) diff --git a/crates/librqbit/src/torrent_state.rs b/crates/librqbit/src/torrent_state.rs index 76ca4d4..c820436 100644 --- a/crates/librqbit/src/torrent_state.rs +++ b/crates/librqbit/src/torrent_state.rs @@ -857,33 +857,35 @@ struct PeerHandler { impl PeerConnectionHandler for PeerHandler { fn on_received_message(&self, message: Message>) -> anyhow::Result<()> { - match message { - Message::Request(request) => { - self.on_download_request(self.addr, request) - .context("on_download_request")?; - } - Message::Bitfield(b) => self - .on_bitfield(self.addr, b.clone_to_owned()) - .context("on_bitfield")?, - Message::Choke => self.on_i_am_choked(self.addr), - Message::Unchoke => self.on_i_am_unchoked(self.addr), - Message::Interested => self.on_peer_interested(self.addr), - Message::Piece(piece) => { - self.on_received_piece(self.addr, piece) - .context("on_received_piece")?; - } - Message::KeepAlive => { - debug!("keepalive received"); - } - Message::Have(h) => self.on_have(self.addr, h), - Message::NotInterested => { - info!("received \"not interested\", but we don't care yet") - } - message => { - warn!("received unsupported message {:?}, ignoring", message); - } - } - Ok(()) + timeit("on_received_message", || { + match message { + Message::Request(request) => { + self.on_download_request(self.addr, request) + .context("on_download_request")?; + } + Message::Bitfield(b) => self + .on_bitfield(self.addr, b.clone_to_owned()) + .context("on_bitfield")?, + Message::Choke => self.on_i_am_choked(self.addr), + Message::Unchoke => self.on_i_am_unchoked(self.addr), + Message::Interested => self.on_peer_interested(self.addr), + Message::Piece(piece) => { + self.on_received_piece(self.addr, piece) + .context("on_received_piece")?; + } + Message::KeepAlive => { + debug!("keepalive received"); + } + Message::Have(h) => self.on_have(self.addr, h), + Message::NotInterested => { + info!("received \"not interested\", but we don't care yet") + } + message => { + warn!("received unsupported message {:?}, ignoring", message); + } + }; + Ok(()) + }) } fn get_have_bytes(&self) -> u64 { From 4b3da0bd69e894a36103bd4eae56b44bc79c82a6 Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Sun, 19 Nov 2023 20:38:41 +0000 Subject: [PATCH 19/40] Trying to see why it hangs for a bit sometimes --- crates/librqbit/src/torrent_state.rs | 68 ++++++++++++++-------------- crates/rqbit/src/main.rs | 14 +++--- 2 files changed, 40 insertions(+), 42 deletions(-) diff --git a/crates/librqbit/src/torrent_state.rs b/crates/librqbit/src/torrent_state.rs index c820436..8c50566 100644 --- a/crates/librqbit/src/torrent_state.rs +++ b/crates/librqbit/src/torrent_state.rs @@ -249,6 +249,7 @@ pub struct StatsSnapshot { #[serde(skip)] pub time: Instant, pub queued_peers: u32, + pub dead_peers: u32, total_piece_download_ms: u64, } @@ -322,7 +323,7 @@ mod timed_existence { } #[inline(always)] - pub fn timeit(_name: &'static str, f: impl FnOnce() -> R) -> R { + pub fn timeit(_n: impl std::fmt::Display, f: impl FnOnce() -> R) -> R { f() } } @@ -377,12 +378,12 @@ mod timed_existence { } } - pub fn timeit(name: &'static str, f: impl FnOnce() -> R) -> R { + pub fn timeit(name: impl std::fmt::Display, f: impl FnOnce() -> R) -> R { let now = Instant::now(); let r = f(); let elapsed = now.elapsed(); if elapsed > MAX { - warn!("elapsed on {name:?}: {elapsed:?}") + warn!("elapsed on \"{name:}\": {elapsed:?}") } r } @@ -813,10 +814,6 @@ impl TorrentState { true } - pub fn peer_stats_snapshot(&self) -> AggregatePeerStats { - self.peers.stats() - } - pub fn stats_snapshot(&self) -> StatsSnapshot { use Ordering::*; let peer_stats = self.peers.stats(); @@ -836,6 +833,7 @@ impl TorrentState { initially_needed_bytes: self.needed, remaining_bytes: remaining, queued_peers: peer_stats.queued as u32, + dead_peers: peer_stats.dead as u32, total_piece_download_ms: self.stats.total_piece_download_ms.load(Relaxed), } } @@ -857,35 +855,35 @@ struct PeerHandler { impl PeerConnectionHandler for PeerHandler { fn on_received_message(&self, message: Message>) -> anyhow::Result<()> { - timeit("on_received_message", || { - match message { - Message::Request(request) => { - self.on_download_request(self.addr, request) - .context("on_download_request")?; - } - Message::Bitfield(b) => self - .on_bitfield(self.addr, b.clone_to_owned()) - .context("on_bitfield")?, - Message::Choke => self.on_i_am_choked(self.addr), - Message::Unchoke => self.on_i_am_unchoked(self.addr), - Message::Interested => self.on_peer_interested(self.addr), - Message::Piece(piece) => { + match message { + Message::Request(request) => { + self.on_download_request(self.addr, request) + .context("on_download_request")?; + } + Message::Bitfield(b) => self + .on_bitfield(self.addr, b.clone_to_owned()) + .context("on_bitfield")?, + Message::Choke => self.on_i_am_choked(self.addr), + Message::Unchoke => self.on_i_am_unchoked(self.addr), + Message::Interested => self.on_peer_interested(self.addr), + Message::Piece(piece) => { + timeit("on_received_piece", || { self.on_received_piece(self.addr, piece) - .context("on_received_piece")?; - } - Message::KeepAlive => { - debug!("keepalive received"); - } - Message::Have(h) => self.on_have(self.addr, h), - Message::NotInterested => { - info!("received \"not interested\", but we don't care yet") - } - message => { - warn!("received unsupported message {:?}, ignoring", message); - } - }; - Ok(()) - }) + .context("on_received_piece") + })?; + } + Message::KeepAlive => { + debug!("keepalive received"); + } + Message::Have(h) => self.on_have(self.addr, h), + Message::NotInterested => { + info!("received \"not interested\", but we don't care yet") + } + message => { + warn!("received unsupported message {:?}, ignoring", message); + } + }; + Ok(()) } fn get_have_bytes(&self) -> u64 { diff --git a/crates/rqbit/src/main.rs b/crates/rqbit/src/main.rs index 05b5cfb..d799df3 100644 --- a/crates/rqbit/src/main.rs +++ b/crates/rqbit/src/main.rs @@ -11,6 +11,7 @@ use librqbit::{ SessionOptions, }, spawn_utils::{spawn, BlockingSpawner}, + torrent_state::timeit, }; use size_format::SizeFormatterBinary as SF; use tracing::{error, info, span, warn, Level}; @@ -243,8 +244,7 @@ async fn async_main(opts: Opts, spawner: BlockingSpawner) -> anyhow::Result<()> info!("[{}] initializing", idx); }, ManagedTorrentState::Running(handle) => { - let peer_stats = handle.torrent_state().peer_stats_snapshot(); - let stats = handle.torrent_state().stats_snapshot(); + let stats = timeit("stats_snapshot", || handle.torrent_state().stats_snapshot()); let speed = handle.speed_estimator(); let total = stats.total_bytes; let progress = stats.total_bytes - stats.remaining_bytes; @@ -263,11 +263,11 @@ async fn async_main(opts: Opts, spawner: BlockingSpawner) -> anyhow::Result<()> SF::new(stats.remaining_bytes), SF::new(total), SF::new(stats.uploaded_bytes), - peer_stats.live, - peer_stats.connecting, - peer_stats.queued, - peer_stats.seen, - peer_stats.dead + stats.live_peers, + stats.connecting_peers, + stats.queued_peers, + stats.seen_peers, + stats.dead_peers ); }, } From 0c6781ba4b0248b53079ce3e66d04822a028a5f6 Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Sun, 19 Nov 2023 20:59:01 +0000 Subject: [PATCH 20/40] Saving --- crates/librqbit/src/torrent_state.rs | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/crates/librqbit/src/torrent_state.rs b/crates/librqbit/src/torrent_state.rs index 8c50566..b70f49b 100644 --- a/crates/librqbit/src/torrent_state.rs +++ b/crates/librqbit/src/torrent_state.rs @@ -866,12 +866,9 @@ impl PeerConnectionHandler for PeerHandler { Message::Choke => self.on_i_am_choked(self.addr), Message::Unchoke => self.on_i_am_unchoked(self.addr), Message::Interested => self.on_peer_interested(self.addr), - Message::Piece(piece) => { - timeit("on_received_piece", || { - self.on_received_piece(self.addr, piece) - .context("on_received_piece") - })?; - } + Message::Piece(piece) => self + .on_received_piece(self.addr, piece) + .context("on_received_piece")?, Message::KeepAlive => { debug!("keepalive received"); } From b891cd40dd9632d3b79203b1887b9bddbac70be1 Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Sun, 19 Nov 2023 21:06:14 +0000 Subject: [PATCH 21/40] Remove a couple unused methods --- crates/librqbit/src/peer_state.rs | 8 -------- crates/librqbit/src/torrent_state.rs | 5 +---- 2 files changed, 1 insertion(+), 12 deletions(-) diff --git a/crates/librqbit/src/peer_state.rs b/crates/librqbit/src/peer_state.rs index 3e997ed..4e217d6 100644 --- a/crates/librqbit/src/peer_state.rs +++ b/crates/librqbit/src/peer_state.rs @@ -144,14 +144,6 @@ impl PeerState { self.get_live_mut() } - pub fn dead_to_queued(&mut self) -> bool { - if let PeerState::Dead = self { - *self = PeerState::Queued; - return true; - } - false - } - pub fn to_dead(&mut self) -> Option> { match std::mem::replace(self, PeerState::Dead) { PeerState::Live(l) => Some(Some(l)), diff --git a/crates/librqbit/src/torrent_state.rs b/crates/librqbit/src/torrent_state.rs index b70f49b..b9180e8 100644 --- a/crates/librqbit/src/torrent_state.rs +++ b/crates/librqbit/src/torrent_state.rs @@ -137,9 +137,6 @@ impl PeerStates { .flatten() } - pub fn add(&self, addr: SocketAddr) -> Option { - self.add_if_not_seen(addr) - } pub fn mark_peer_dead(&self, handle: PeerHandle) -> Option> { self.with_peer_mut(handle, "mark_peer_dead", |peer| peer.state.to_dead()) .flatten() @@ -810,7 +807,7 @@ impl TorrentState { None => return false, }; - let _ = self.peer_queue_tx.send(addr); + self.peer_queue_tx.send(addr).unwrap(); true } From b40d33b0ad47c604536e9bc6a74ea77186ec3360 Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Sun, 19 Nov 2023 21:29:42 +0000 Subject: [PATCH 22/40] Fix a bug with wrong number of queued peers --- crates/librqbit/src/torrent_state.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/crates/librqbit/src/torrent_state.rs b/crates/librqbit/src/torrent_state.rs index b9180e8..b8ff1e9 100644 --- a/crates/librqbit/src/torrent_state.rs +++ b/crates/librqbit/src/torrent_state.rs @@ -667,6 +667,8 @@ impl TorrentState { } } PeerState::NotNeeded => { + // Restore it as std::mem::take() replaced it above. + pe.value_mut().state = PeerState::NotNeeded; return; } s @ PeerState::Queued | s @ PeerState::Dead => { From 98dbecf13632778f05fce53101096e74ace66c74 Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Sun, 19 Nov 2023 21:47:58 +0000 Subject: [PATCH 23/40] Fix a logging bug --- crates/librqbit/src/torrent_state.rs | 29 ++++++++++++++++++++-------- crates/rqbit/src/main.rs | 2 +- 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/crates/librqbit/src/torrent_state.rs b/crates/librqbit/src/torrent_state.rs index b8ff1e9..298b4ed 100644 --- a/crates/librqbit/src/torrent_state.rs +++ b/crates/librqbit/src/torrent_state.rs @@ -72,7 +72,7 @@ pub struct AggregatePeerStats { pub live: usize, pub seen: usize, pub dead: usize, - pub fully_have_and_we_are_finished: usize, + pub not_needed: usize, } impl PeerStates { @@ -89,7 +89,7 @@ impl PeerStates { PeerState::Live(_) => s.live += 1, PeerState::Queued => s.queued += 1, PeerState::Dead => s.dead += 1, - PeerState::NotNeeded => s.fully_have_and_we_are_finished += 1, + PeerState::NotNeeded => s.not_needed += 1, }; s }) @@ -247,7 +247,8 @@ pub struct StatsSnapshot { pub time: Instant, pub queued_peers: u32, pub dead_peers: u32, - total_piece_download_ms: u64, + pub total_piece_download_ms: u64, + pub not_needed_peers: u32, } impl StatsSnapshot { @@ -331,7 +332,7 @@ mod timed_existence { use std::time::{Duration, Instant}; use tracing::warn; - const MAX: Duration = Duration::from_millis(5); + const MAX: Duration = Duration::from_millis(1); // Prints if the object exists for too long. // This is used to track long-lived locks for debugging. @@ -833,6 +834,7 @@ impl TorrentState { remaining_bytes: remaining, queued_peers: peer_stats.queued as u32, dead_peers: peer_stats.dead as u32, + not_needed_peers: peer_stats.not_needed as u32, total_piece_download_ms: self.stats.total_piece_download_ms.load(Relaxed), } } @@ -1004,6 +1006,7 @@ impl PeerHandler { // Additional spawn per peer, not good. spawn( span!( + parent: None, Level::ERROR, "peer_chunk_requester", peer = handle.to_string() @@ -1123,7 +1126,7 @@ impl PeerHandler { warn!("probably a bug, we already requested {:?}", chunk); continue; } - None => bail!("peer dropped"), + None => return Ok(()), } let request = Request { @@ -1131,10 +1134,20 @@ impl PeerHandler { begin: chunk.offset, length: chunk.size, }; - sem.acquire().await?.forget(); - tx.send(WriterRequest::Message(MessageOwned::Request(request))) - .context("peer dropped")?; + loop { + match timeout(Duration::from_secs(10), sem.acquire()).await { + Ok(acq) => break acq?.forget(), + Err(_) => continue, + }; + } + + if tx + .send(WriterRequest::Message(MessageOwned::Request(request))) + .is_err() + { + return Ok(()); + } } } } diff --git a/crates/rqbit/src/main.rs b/crates/rqbit/src/main.rs index d799df3..0f9cb28 100644 --- a/crates/rqbit/src/main.rs +++ b/crates/rqbit/src/main.rs @@ -267,7 +267,7 @@ async fn async_main(opts: Opts, spawner: BlockingSpawner) -> anyhow::Result<()> stats.connecting_peers, stats.queued_peers, stats.seen_peers, - stats.dead_peers + stats.dead_peers, ); }, } From 0170b19fcd85722d71139caa226c70611baf7fcf Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Sun, 19 Nov 2023 21:50:50 +0000 Subject: [PATCH 24/40] Remove inline-nevers --- crates/librqbit/src/torrent_state.rs | 23 +++-------------------- crates/rqbit/src/main.rs | 10 +++++----- 2 files changed, 8 insertions(+), 25 deletions(-) diff --git a/crates/librqbit/src/torrent_state.rs b/crates/librqbit/src/torrent_state.rs index 298b4ed..a1dd065 100644 --- a/crates/librqbit/src/torrent_state.rs +++ b/crates/librqbit/src/torrent_state.rs @@ -65,7 +65,7 @@ pub struct PeerStates { states: DashMap, } -#[derive(Debug, Default)] +#[derive(Debug, Default, Serialize)] pub struct AggregatePeerStats { pub queued: usize, pub connecting: usize, @@ -240,15 +240,10 @@ pub struct StatsSnapshot { pub initially_needed_bytes: u64, pub remaining_bytes: u64, pub total_bytes: u64, - pub live_peers: u32, - pub seen_peers: u32, - pub connecting_peers: u32, #[serde(skip)] pub time: Instant, - pub queued_peers: u32, - pub dead_peers: u32, pub total_piece_download_ms: u64, - pub not_needed_peers: u32, + pub peer_stats: AggregatePeerStats, } impl StatsSnapshot { @@ -826,16 +821,11 @@ impl TorrentState { fetched_bytes: self.stats.fetched_bytes.load(Relaxed), uploaded_bytes: self.stats.uploaded.load(Relaxed), total_bytes: self.have_plus_needed, - live_peers: peer_stats.live as u32, - seen_peers: peer_stats.seen as u32, - connecting_peers: peer_stats.connecting as u32, time: Instant::now(), initially_needed_bytes: self.needed, remaining_bytes: remaining, - queued_peers: peer_stats.queued as u32, - dead_peers: peer_stats.dead as u32, - not_needed_peers: peer_stats.not_needed as u32, total_piece_download_ms: self.stats.total_piece_download_ms.load(Relaxed), + peer_stats, } } @@ -918,7 +908,6 @@ impl PeerConnectionHandler for PeerHandler { } impl PeerHandler { - #[inline(never)] fn on_download_request(&self, peer_handle: PeerHandle, request: Request) -> anyhow::Result<()> { let piece_index = match self.state.lengths.validate_piece_index(request.index) { Some(p) => p, @@ -970,7 +959,6 @@ impl PeerHandler { Ok::<_, anyhow::Error>(tx.send(request)?) } - #[inline(never)] fn on_have(&self, handle: PeerHandle, have: u32) { self.state.peers.with_live_mut(handle, "on_have", |live| { if let Some(bitfield) = live.bitfield.as_mut() { @@ -980,7 +968,6 @@ impl PeerHandler { }); } - #[inline(never)] fn on_bitfield(&self, handle: PeerHandle, bitfield: ByteString) -> anyhow::Result<()> { if bitfield.len() != self.state.lengths.piece_bitfield_bytes() { anyhow::bail!( @@ -1029,13 +1016,11 @@ impl PeerHandler { Ok::<_, anyhow::Error>(()) } - #[inline(never)] fn on_i_am_choked(&self, handle: PeerHandle) { debug!("we are choked"); self.state.peers.mark_i_am_choked(handle, true); } - #[inline(never)] fn on_peer_interested(&self, handle: PeerHandle) { debug!("peer is interested"); self.state.peers.mark_peer_interested(handle, true); @@ -1181,7 +1166,6 @@ impl PeerHandler { Ok(()) } - #[inline(never)] fn on_i_am_unchoked(&self, handle: PeerHandle) { debug!("we are unchoked"); self.state @@ -1193,7 +1177,6 @@ impl PeerHandler { }); } - #[inline(never)] fn on_received_piece(&self, handle: PeerHandle, piece: Piece) -> anyhow::Result<()> { let chunk_info = match self.state.lengths.chunk_info_from_received_piece( piece.index, diff --git a/crates/rqbit/src/main.rs b/crates/rqbit/src/main.rs index 0f9cb28..83cbb5f 100644 --- a/crates/rqbit/src/main.rs +++ b/crates/rqbit/src/main.rs @@ -263,11 +263,11 @@ async fn async_main(opts: Opts, spawner: BlockingSpawner) -> anyhow::Result<()> SF::new(stats.remaining_bytes), SF::new(total), SF::new(stats.uploaded_bytes), - stats.live_peers, - stats.connecting_peers, - stats.queued_peers, - stats.seen_peers, - stats.dead_peers, + stats.peer_stats.live, + stats.peer_stats.connecting, + stats.peer_stats.queued, + stats.peer_stats.seen, + stats.peer_stats.dead, ); }, } From adb98a2d89487266b1db7ab045a53d0cd2a6e97b Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Sun, 19 Nov 2023 22:06:41 +0000 Subject: [PATCH 25/40] Add more docs --- crates/buffers/src/lib.rs | 5 +++++ crates/clone_to_owned/src/lib.rs | 8 ++++++++ crates/peer_binary_protocol/src/lib.rs | 4 ++++ crates/sha1w/src/lib.rs | 11 ++++++----- 4 files changed, 23 insertions(+), 5 deletions(-) diff --git a/crates/buffers/src/lib.rs b/crates/buffers/src/lib.rs index d6ced8e..b45c891 100644 --- a/crates/buffers/src/lib.rs +++ b/crates/buffers/src/lib.rs @@ -1,3 +1,8 @@ +// This crate used for making working with &[u8] or Vec generic in other parts of librqbit, +// for nicer display of binary data etc. +// +// Not useful outside of librqbit. + use serde::{Deserialize, Deserializer}; use clone_to_owned::CloneToOwned; diff --git a/crates/clone_to_owned/src/lib.rs b/crates/clone_to_owned/src/lib.rs index e661cd0..561033f 100644 --- a/crates/clone_to_owned/src/lib.rs +++ b/crates/clone_to_owned/src/lib.rs @@ -1,3 +1,11 @@ +// These are helpers for objects that can be borrowed, but can be made owned while changing the type. +// The difference between e.g. Cow and CloneToOwned, is that we can implement it recursively for owned types. +// +// E.g. HashMap<&str, &str> can be converted to HashMap. +// +// This lets us express types like TorrentMetaInfo<&[u8]> for zero-copy metadata about a bencode buffer in memory, +// but to have one-line conversion for it into TorrentMetaInfo> so that we can store it later somewhere. + use std::collections::HashMap; pub trait CloneToOwned { diff --git a/crates/peer_binary_protocol/src/lib.rs b/crates/peer_binary_protocol/src/lib.rs index 0ba8a57..2535ac7 100644 --- a/crates/peer_binary_protocol/src/lib.rs +++ b/crates/peer_binary_protocol/src/lib.rs @@ -1,3 +1,7 @@ +// BitTorrent peer protocol implementation: parsing, serialization etc. +// +// Can be used outside of librqbit. + pub mod extended; use bincode::Options; diff --git a/crates/sha1w/src/lib.rs b/crates/sha1w/src/lib.rs index 036bed9..116b6f2 100644 --- a/crates/sha1w/src/lib.rs +++ b/crates/sha1w/src/lib.rs @@ -1,8 +1,9 @@ -// Wrapper for sha1 libraries. -// Sha1 computation is the majority of CPU usage of this library. -// openssl seems 2-3x faster, so using it for now, but -// leaving the pure-rust impl here too. Maybe someday make them -// runtime swappable or enabled with a feature. +// Wrapper for sha1 libraries to be able to swap them easily, +// e.g. to measure performance, or change implementations depending on platform. +// +// Sha1 computation is the majority of CPU usage of librqbit. +// openssl is 2-3x faster than rust's sha1. +// system library is the best choice probably (it's the default anyway). #[cfg(feature = "sha1-openssl")] pub type Sha1 = Sha1Openssl; From 2ebbc0a828d0904609a0a17bfb2665e590d24c1c Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Sun, 19 Nov 2023 22:48:19 +0000 Subject: [PATCH 26/40] Add examples --- Cargo.lock | 2 + crates/dht/Cargo.toml | 1 + crates/dht/{src/main.rs => examples/dht.rs} | 2 + crates/librqbit/Cargo.toml | 1 + crates/librqbit/README.md | 30 +- crates/librqbit/examples/ubuntu.rs | 69 +++ crates/librqbit/src/session.rs | 5 +- crates/librqbit/src/spawn_utils.rs | 11 + deadlock_6.txt | 450 ++++++++++++++++++++ 9 files changed, 541 insertions(+), 30 deletions(-) rename crates/dht/{src/main.rs => examples/dht.rs} (97%) create mode 100644 crates/librqbit/examples/ubuntu.rs create mode 100644 deadlock_6.txt diff --git a/Cargo.lock b/Cargo.lock index cd0ba23..b5be784 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -863,6 +863,7 @@ dependencies = [ "tokio", "tokio-stream", "tracing", + "tracing-subscriber", "url", "urlencoding", "uuid", @@ -926,6 +927,7 @@ dependencies = [ "tokio", "tokio-stream", "tracing", + "tracing-subscriber", ] [[package]] diff --git a/crates/dht/Cargo.toml b/crates/dht/Cargo.toml index 5552dac..5c40a64 100644 --- a/crates/dht/Cargo.toml +++ b/crates/dht/Cargo.toml @@ -35,3 +35,4 @@ clone_to_owned = {path="../clone_to_owned", package="librqbit-clone-to-owned", v librqbit-core = {path="../librqbit_core", version = "2.2.1"} [dev-dependencies] +tracing-subscriber = "0.3" \ No newline at end of file diff --git a/crates/dht/src/main.rs b/crates/dht/examples/dht.rs similarity index 97% rename from crates/dht/src/main.rs rename to crates/dht/examples/dht.rs index 5c2f1e6..469e0f6 100644 --- a/crates/dht/src/main.rs +++ b/crates/dht/examples/dht.rs @@ -8,6 +8,8 @@ use tracing::info; #[tokio::main] async fn main() -> anyhow::Result<()> { let info_hash = Id20::from_str("64a980abe6e448226bb930ba061592e44c3781a1").unwrap(); + tracing_subscriber::fmt::init(); + let dht = Dht::new().await.context("error initializing DHT")?; let mut stream = dht.get_peers(info_hash).await?; diff --git a/crates/librqbit/Cargo.toml b/crates/librqbit/Cargo.toml index bc7ca03..4095553 100644 --- a/crates/librqbit/Cargo.toml +++ b/crates/librqbit/Cargo.toml @@ -61,3 +61,4 @@ dashmap = "5.5.3" [dev-dependencies] futures = {version = "0.3"} +tracing-subscriber = "0.3" \ No newline at end of file diff --git a/crates/librqbit/README.md b/crates/librqbit/README.md index dfa4845..0e33b14 100644 --- a/crates/librqbit/README.md +++ b/crates/librqbit/README.md @@ -3,38 +3,10 @@ A torrent library 100% written in rust ## Basic example +See ```examples``` folder. This is a simple program on how to use this library This program will just download a simple torrent file with a Magnet link ```rust -use std::error::Error; -use std::path::PathBuf; -use librqbit::session::{AddTorrentResponse, Session}; -use librqbit::spawn_utils::BlockingSpawner; -const MAGNET_LINK: &str = "magnet:?..."; // Put your magnet link here - -#[tokio::main] -async fn main() -> Result<(), Box>{ - - // Create the session - let session = Session::new("C:\\Anime".parse().unwrap(), BlockingSpawner::new(false)).await?; - - // Add the torrent to the session - let handle = match session.add_torrent(MAGNET_LINK, None).await { - Ok(AddTorrentResponse::Added(handle)) => { - Ok(handle) - }, - Err(e) => { - eprintln!("Something goes wrong when downloading torrent : {:?}", e); - Err(()) - } - _ => Err(()) - }.expect("Failed to add torrent to the session"); - - // Wait until the download is completed - handle.wait_until_completed().await?; - - Ok(()) -} ``` \ No newline at end of file diff --git a/crates/librqbit/examples/ubuntu.rs b/crates/librqbit/examples/ubuntu.rs new file mode 100644 index 0000000..6813043 --- /dev/null +++ b/crates/librqbit/examples/ubuntu.rs @@ -0,0 +1,69 @@ +// For production-grade code look at rqbit::main(), which does the same but has more options. +// +// Usage: +// cargo run --release --example ubuntu /tmp/ubuntu/ + +use std::time::Duration; + +use anyhow::Context; +use librqbit::session::{AddTorrentOptions, AddTorrentResponse, Session}; +use tracing::info; + +// This is ubuntu-21.04-live-server-amd64.iso.torrent +// You can also pass filenames and URLs to add_torrent(). +const MAGNET_LINK: &str = "magnet:?xt=urn:btih:cab507494d02ebb1178b38f2e9d7be299c86b862"; + +#[tokio::main] +async fn main() -> Result<(), anyhow::Error> { + // Output logs to console. + tracing_subscriber::fmt::init(); + + let output_dir = std::env::args() + .nth(1) + .expect("the first argument should be the output directory"); + + // Create the session + let session = Session::new(output_dir.into(), Default::default()) + .await + .context("error creating session")?; + + // Add the torrent to the session + let handle = match session + .add_torrent( + MAGNET_LINK, + Some(AddTorrentOptions { + // Set this to true to allow writing on top of existing files. + // If the file is partially downloaded, librqbit will only download the + // missing pieces. + // + // Otherwise it will throw an error that the file exists. + overwrite: false, + ..Default::default() + }), + ) + .await + .context("error adding torrent")? + { + AddTorrentResponse::Added(handle) => handle, + // For a brand new session other variants won't happen. + _ => unreachable!(), + }; + + // Print stats periodically. + tokio::spawn({ + let handle = handle.clone(); + async move { + loop { + tokio::time::sleep(Duration::from_secs(1)).await; + let stats = handle.torrent_state().stats_snapshot(); + info!("stats: {stats:?}"); + } + } + }); + + // Wait until the download is completed + handle.wait_until_completed().await?; + info!("torrent downloaded"); + + Ok(()) +} diff --git a/crates/librqbit/src/session.rs b/crates/librqbit/src/session.rs index 6bc881b..8033572 100644 --- a/crates/librqbit/src/session.rs +++ b/crates/librqbit/src/session.rs @@ -251,7 +251,10 @@ impl Session { torrent_from_file(url)? }; let dht_rx = match self.dht.as_ref() { - Some(dht) => Some(dht.get_peers(torrent.info_hash).await?), + Some(dht) => { + debug!("reading peers for {:?} from DHT", torrent.info_hash); + Some(dht.get_peers(torrent.info_hash).await?) + } None => None, }; let trackers = torrent diff --git a/crates/librqbit/src/spawn_utils.rs b/crates/librqbit/src/spawn_utils.rs index 04b109b..e108254 100644 --- a/crates/librqbit/src/spawn_utils.rs +++ b/crates/librqbit/src/spawn_utils.rs @@ -38,3 +38,14 @@ impl BlockingSpawner { f() } } + +impl Default for BlockingSpawner { + fn default() -> Self { + let allow_block_in_place = match tokio::runtime::Handle::current().runtime_flavor() { + tokio::runtime::RuntimeFlavor::CurrentThread => false, + tokio::runtime::RuntimeFlavor::MultiThread => true, + _ => true, + }; + Self::new(allow_block_in_place) + } +} diff --git a/deadlock_6.txt b/deadlock_6.txt new file mode 100644 index 0000000..848032d --- /dev/null +++ b/deadlock_6.txt @@ -0,0 +1,450 @@ +(lldb) command script import "/Users/igor/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/etc/lldb_lookup.py" +(lldb) command source -s 0 '/Users/igor/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/etc/lldb_commands' +(lldb) type synthetic add -l lldb_lookup.synthetic_lookup -x ".*" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)String$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^&(mut )?str$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^&(mut )?\\[.+\\]$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(std::ffi::([a-z_]+::)+)OsString$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)Vec<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)VecDeque<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)BTreeSet<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)BTreeMap<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(std::collections::([a-z_]+::)+)HashMap<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(std::collections::([a-z_]+::)+)HashSet<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)Rc<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)Arc<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(core::([a-z_]+::)+)Cell<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(core::([a-z_]+::)+)Ref<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(core::([a-z_]+::)+)RefMut<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(core::([a-z_]+::)+)RefCell<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^core::num::([a-z_]+::)*NonZero.+$" --category Rust +(lldb) type category enable Rust +(lldb) process attach --pid 58189 +Process 58189 stopped +* thread #1, name = 'main', queue = 'com.apple.main-thread', stop reason = signal SIGSTOP + frame #0: 0x000000018c11c0ac libsystem_kernel.dylib`__psynch_cvwait + 8 +libsystem_kernel.dylib`: +-> 0x18c11c0ac <+8>: b.lo 0x18c11c0cc ; <+40> + 0x18c11c0b0 <+12>: pacibsp + 0x18c11c0b4 <+16>: stp x29, x30, [sp, #-0x10]! + 0x18c11c0b8 <+20>: mov x29, sp +Target 0: (ubuntu) stopped. +Executable module set to "/Users/igor/projects/2021-06-rust-qbittorrent/target/debug/examples/ubuntu". +Architecture set to: arm64-apple-macosx-. +(lldb) bt all +(lldb) thread backtrace all + thread #2, name = 'tokio-runtime-worker' + frame #0: 0x000000018c11c0ac libsystem_kernel.dylib`__psynch_cvwait + 8 + frame #1: 0x000000018c1595fc libsystem_pthread.dylib`_pthread_cond_wait + 1228 + frame #2: 0x000000010157ac94 ubuntu`_$LT$parking_lot_core..thread_parker..imp..ThreadParker$u20$as$u20$parking_lot_core..thread_parker..ThreadParkerT$GT$::park::h18f017ec19297713(self=0x000000012a80a1e8) at unix.rs:77:21 + frame #3: 0x000000010158015c ubuntu`parking_lot_core::parking_lot::park::_$u7b$$u7b$closure$u7d$$u7d$::hfa01ae81bb4bc0f2(thread_data=0x000000012a80a1e8) at parking_lot.rs:635:17 + frame #4: 0x000000010157f038 ubuntu`parking_lot_core::parking_lot::park::hacebd5119a4df3c1 at parking_lot.rs:207:5 + frame #5: 0x000000010157eff4 ubuntu`parking_lot_core::parking_lot::park::hacebd5119a4df3c1(key=105553151705104, validate={closure_env#0} @ 0x000000017075b5c0, before_sleep={closure_env#1} @ 0x000000017075b5d7, timed_out={closure_env#2} @ 0x000000017075b5d8, park_token=ParkToken @ 0x000000017075b578, timeout=Option @ 0x000000017075b580) at parking_lot.rs:600:5 + frame #6: 0x000000010157a404 ubuntu`parking_lot::raw_rwlock::RawRwLock::lock_common::ha8fc34a3cb806226(self=0x00006000021cc010, timeout=Option @ 0x000000017075b778, token=ParkToken @ 0x000000017075b788, try_lock={closure_env#0} @ 0x000000017075b6f8, validate_flags=12) at raw_rwlock.rs:1115:17 + frame #7: 0x00000001015ec5fc ubuntu`parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h7dc15f4d593b3d53(self=0x00006000021cc010, timeout=Option @ 0x000000017075b7d8) at raw_rwlock.rs:633:26 + frame #8: 0x0000000100e5b470 ubuntu`_$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_exclusive::h5270fe9f3619f0de(self=0x00006000021cc010) at raw_rwlock.rs:73:26 + frame #9: 0x0000000100e687f0 ubuntu`lock_api::rwlock::RwLock$LT$R$C$T$GT$::write::haa255ee1570efc80(self=0x00006000021cc010) at rwlock.rs:491:9 + frame #10: 0x0000000100f2a01c ubuntu`librqbit::torrent_state::TorrentState::lock_write::_$u7b$$u7b$closure$u7d$$u7d$::h2321908ec997b34a at torrent_state.rs:527:47 + frame #11: 0x0000000100f17a88 ubuntu`librqbit::torrent_state::TorrentState::lock_write::h9d38ed3237018f3a [inlined] librqbit::torrent_state::timed_existence::timeit::ha8a3d4926cb7dc8f(_n="mark_chunk_downloaded", f={closure_env#0} @ 0x000000017075b908) at torrent_state.rs:320:9 + frame #12: 0x0000000100f17a84 ubuntu`librqbit::torrent_state::TorrentState::lock_write::h9d38ed3237018f3a(self=0x000000012ac04ea0, reason="mark_chunk_downloaded") at torrent_state.rs:527:29 + frame #13: 0x0000000100f246e0 ubuntu`librqbit::torrent_state::PeerHandler::on_received_piece::hfc76de485b1e69e4(self=0x000000012b819690, handle=SocketAddr @ 0x000000017075cb00, piece=Piece @ 0x000000017075cae0) at torrent_state.rs:1217:25 + frame #14: 0x0000000100f1ed9c ubuntu`_$LT$librqbit..torrent_state..PeerHandler$u20$as$u20$librqbit..peer_connection..PeerConnectionHandler$GT$::on_received_message::hcc2c1a998973e6ea(self=0x000000012b819690, message=Message @ 0x000000017075e308) at torrent_state.rs:860:38 + frame #15: 0x0000000100ec903c ubuntu`librqbit::peer_connection::PeerConnection$LT$H$GT$::manage_peer::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hd19286c0558488e9((null)=0x00000001707659c0) at peer_connection.rs:270:17 + frame #16: 0x0000000100eca618 ubuntu`librqbit::peer_connection::PeerConnection$LT$H$GT$::manage_peer::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hdf7259baa4ab1268(cx=0x00000001707659c0) at select.rs:524:49 + frame #17: 0x0000000100e5dac4 ubuntu`_$LT$tokio..future..poll_fn..PollFn$LT$F$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h598619c9121a1021(self=Pin<&mut tokio::future::poll_fn::PollFn>> @ 0x000000017075e790, cx=0x00000001707659c0) at poll_fn.rs:58:9 + frame #18: 0x0000000100ec62f4 ubuntu`librqbit::peer_connection::PeerConnection$LT$H$GT$::manage_peer::_$u7b$$u7b$closure$u7d$$u7d$::hbde87e7c4a75cde5((null)=0x00000001707659c0) at peer_connection.rs:285:17 + frame #19: 0x0000000100f285a0 ubuntu`librqbit::torrent_state::TorrentState::task_manage_peer::_$u7b$$u7b$closure$u7d$$u7d$::hea04718635b021e0((null)=0x00000001707659c0) at torrent_state.rs:462:51 + frame #20: 0x0000000100eb6a58 ubuntu`librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::h22a15ea7de950e84((null)=0x00000001707659c0) at spawn_utils.rs:9:19 + frame #21: 0x0000000100f37ad4 ubuntu`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hf306b1b8f8b746ec(self=Pin<&mut tracing::instrument::Instrumented>> @ 0x00000001707657b0, cx=0x00000001707659c0) at instrument.rs:321:9 + frame #22: 0x0000000100e5c764 ubuntu`_$LT$core..pin..Pin$LT$P$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h75c2f3181b0cf1aa(self=Pin<&mut core::pin::Pin>, alloc::alloc::Global>>> @ 0x00000001707658b8, cx=0x00000001707659c0) at future.rs:125:9 + frame #23: 0x0000000100ea616c ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::_$u7b$$u7b$closure$u7d$$u7d$::h5e7de2bf5eee2830(ptr=0x000000012ac046b0) at core.rs:328:17 + frame #24: 0x0000000100ea4ef4 ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hc59bc6d6b6e00c95 [inlined] tokio::loom::std::unsafe_cell::UnsafeCell$LT$T$GT$::with_mut::h6f1eac3b5cc2f9fc(self=0x000000012ac046b0, f={closure_env#0}>, alloc::alloc::Global>>, alloc::sync::Arc> @ 0x00000001707659f8) at unsafe_cell.rs:16:9 + frame #25: 0x0000000100ea4ee8 ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hc59bc6d6b6e00c95(self=0x000000012ac046a0, cx=Context @ 0x00000001707659c0) at core.rs:317:13 + frame #26: 0x0000000100f46a7c ubuntu`tokio::runtime::task::harness::poll_future::_$u7b$$u7b$closure$u7d$$u7d$::h1ac58a34f257fa4e at harness.rs:485:19 + frame #27: 0x0000000100ecf5a8 ubuntu`_$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h65267074a1338221(self=AssertUnwindSafe>, alloc::alloc::Global>>, alloc::sync::Arc>> @ 0x0000000170765a70, (null)=) at unwind_safe.rs:272:9 + frame #28: 0x0000000100e75468 ubuntu`std::panicking::try::do_call::ha519f6d3905eb2d3(data="\xa0F\xc0*\U00000001") at panicking.rs:552:40 + frame #29: 0x0000000100e72540 ubuntu`std::panicking::try::hf6253d263edac0a7(f=AssertUnwindSafe>, alloc::alloc::Global>>, alloc::sync::Arc>> @ 0x0000000170765b20) at panicking.rs:516:19 + frame #30: 0x0000000100ed36a8 ubuntu`std::panic::catch_unwind::h5882a801edf9c0d0(f=AssertUnwindSafe>, alloc::alloc::Global>>, alloc::sync::Arc>> @ 0x0000000170765b60) at panic.rs:142:14 + frame #31: 0x0000000100f45c10 ubuntu`tokio::runtime::task::harness::poll_future::hd86755375ddf0d4a(core=0x000000012ac046a0, cx=Context @ 0x0000000170765c70) at harness.rs:473:18 + frame #32: 0x0000000100f48b9c ubuntu`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll_inner::h37fc87829deea2a7(self=0x0000000170765d28) at harness.rs:208:27 + frame #33: 0x0000000100f50188 ubuntu`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h7332793119460ed4(self=Harness>, alloc::alloc::Global>>, alloc::sync::Arc> @ 0x0000000170765d28) at harness.rs:153:15 + frame #34: 0x0000000100f0f104 ubuntu`tokio::runtime::task::raw::poll::h51db310fbcdeebd3(ptr=NonNull @ 0x0000000170765d50) at raw.rs:271:5 + frame #35: 0x0000000101477900 ubuntu`tokio::runtime::task::raw::RawTask::poll::h1000d6912ad57420(self=RawTask @ 0x0000000170765d70) at raw.rs:201:18 + frame #36: 0x0000000101463ba8 ubuntu`tokio::runtime::task::LocalNotified$LT$S$GT$::run::h614d754e09832cad(self=LocalNotified> @ 0x0000000170765da0) at mod.rs:408:9 + frame #37: 0x0000000101491e18 ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::_$u7b$$u7b$closure$u7d$$u7d$::ha7f5ee623f6de024 at worker.rs:577:13 + frame #38: 0x0000000101491ddc ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h3a91c4bdfa345831 at coop.rs:107:5 + frame #39: 0x0000000101491dac ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h3a91c4bdfa345831 [inlined] tokio::runtime::coop::budget::h8d1d2f494ba6a7cb(f={closure_env#0} @ 0x0000000170765f30) at coop.rs:73:5 + frame #40: 0x0000000101491d88 ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h3a91c4bdfa345831(self=0x0000000170766260, task=Notified> @ 0x0000000170765f20, core=0x00006000039cc280) at worker.rs:576:9 + frame #41: 0x0000000101491a84 ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run::heaa445e39d3099a1(self=0x0000000170766260, core=0x00006000039cc280) at worker.rs:526:24 + frame #42: 0x0000000101491894 ubuntu`tokio::runtime::scheduler::multi_thread::worker::run::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h2b571f29a8f60888 at worker.rs:491:21 + frame #43: 0x0000000101483090 ubuntu`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::hf925c595bd252f01(self=0x000000012a80a038, t=0x0000000170766258, f={closure_env#0} @ 0x00000001707660e8) at scoped.rs:40:9 + frame #44: 0x000000010144c988 ubuntu`tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::h0302d095e8b65143(c=0x000000012a80a000) at context.rs:176:26 + frame #45: 0x000000010147ffa0 ubuntu`std::thread::local::LocalKey$LT$T$GT$::try_with::h6fb83be6e86818c6(self=0x0000000101766de8, f={closure_env#0}<(), tokio::runtime::scheduler::multi_thread::worker::run::{closure#0}::{closure_env#0}> @ 0x00000001707661f0) at local.rs:270:16 + frame #46: 0x000000010147eca4 ubuntu`std::thread::local::LocalKey$LT$T$GT$::with::h5dcf9435a259397f(self=0x0000000101766de8, f=) at local.rs:246:9 + frame #47: 0x000000010144c954 ubuntu`tokio::runtime::context::set_scheduler::h6b6f06a5ae3a93e1(v=0x0000000170766258, f={closure_env#0} @ 0x0000000170766210) at context.rs:176:9 + frame #48: 0x0000000101491848 ubuntu`tokio::runtime::scheduler::multi_thread::worker::run::_$u7b$$u7b$closure$u7d$$u7d$::hf0230b52cc3b88d3((null)=0x00000001707663c0) at worker.rs:486:9 + frame #49: 0x000000010145d464 ubuntu`tokio::runtime::context::runtime::enter_runtime::h7a46156447e47d54(handle=0x0000000170766458, allow_block_in_place=true, f={closure_env#0} @ 0x0000000170766400) at runtime.rs:65:16 + frame #50: 0x000000010149172c ubuntu`tokio::runtime::scheduler::multi_thread::worker::run::h4cf7d8d53344654d(worker=strong=1, weak=0) at worker.rs:478:5 + frame #51: 0x0000000100f165f0 ubuntu`tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hdcd0200f1ace3c10 at worker.rs:422:41 + frame #52: 0x0000000100ee9704 ubuntu`_$LT$tokio..runtime..blocking..task..BlockingTask$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h5e51c8253a97db96(self=Pin<&mut tokio::runtime::blocking::task::BlockingTask>>> @ 0x00000001707664b8, _cx=0x00000001707665c0) at task.rs:42:21 + frame #53: 0x0000000100ea6efc ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::_$u7b$$u7b$closure$u7d$$u7d$::hb7e35a417059b0ad(ptr=0x000000012a9052a8) at core.rs:328:17 + frame #54: 0x0000000100ea50b0 ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd59079f2084d2a5c [inlined] tokio::loom::std::unsafe_cell::UnsafeCell$LT$T$GT$::with_mut::hd64ff7d14075f21c(self=0x000000012a9052a8, f={closure_env#0}>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ 0x00000001707665f8) at unsafe_cell.rs:16:9 + frame #55: 0x0000000100ea50a4 ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd59079f2084d2a5c(self=0x000000012a9052a0, cx=Context @ 0x00000001707665c0) at core.rs:317:13 + frame #56: 0x0000000100f4772c ubuntu`tokio::runtime::task::harness::poll_future::_$u7b$$u7b$closure$u7d$$u7d$::hb5f6e8c09d369fd1 at harness.rs:485:19 + frame #57: 0x0000000100ed04b0 ubuntu`_$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::he3ee8a4cae328095(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000000170766670, (null)=) at unwind_safe.rs:272:9 + frame #58: 0x0000000100e73aec ubuntu`std::panicking::try::do_call::h489a70e89d3ca1b6(data="\xa0R\x90*\U00000001") at panicking.rs:552:40 + frame #59: 0x0000000100e6e638 ubuntu`std::panicking::try::h5e0d069f0af730a8(f=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000000170766720) at panicking.rs:516:19 + frame #60: 0x0000000100ed34a8 ubuntu`std::panic::catch_unwind::h4669e6cae3323c93(f=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000000170766760) at panic.rs:142:14 + frame #61: 0x0000000100f442e8 ubuntu`tokio::runtime::task::harness::poll_future::h7d428e00030d2cfa(core=0x000000012a9052a0, cx=Context @ 0x0000000170766870) at harness.rs:473:18 + frame #62: 0x0000000100f49700 ubuntu`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll_inner::h6b3fcd463fc98a43(self=0x0000000170766928) at harness.rs:208:27 + frame #63: 0x0000000100f4fa50 ubuntu`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h34abb3e8b9684af7(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ 0x0000000170766928) at harness.rs:153:15 + frame #64: 0x0000000100f0ef84 ubuntu`tokio::runtime::task::raw::poll::h30cae272b2c909e0(ptr=NonNull @ 0x0000000170766950) at raw.rs:271:5 + frame #65: 0x0000000101477900 ubuntu`tokio::runtime::task::raw::RawTask::poll::h1000d6912ad57420(self=RawTask @ 0x0000000170766970) at raw.rs:201:18 + frame #66: 0x0000000101463c2c ubuntu`tokio::runtime::task::UnownedTask$LT$S$GT$::run::hfc4dd67afb1a17b6(self=UnownedTask @ 0x00000001707669a0) at mod.rs:445:9 + frame #67: 0x000000010146ff54 ubuntu`tokio::runtime::blocking::pool::Task::run::hf0982e055b4d9b3d(self=Task @ 0x00000001707669c0) at pool.rs:159:9 + frame #68: 0x0000000101471428 ubuntu`tokio::runtime::blocking::pool::Inner::run::h613e034fcd5273c1(self=0x0000000129e052e0, worker_thread_id=10) at pool.rs:513:17 + frame #69: 0x00000001014712ac ubuntu`tokio::runtime::blocking::pool::Spawner::spawn_thread::_$u7b$$u7b$closure$u7d$$u7d$::h85055799f1079122 at pool.rs:471:13 + frame #70: 0x0000000101450fb0 ubuntu`std::sys_common::backtrace::__rust_begin_short_backtrace::hc00264b51514bc2a(f=) at backtrace.rs:154:18 + frame #71: 0x0000000101445cdc ubuntu`std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hf0c597d86743f4b0 at mod.rs:529:17 + frame #72: 0x00000001014a09f0 ubuntu`_$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h8e1e63be06f0c84a(self=, (null)=) at unwind_safe.rs:272:9 + frame #73: 0x0000000101456584 ubuntu`std::panicking::try::do_call::hce3444c785deac15(data="\U00000001") at panicking.rs:552:40 + frame #74: 0x0000000101455bb4 ubuntu`std::panicking::try::hdf0c5aa4f459a133(f=) at panicking.rs:516:19 + frame #75: 0x0000000101445c08 ubuntu`std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::h3869e60e8161d6b6 at panic.rs:142:14 + frame #76: 0x0000000101445c04 ubuntu`std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::h3869e60e8161d6b6 at mod.rs:528:30 + frame #77: 0x0000000101446144 ubuntu`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h079508b8f3dc0adc((null)=0x0000600000fccf80, (null)=) at function.rs:250:5 + frame #78: 0x00000001015b7334 ubuntu`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::ha50e0d33beaa94b5 at boxed.rs:2007:9 [opt] + frame #79: 0x00000001015b7328 ubuntu`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h320b0db4bb8e0440 at boxed.rs:2007:9 [opt] + frame #80: 0x00000001015b7324 ubuntu`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 at thread.rs:108:17 [opt] + frame #81: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 + thread #3, name = 'tokio-runtime-worker' + frame #0: 0x000000018c11c0ac libsystem_kernel.dylib`__psynch_cvwait + 8 + frame #1: 0x000000018c1595fc libsystem_pthread.dylib`_pthread_cond_wait + 1228 + frame #2: 0x0000000101124828 ubuntu`_$LT$parking_lot_core..thread_parker..imp..ThreadParker$u20$as$u20$parking_lot_core..thread_parker..ThreadParkerT$GT$::park::h81c3633b1efcc0d3(self=0x0000000129e0eb68) at unix.rs:77:21 + frame #3: 0x0000000101125fd8 ubuntu`parking_lot_core::parking_lot::park::_$u7b$$u7b$closure$u7d$$u7d$::h86031eb220440ab6(thread_data=0x0000000129e0eb68) at parking_lot.rs:635:17 + frame #4: 0x00000001011258b0 ubuntu`parking_lot_core::parking_lot::park::hf4b3e8965b659760 at parking_lot.rs:207:5 + frame #5: 0x000000010112586c ubuntu`parking_lot_core::parking_lot::park::hf4b3e8965b659760(key=5024852649, validate={closure_env#0} @ 0x0000000170d87b30, before_sleep={closure_env#1} @ 0x0000000170d87b3e, timed_out={closure_env#2} @ 0x0000000170d87b3f, park_token=ParkToken @ 0x0000000170d87af8, timeout=Option @ 0x0000000170d87b00) at parking_lot.rs:600:5 + frame #6: 0x00000001015e2a10 ubuntu`dashmap::lock::RawRwLock::lock_shared_slow::h334165b2f5c9384b(self=0x000000012b812aa8) at lock.rs:270:21 + frame #7: 0x0000000100e41588 ubuntu`_$LT$dashmap..lock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_shared::h5de6b0427458a49d(self=0x000000012b812aa8) at lock.rs:62:13 + frame #8: 0x0000000100e68760 ubuntu`lock_api::rwlock::RwLock$LT$R$C$T$GT$::read::h608658d5ac4b6a2d(self=0x000000012b812aa8) at rwlock.rs:459:9 + frame #9: 0x0000000100e516e0 ubuntu`_$LT$dashmap..DashMap$LT$K$C$V$C$S$GT$$u20$as$u20$dashmap..t..Map$LT$K$C$V$C$S$GT$$GT$::_yield_read_shard::h84bc69d2d64a0791(self=0x000000012ac04f38, i=3) at lib.rs:891:9 + frame #10: 0x0000000100f16ba0 ubuntu`_$LT$dashmap..iter..Iter$LT$K$C$V$C$S$C$M$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$::next::hb1e9fda45c3f5907(self=0x0000000170d88170) at iter.rs:174:34 + frame #11: 0x0000000100f16884 ubuntu`core::iter::traits::iterator::Iterator::fold::hb050bd376eb4851a(self=Iter> @ 0x0000000170d88170, init=, f={closure_env#0} @ 0x0000000170d88007) at iterator.rs:2639:29 + frame #12: 0x0000000100f25db8 ubuntu`librqbit::torrent_state::PeerStates::stats::_$u7b$$u7b$closure$u7d$$u7d$::hd59e6c38ca10527f at torrent_state.rs:83:13 + frame #13: 0x0000000100f16cd0 ubuntu`librqbit::torrent_state::PeerStates::stats::h19c78f686fc82ec4 [inlined] librqbit::torrent_state::timed_existence::timeit::he9134af8f822c0db(_n="PeerStates::stats", f={closure_env#0} @ 0x0000000170d88218) at torrent_state.rs:320:9 + frame #14: 0x0000000100f16ccc ubuntu`librqbit::torrent_state::PeerStates::stats::h19c78f686fc82ec4(self=0x000000012ac04f38) at torrent_state.rs:82:9 + frame #15: 0x0000000100f1e854 ubuntu`librqbit::torrent_state::TorrentState::stats_snapshot::hd1d23431a2423ac4(self=0x000000012ac04ea0) at torrent_state.rs:814:26 + frame #16: 0x0000000100e4c4fc ubuntu`librqbit::torrent_manager::TorrentManager::start::_$u7b$$u7b$closure$u7d$$u7d$::h62a7502cf005da13((null)=0x0000000170d899c0) at torrent_manager.rs:297:33 + frame #17: 0x0000000100ebc734 ubuntu`librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hbdaad5f0a4164a94((null)=0x0000000170d899c0) at spawn_utils.rs:9:19 + frame #18: 0x0000000100f37184 ubuntu`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h42823f57e36e7cf3(self=Pin<&mut tracing::instrument::Instrumented>>> @ 0x0000000170d897f0, cx=0x0000000170d899c0) at instrument.rs:321:9 + frame #19: 0x0000000100ea654c ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::_$u7b$$u7b$closure$u7d$$u7d$::h678c6d0f8a67cc6f(ptr=0x000000012ac05330) at core.rs:328:17 + frame #20: 0x0000000100ea4f88 ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hc89ae778a2e35e40 [inlined] tokio::loom::std::unsafe_cell::UnsafeCell$LT$T$GT$::with_mut::h593c2072a3a046ed(self=0x000000012ac05330, f={closure_env#0}>>, alloc::sync::Arc> @ 0x0000000170d899f8) at unsafe_cell.rs:16:9 + frame #21: 0x0000000100ea4f7c ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hc89ae778a2e35e40(self=0x000000012ac05320, cx=Context @ 0x0000000170d899c0) at core.rs:317:13 + frame #22: 0x0000000100f46ce4 ubuntu`tokio::runtime::task::harness::poll_future::_$u7b$$u7b$closure$u7d$$u7d$::h435df6023246cf3b at harness.rs:485:19 + frame #23: 0x0000000100ecff14 ubuntu`_$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hc4ec710da91a1c38(self=AssertUnwindSafe>>, alloc::sync::Arc>> @ 0x0000000170d89a70, (null)=) at unwind_safe.rs:272:9 + frame #24: 0x0000000100e74588 ubuntu`std::panicking::try::do_call::h745f369d74749300(data=" S\xc0*\U00000001") at panicking.rs:552:40 + frame #25: 0x0000000100e6cc08 ubuntu`std::panicking::try::h1becb456d9205ba9(f=AssertUnwindSafe>>, alloc::sync::Arc>> @ 0x0000000170d89b20) at panicking.rs:516:19 + frame #26: 0x0000000100ed4174 ubuntu`std::panic::catch_unwind::hc60f07b69988dbe8(f=AssertUnwindSafe>>, alloc::sync::Arc>> @ 0x0000000170d89b60) at panic.rs:142:14 + frame #27: 0x0000000100f46340 ubuntu`tokio::runtime::task::harness::poll_future::hf4a5b35eda817472(core=0x000000012ac05320, cx=Context @ 0x0000000170d89c70) at harness.rs:473:18 + frame #28: 0x0000000100f4a8b8 ubuntu`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll_inner::hc08f3c0aa1b326b2(self=0x0000000170d89d28) at harness.rs:208:27 + frame #29: 0x0000000100f50770 ubuntu`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::hb7cc37e070326c7e(self=Harness>>, alloc::sync::Arc> @ 0x0000000170d89d28) at harness.rs:153:15 + frame #30: 0x0000000100f0f044 ubuntu`tokio::runtime::task::raw::poll::h3f6472418aa31498(ptr=NonNull @ 0x0000000170d89d50) at raw.rs:271:5 + frame #31: 0x0000000101477900 ubuntu`tokio::runtime::task::raw::RawTask::poll::h1000d6912ad57420(self=RawTask @ 0x0000000170d89d70) at raw.rs:201:18 + frame #32: 0x0000000101463ba8 ubuntu`tokio::runtime::task::LocalNotified$LT$S$GT$::run::h614d754e09832cad(self=LocalNotified> @ 0x0000000170d89da0) at mod.rs:408:9 + frame #33: 0x0000000101491e18 ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::_$u7b$$u7b$closure$u7d$$u7d$::ha7f5ee623f6de024 at worker.rs:577:13 + frame #34: 0x0000000101491ddc ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h3a91c4bdfa345831 at coop.rs:107:5 + frame #35: 0x0000000101491dac ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h3a91c4bdfa345831 [inlined] tokio::runtime::coop::budget::h8d1d2f494ba6a7cb(f={closure_env#0} @ 0x0000000170d89f30) at coop.rs:73:5 + frame #36: 0x0000000101491d88 ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h3a91c4bdfa345831(self=0x0000000170d8a260, task=Notified> @ 0x0000000170d89f20, core=0x00006000039cc2d0) at worker.rs:576:9 + frame #37: 0x0000000101491a84 ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run::heaa445e39d3099a1(self=0x0000000170d8a260, core=0x00006000039cc2d0) at worker.rs:526:24 + frame #38: 0x0000000101491894 ubuntu`tokio::runtime::scheduler::multi_thread::worker::run::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h2b571f29a8f60888 at worker.rs:491:21 + frame #39: 0x0000000101483090 ubuntu`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::hf925c595bd252f01(self=0x0000000129e0e9b8, t=0x0000000170d8a258, f={closure_env#0} @ 0x0000000170d8a0e8) at scoped.rs:40:9 + frame #40: 0x000000010144c988 ubuntu`tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::h0302d095e8b65143(c=0x0000000129e0e980) at context.rs:176:26 + frame #41: 0x000000010147ffa0 ubuntu`std::thread::local::LocalKey$LT$T$GT$::try_with::h6fb83be6e86818c6(self=0x0000000101766de8, f={closure_env#0}<(), tokio::runtime::scheduler::multi_thread::worker::run::{closure#0}::{closure_env#0}> @ 0x0000000170d8a1f0) at local.rs:270:16 + frame #42: 0x000000010147eca4 ubuntu`std::thread::local::LocalKey$LT$T$GT$::with::h5dcf9435a259397f(self=0x0000000101766de8, f=) at local.rs:246:9 + frame #43: 0x000000010144c954 ubuntu`tokio::runtime::context::set_scheduler::h6b6f06a5ae3a93e1(v=0x0000000170d8a258, f={closure_env#0} @ 0x0000000170d8a210) at context.rs:176:9 + frame #44: 0x0000000101491848 ubuntu`tokio::runtime::scheduler::multi_thread::worker::run::_$u7b$$u7b$closure$u7d$$u7d$::hf0230b52cc3b88d3((null)=0x0000000170d8a3c0) at worker.rs:486:9 + frame #45: 0x000000010145d464 ubuntu`tokio::runtime::context::runtime::enter_runtime::h7a46156447e47d54(handle=0x0000000170d8a458, allow_block_in_place=true, f={closure_env#0} @ 0x0000000170d8a400) at runtime.rs:65:16 + frame #46: 0x000000010149172c ubuntu`tokio::runtime::scheduler::multi_thread::worker::run::h4cf7d8d53344654d(worker=strong=2, weak=0) at worker.rs:478:5 + frame #47: 0x0000000100f165f0 ubuntu`tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hdcd0200f1ace3c10 at worker.rs:422:41 + frame #48: 0x0000000100ee9704 ubuntu`_$LT$tokio..runtime..blocking..task..BlockingTask$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h5e51c8253a97db96(self=Pin<&mut tokio::runtime::blocking::task::BlockingTask>>> @ 0x0000000170d8a4b8, _cx=0x0000000170d8a5c0) at task.rs:42:21 + frame #49: 0x0000000100ea6efc ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::_$u7b$$u7b$closure$u7d$$u7d$::hb7e35a417059b0ad(ptr=0x0000000129e0cb28) at core.rs:328:17 + frame #50: 0x0000000100ea50b0 ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd59079f2084d2a5c [inlined] tokio::loom::std::unsafe_cell::UnsafeCell$LT$T$GT$::with_mut::hd64ff7d14075f21c(self=0x0000000129e0cb28, f={closure_env#0}>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ 0x0000000170d8a5f8) at unsafe_cell.rs:16:9 + frame #51: 0x0000000100ea50a4 ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd59079f2084d2a5c(self=0x0000000129e0cb20, cx=Context @ 0x0000000170d8a5c0) at core.rs:317:13 + frame #52: 0x0000000100f4772c ubuntu`tokio::runtime::task::harness::poll_future::_$u7b$$u7b$closure$u7d$$u7d$::hb5f6e8c09d369fd1 at harness.rs:485:19 + frame #53: 0x0000000100ed04b0 ubuntu`_$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::he3ee8a4cae328095(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000000170d8a670, (null)=) at unwind_safe.rs:272:9 + frame #54: 0x0000000100e73aec ubuntu`std::panicking::try::do_call::h489a70e89d3ca1b6(data=" \xcb\xe0)\U00000001") at panicking.rs:552:40 + frame #55: 0x0000000100e6e638 ubuntu`std::panicking::try::h5e0d069f0af730a8(f=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000000170d8a720) at panicking.rs:516:19 + frame #56: 0x0000000100ed34a8 ubuntu`std::panic::catch_unwind::h4669e6cae3323c93(f=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000000170d8a760) at panic.rs:142:14 + frame #57: 0x0000000100f442e8 ubuntu`tokio::runtime::task::harness::poll_future::h7d428e00030d2cfa(core=0x0000000129e0cb20, cx=Context @ 0x0000000170d8a870) at harness.rs:473:18 + frame #58: 0x0000000100f49700 ubuntu`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll_inner::h6b3fcd463fc98a43(self=0x0000000170d8a928) at harness.rs:208:27 + frame #59: 0x0000000100f4fa50 ubuntu`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h34abb3e8b9684af7(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ 0x0000000170d8a928) at harness.rs:153:15 + frame #60: 0x0000000100f0ef84 ubuntu`tokio::runtime::task::raw::poll::h30cae272b2c909e0(ptr=NonNull @ 0x0000000170d8a950) at raw.rs:271:5 + frame #61: 0x0000000101477900 ubuntu`tokio::runtime::task::raw::RawTask::poll::h1000d6912ad57420(self=RawTask @ 0x0000000170d8a970) at raw.rs:201:18 + frame #62: 0x0000000101463c2c ubuntu`tokio::runtime::task::UnownedTask$LT$S$GT$::run::hfc4dd67afb1a17b6(self=UnownedTask @ 0x0000000170d8a9a0) at mod.rs:445:9 + frame #63: 0x000000010146ff54 ubuntu`tokio::runtime::blocking::pool::Task::run::hf0982e055b4d9b3d(self=Task @ 0x0000000170d8a9c0) at pool.rs:159:9 + frame #64: 0x0000000101471428 ubuntu`tokio::runtime::blocking::pool::Inner::run::h613e034fcd5273c1(self=0x0000000129e052e0, worker_thread_id=13) at pool.rs:513:17 + frame #65: 0x00000001014712ac ubuntu`tokio::runtime::blocking::pool::Spawner::spawn_thread::_$u7b$$u7b$closure$u7d$$u7d$::h85055799f1079122 at pool.rs:471:13 + frame #66: 0x0000000101450fb0 ubuntu`std::sys_common::backtrace::__rust_begin_short_backtrace::hc00264b51514bc2a(f=) at backtrace.rs:154:18 + frame #67: 0x0000000101445cdc ubuntu`std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hf0c597d86743f4b0 at mod.rs:529:17 + frame #68: 0x00000001014a09f0 ubuntu`_$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h8e1e63be06f0c84a(self=, (null)=) at unwind_safe.rs:272:9 + frame #69: 0x0000000101456584 ubuntu`std::panicking::try::do_call::hce3444c785deac15(data="\U00000001") at panicking.rs:552:40 + frame #70: 0x0000000101455bb4 ubuntu`std::panicking::try::hdf0c5aa4f459a133(f=) at panicking.rs:516:19 + frame #71: 0x0000000101445c08 ubuntu`std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::h3869e60e8161d6b6 at panic.rs:142:14 + frame #72: 0x0000000101445c04 ubuntu`std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::h3869e60e8161d6b6 at mod.rs:528:30 + frame #73: 0x0000000101446144 ubuntu`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h079508b8f3dc0adc((null)=0x0000600000fccd40, (null)=) at function.rs:250:5 + frame #74: 0x00000001015b7334 ubuntu`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::ha50e0d33beaa94b5 at boxed.rs:2007:9 [opt] + frame #75: 0x00000001015b7328 ubuntu`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h320b0db4bb8e0440 at boxed.rs:2007:9 [opt] + frame #76: 0x00000001015b7324 ubuntu`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 at thread.rs:108:17 [opt] + frame #77: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 + thread #6, name = 'tokio-runtime-worker' + frame #0: 0x000000018c11c0ac libsystem_kernel.dylib`__psynch_cvwait + 8 + frame #1: 0x000000018c1595fc libsystem_pthread.dylib`_pthread_cond_wait + 1228 + frame #2: 0x000000010157ac94 ubuntu`_$LT$parking_lot_core..thread_parker..imp..ThreadParker$u20$as$u20$parking_lot_core..thread_parker..ThreadParkerT$GT$::park::h18f017ec19297713(self=0x000000012a90ac68) at unix.rs:77:21 + frame #3: 0x000000010158015c ubuntu`parking_lot_core::parking_lot::park::_$u7b$$u7b$closure$u7d$$u7d$::hfa01ae81bb4bc0f2(thread_data=0x000000012a90ac68) at parking_lot.rs:635:17 + frame #4: 0x000000010157f038 ubuntu`parking_lot_core::parking_lot::park::hacebd5119a4df3c1 at parking_lot.rs:207:5 + frame #5: 0x000000010157eff4 ubuntu`parking_lot_core::parking_lot::park::hacebd5119a4df3c1(key=105553151705104, validate={closure_env#0} @ 0x00000001713a85b0, before_sleep={closure_env#1} @ 0x00000001713a85c7, timed_out={closure_env#2} @ 0x00000001713a85c8, park_token=ParkToken @ 0x00000001713a8568, timeout=Option @ 0x00000001713a8570) at parking_lot.rs:600:5 + frame #6: 0x000000010157a404 ubuntu`parking_lot::raw_rwlock::RawRwLock::lock_common::ha8fc34a3cb806226(self=0x00006000021cc010, timeout=Option @ 0x00000001713a8768, token=ParkToken @ 0x00000001713a8778, try_lock={closure_env#0} @ 0x00000001713a86e8, validate_flags=12) at raw_rwlock.rs:1115:17 + frame #7: 0x00000001015ec5fc ubuntu`parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h7dc15f4d593b3d53(self=0x00006000021cc010, timeout=Option @ 0x00000001713a87c8) at raw_rwlock.rs:633:26 + frame #8: 0x0000000100e5b470 ubuntu`_$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_exclusive::h5270fe9f3619f0de(self=0x00006000021cc010) at raw_rwlock.rs:73:26 + frame #9: 0x0000000100e687f0 ubuntu`lock_api::rwlock::RwLock$LT$R$C$T$GT$::write::haa255ee1570efc80(self=0x00006000021cc010) at rwlock.rs:491:9 + frame #10: 0x0000000100f2a01c ubuntu`librqbit::torrent_state::TorrentState::lock_write::_$u7b$$u7b$closure$u7d$$u7d$::h2321908ec997b34a at torrent_state.rs:527:47 + frame #11: 0x0000000100f17a88 ubuntu`librqbit::torrent_state::TorrentState::lock_write::h9d38ed3237018f3a [inlined] librqbit::torrent_state::timed_existence::timeit::ha8a3d4926cb7dc8f(_n="reserve_next_needed_piece", f={closure_env#0} @ 0x00000001713a88f8) at torrent_state.rs:320:9 + frame #12: 0x0000000100f17a84 ubuntu`librqbit::torrent_state::TorrentState::lock_write::h9d38ed3237018f3a(self=0x000000012ac04ea0, reason="reserve_next_needed_piece") at torrent_state.rs:527:29 + frame #13: 0x0000000100f2a28c ubuntu`librqbit::torrent_state::TorrentState::reserve_next_needed_piece::_$u7b$$u7b$closure$u7d$$u7d$::hd0fbceff9780e430(live=0x000000012b8274e8) at torrent_state.rs:557:29 + frame #14: 0x0000000100f27ae0 ubuntu`librqbit::torrent_state::PeerStates::with_live_mut::_$u7b$$u7b$closure$u7d$$u7d$::h320cb76d1ceaf8b8(peer=0x000000012b8274e8) at torrent_state.rs:134:40 + frame #15: 0x0000000100f26e88 ubuntu`librqbit::torrent_state::PeerStates::with_peer_mut::_$u7b$$u7b$closure$u7d$$u7d$::h995e1245d2ec2d40(e=) at torrent_state.rs:119:22 + frame #16: 0x0000000100f3c414 ubuntu`core::option::Option$LT$T$GT$::map::h4d8ca31a4de2418b(self=Option> @ 0x00000001713a9200, f={closure_env#1}>, librqbit::torrent_state::{impl#0}::with_live_mut::{closure_env#0}, librqbit::torrent_state::{impl#4}::reserve_next_needed_piece::{closure_env#0}>> @ 0x00000001713a9228) at option.rs:1072:29 + frame #17: 0x0000000100f26460 ubuntu`librqbit::torrent_state::PeerStates::with_peer_mut::h746c3f2e9fa6ae69(self=0x000000012ac04f38, addr=, reason="reserve_next_needed_piece", f={closure_env#0}, librqbit::torrent_state::{impl#4}::reserve_next_needed_piece::{closure_env#0}> @ 0x00000001713a9240) at torrent_state.rs:118:9 + frame #18: 0x0000000100f2792c ubuntu`librqbit::torrent_state::PeerStates::with_live_mut::ha54fdf952970b0fb(self=0x000000012ac04f38, addr=, reason="reserve_next_needed_piece", f={closure_env#0} @ 0x00000001713a92b0) at torrent_state.rs:133:9 + frame #19: 0x0000000100f17c10 ubuntu`librqbit::torrent_state::TorrentState::reserve_next_needed_piece::h7530534a0f6e875c(self=0x000000012ac04ea0, peer_handle=SocketAddr @ 0x000000012ac04f38) at torrent_state.rs:551:9 + frame #20: 0x0000000100f2ca18 ubuntu`librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h5bca314bc041909d((null)=0x00000001713ad9c0) at torrent_state.rs:1061:31 + frame #21: 0x0000000100f2c138 ubuntu`librqbit::torrent_state::PeerHandler::task_peer_chunk_requester::_$u7b$$u7b$closure$u7d$$u7d$::h61185154eba132e6((null)=0x00000001713ad9c0) at torrent_state.rs:1015:32 + frame #22: 0x0000000100eb8230 ubuntu`librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::h54a23f93dc690329((null)=0x00000001713ad9c0) at spawn_utils.rs:9:19 + frame #23: 0x0000000100f3762c ubuntu`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::ha0949784faec682f(self=Pin<&mut tracing::instrument::Instrumented>> @ 0x00000001713ad7f0, cx=0x00000001713ad9c0) at instrument.rs:321:9 + frame #24: 0x0000000100ea6b1c ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::_$u7b$$u7b$closure$u7d$$u7d$::h85fc0804c4a96f63(ptr=0x000000012a030430) at core.rs:328:17 + frame #25: 0x0000000100ea4a54 ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::ha70c61143b17e094 [inlined] tokio::loom::std::unsafe_cell::UnsafeCell$LT$T$GT$::with_mut::he9488f24d16aedc4(self=0x000000012a030430, f={closure_env#0}>, alloc::sync::Arc> @ 0x00000001713ad9f8) at unsafe_cell.rs:16:9 + frame #26: 0x0000000100ea4a48 ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::ha70c61143b17e094(self=0x000000012a030420, cx=Context @ 0x00000001713ad9c0) at core.rs:317:13 + frame #27: 0x0000000100f4710c ubuntu`tokio::runtime::task::harness::poll_future::_$u7b$$u7b$closure$u7d$$u7d$::h792587d9f0af054a at harness.rs:485:19 + frame #28: 0x0000000100eced44 ubuntu`_$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h1eb2b6f1d0041d89(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x00000001713ada70, (null)=) at unwind_safe.rs:272:9 + frame #29: 0x0000000100e75664 ubuntu`std::panicking::try::do_call::hb17d9cc020d00e50(data=" \U00000004\U00000003*\U00000001") at panicking.rs:552:40 + frame #30: 0x0000000100e71358 ubuntu`std::panicking::try::hca4e5afab064f4af(f=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x00000001713adb20) at panicking.rs:516:19 + frame #31: 0x0000000100ed44f8 ubuntu`std::panic::catch_unwind::he79306e778f6e542(f=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x00000001713adb60) at panic.rs:142:14 + frame #32: 0x0000000100f454e0 ubuntu`tokio::runtime::task::harness::poll_future::hc6f17e9606493faf(core=0x000000012a030420, cx=Context @ 0x00000001713adc70) at harness.rs:473:18 + frame #33: 0x0000000100f4a630 ubuntu`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll_inner::haccf94a72e87a1f4(self=0x00000001713add28) at harness.rs:208:27 + frame #34: 0x0000000100f50428 ubuntu`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h962477a665dbd927(self=Harness>, alloc::sync::Arc> @ 0x00000001713add28) at harness.rs:153:15 + frame #35: 0x0000000100f0f014 ubuntu`tokio::runtime::task::raw::poll::h3ced65a33e48f0be(ptr=NonNull @ 0x00000001713add50) at raw.rs:271:5 + frame #36: 0x0000000101477900 ubuntu`tokio::runtime::task::raw::RawTask::poll::h1000d6912ad57420(self=RawTask @ 0x00000001713add70) at raw.rs:201:18 + frame #37: 0x0000000101463ba8 ubuntu`tokio::runtime::task::LocalNotified$LT$S$GT$::run::h614d754e09832cad(self=LocalNotified> @ 0x00000001713adda0) at mod.rs:408:9 + frame #38: 0x0000000101491e18 ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::_$u7b$$u7b$closure$u7d$$u7d$::ha7f5ee623f6de024 at worker.rs:577:13 + frame #39: 0x0000000101491ddc ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h3a91c4bdfa345831 at coop.rs:107:5 + frame #40: 0x0000000101491dac ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h3a91c4bdfa345831 [inlined] tokio::runtime::coop::budget::h8d1d2f494ba6a7cb(f={closure_env#0} @ 0x00000001713adf30) at coop.rs:73:5 + frame #41: 0x0000000101491d88 ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h3a91c4bdfa345831(self=0x00000001713ae260, task=Notified> @ 0x00000001713adf20, core=0x00006000039cc190) at worker.rs:576:9 + frame #42: 0x0000000101491a84 ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run::heaa445e39d3099a1(self=0x00000001713ae260, core=0x00006000039cc190) at worker.rs:526:24 + frame #43: 0x0000000101491894 ubuntu`tokio::runtime::scheduler::multi_thread::worker::run::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h2b571f29a8f60888 at worker.rs:491:21 + frame #44: 0x0000000101483090 ubuntu`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::hf925c595bd252f01(self=0x000000012a90aab8, t=0x00000001713ae258, f={closure_env#0} @ 0x00000001713ae0e8) at scoped.rs:40:9 + frame #45: 0x000000010144c988 ubuntu`tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::h0302d095e8b65143(c=0x000000012a90aa80) at context.rs:176:26 + frame #46: 0x000000010147ffa0 ubuntu`std::thread::local::LocalKey$LT$T$GT$::try_with::h6fb83be6e86818c6(self=0x0000000101766de8, f={closure_env#0}<(), tokio::runtime::scheduler::multi_thread::worker::run::{closure#0}::{closure_env#0}> @ 0x00000001713ae1f0) at local.rs:270:16 + frame #47: 0x000000010147eca4 ubuntu`std::thread::local::LocalKey$LT$T$GT$::with::h5dcf9435a259397f(self=0x0000000101766de8, f=) at local.rs:246:9 + frame #48: 0x000000010144c954 ubuntu`tokio::runtime::context::set_scheduler::h6b6f06a5ae3a93e1(v=0x00000001713ae258, f={closure_env#0} @ 0x00000001713ae210) at context.rs:176:9 + frame #49: 0x0000000101491848 ubuntu`tokio::runtime::scheduler::multi_thread::worker::run::_$u7b$$u7b$closure$u7d$$u7d$::hf0230b52cc3b88d3((null)=0x00000001713ae3c0) at worker.rs:486:9 + frame #50: 0x000000010145d464 ubuntu`tokio::runtime::context::runtime::enter_runtime::h7a46156447e47d54(handle=0x00000001713ae458, allow_block_in_place=true, f={closure_env#0} @ 0x00000001713ae400) at runtime.rs:65:16 + frame #51: 0x000000010149172c ubuntu`tokio::runtime::scheduler::multi_thread::worker::run::h4cf7d8d53344654d(worker=strong=1, weak=0) at worker.rs:478:5 + frame #52: 0x0000000100f165f0 ubuntu`tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hdcd0200f1ace3c10 at worker.rs:422:41 + frame #53: 0x0000000100ee9704 ubuntu`_$LT$tokio..runtime..blocking..task..BlockingTask$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h5e51c8253a97db96(self=Pin<&mut tokio::runtime::blocking::task::BlockingTask>>> @ 0x00000001713ae4b8, _cx=0x00000001713ae5c0) at task.rs:42:21 + frame #54: 0x0000000100ea6efc ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::_$u7b$$u7b$closure$u7d$$u7d$::hb7e35a417059b0ad(ptr=0x000000012a8067a8) at core.rs:328:17 + frame #55: 0x0000000100ea50b0 ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd59079f2084d2a5c [inlined] tokio::loom::std::unsafe_cell::UnsafeCell$LT$T$GT$::with_mut::hd64ff7d14075f21c(self=0x000000012a8067a8, f={closure_env#0}>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ 0x00000001713ae5f8) at unsafe_cell.rs:16:9 + frame #56: 0x0000000100ea50a4 ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd59079f2084d2a5c(self=0x000000012a8067a0, cx=Context @ 0x00000001713ae5c0) at core.rs:317:13 + frame #57: 0x0000000100f4772c ubuntu`tokio::runtime::task::harness::poll_future::_$u7b$$u7b$closure$u7d$$u7d$::hb5f6e8c09d369fd1 at harness.rs:485:19 + frame #58: 0x0000000100ed04b0 ubuntu`_$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::he3ee8a4cae328095(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x00000001713ae670, (null)=) at unwind_safe.rs:272:9 + frame #59: 0x0000000100e73aec ubuntu`std::panicking::try::do_call::h489a70e89d3ca1b6(data="\xa0g\x80*\U00000001") at panicking.rs:552:40 + frame #60: 0x0000000100e6e638 ubuntu`std::panicking::try::h5e0d069f0af730a8(f=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x00000001713ae720) at panicking.rs:516:19 + frame #61: 0x0000000100ed34a8 ubuntu`std::panic::catch_unwind::h4669e6cae3323c93(f=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x00000001713ae760) at panic.rs:142:14 + frame #62: 0x0000000100f442e8 ubuntu`tokio::runtime::task::harness::poll_future::h7d428e00030d2cfa(core=0x000000012a8067a0, cx=Context @ 0x00000001713ae870) at harness.rs:473:18 + frame #63: 0x0000000100f49700 ubuntu`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll_inner::h6b3fcd463fc98a43(self=0x00000001713ae928) at harness.rs:208:27 + frame #64: 0x0000000100f4fa50 ubuntu`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h34abb3e8b9684af7(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ 0x00000001713ae928) at harness.rs:153:15 + frame #65: 0x0000000100f0ef84 ubuntu`tokio::runtime::task::raw::poll::h30cae272b2c909e0(ptr=NonNull @ 0x00000001713ae950) at raw.rs:271:5 + frame #66: 0x0000000101477900 ubuntu`tokio::runtime::task::raw::RawTask::poll::h1000d6912ad57420(self=RawTask @ 0x00000001713ae970) at raw.rs:201:18 + frame #67: 0x0000000101463c2c ubuntu`tokio::runtime::task::UnownedTask$LT$S$GT$::run::hfc4dd67afb1a17b6(self=UnownedTask @ 0x00000001713ae9a0) at mod.rs:445:9 + frame #68: 0x000000010146ff54 ubuntu`tokio::runtime::blocking::pool::Task::run::hf0982e055b4d9b3d(self=Task @ 0x00000001713ae9c0) at pool.rs:159:9 + frame #69: 0x0000000101471428 ubuntu`tokio::runtime::blocking::pool::Inner::run::h613e034fcd5273c1(self=0x0000000129e052e0, worker_thread_id=16) at pool.rs:513:17 + frame #70: 0x00000001014712ac ubuntu`tokio::runtime::blocking::pool::Spawner::spawn_thread::_$u7b$$u7b$closure$u7d$$u7d$::h85055799f1079122 at pool.rs:471:13 + frame #71: 0x0000000101450fb0 ubuntu`std::sys_common::backtrace::__rust_begin_short_backtrace::hc00264b51514bc2a(f=) at backtrace.rs:154:18 + frame #72: 0x0000000101445cdc ubuntu`std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hf0c597d86743f4b0 at mod.rs:529:17 + frame #73: 0x00000001014a09f0 ubuntu`_$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h8e1e63be06f0c84a(self=, (null)=) at unwind_safe.rs:272:9 + frame #74: 0x0000000101456584 ubuntu`std::panicking::try::do_call::hce3444c785deac15(data="\U00000001") at panicking.rs:552:40 + frame #75: 0x0000000101455bb4 ubuntu`std::panicking::try::hdf0c5aa4f459a133(f=) at panicking.rs:516:19 + frame #76: 0x0000000101445c08 ubuntu`std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::h3869e60e8161d6b6 at panic.rs:142:14 + frame #77: 0x0000000101445c04 ubuntu`std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::h3869e60e8161d6b6 at mod.rs:528:30 + frame #78: 0x0000000101446144 ubuntu`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h079508b8f3dc0adc((null)=0x0000600000fc0040, (null)=) at function.rs:250:5 + frame #79: 0x00000001015b7334 ubuntu`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::ha50e0d33beaa94b5 at boxed.rs:2007:9 [opt] + frame #80: 0x00000001015b7328 ubuntu`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h320b0db4bb8e0440 at boxed.rs:2007:9 [opt] + frame #81: 0x00000001015b7324 ubuntu`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 at thread.rs:108:17 [opt] + frame #82: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 + thread #9, name = 'tokio-runtime-worker' + frame #0: 0x000000018c11c0ac libsystem_kernel.dylib`__psynch_cvwait + 8 + frame #1: 0x000000018c1595fc libsystem_pthread.dylib`_pthread_cond_wait + 1228 + frame #2: 0x0000000101124828 ubuntu`_$LT$parking_lot_core..thread_parker..imp..ThreadParker$u20$as$u20$parking_lot_core..thread_parker..ThreadParkerT$GT$::park::h81c3633b1efcc0d3(self=0x000000012a9064c8) at unix.rs:77:21 + frame #3: 0x0000000101125fd8 ubuntu`parking_lot_core::parking_lot::park::_$u7b$$u7b$closure$u7d$$u7d$::h86031eb220440ab6(thread_data=0x000000012a9064c8) at parking_lot.rs:635:17 + frame #4: 0x00000001011258b0 ubuntu`parking_lot_core::parking_lot::park::hf4b3e8965b659760 at parking_lot.rs:207:5 + frame #5: 0x000000010112586c ubuntu`parking_lot_core::parking_lot::park::hf4b3e8965b659760(key=5024852649, validate={closure_env#0} @ 0x0000000172824a00, before_sleep={closure_env#1} @ 0x0000000172824a0e, timed_out={closure_env#2} @ 0x0000000172824a0f, park_token=ParkToken @ 0x00000001728249c8, timeout=Option @ 0x00000001728249d0) at parking_lot.rs:600:5 + frame #6: 0x00000001015e2a10 ubuntu`dashmap::lock::RawRwLock::lock_shared_slow::h334165b2f5c9384b(self=0x000000012b812aa8) at lock.rs:270:21 + frame #7: 0x0000000100e41588 ubuntu`_$LT$dashmap..lock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_shared::h5de6b0427458a49d(self=0x000000012b812aa8) at lock.rs:62:13 + frame #8: 0x0000000100e68760 ubuntu`lock_api::rwlock::RwLock$LT$R$C$T$GT$::read::h608658d5ac4b6a2d(self=0x000000012b812aa8) at rwlock.rs:459:9 + frame #9: 0x0000000100e516e0 ubuntu`_$LT$dashmap..DashMap$LT$K$C$V$C$S$GT$$u20$as$u20$dashmap..t..Map$LT$K$C$V$C$S$GT$$GT$::_yield_read_shard::h84bc69d2d64a0791(self=0x000000012ac04f38, i=3) at lib.rs:891:9 + frame #10: 0x0000000100f16ba0 ubuntu`_$LT$dashmap..iter..Iter$LT$K$C$V$C$S$C$M$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$::next::hb1e9fda45c3f5907(self=0x0000000172825040) at iter.rs:174:34 + frame #11: 0x0000000100f16884 ubuntu`core::iter::traits::iterator::Iterator::fold::hb050bd376eb4851a(self=Iter> @ 0x0000000172825040, init=, f={closure_env#0} @ 0x0000000172824ed7) at iterator.rs:2639:29 + frame #12: 0x0000000100f25db8 ubuntu`librqbit::torrent_state::PeerStates::stats::_$u7b$$u7b$closure$u7d$$u7d$::hd59e6c38ca10527f at torrent_state.rs:83:13 + frame #13: 0x0000000100f16cd0 ubuntu`librqbit::torrent_state::PeerStates::stats::h19c78f686fc82ec4 [inlined] librqbit::torrent_state::timed_existence::timeit::he9134af8f822c0db(_n="PeerStates::stats", f={closure_env#0} @ 0x00000001728250e8) at torrent_state.rs:320:9 + frame #14: 0x0000000100f16ccc ubuntu`librqbit::torrent_state::PeerStates::stats::h19c78f686fc82ec4(self=0x000000012ac04f38) at torrent_state.rs:82:9 + frame #15: 0x0000000100f1e854 ubuntu`librqbit::torrent_state::TorrentState::stats_snapshot::hd1d23431a2423ac4(self=0x000000012ac04ea0) at torrent_state.rs:814:26 + frame #16: 0x0000000100d3ce18 ubuntu`ubuntu::main::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h83250063274c5a73((null)=0x00000001728259c0) at ubuntu.rs:58:29 + frame #17: 0x0000000100daf5a0 ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::_$u7b$$u7b$closure$u7d$$u7d$::h79917eeebd8da4bf(ptr=0x000000012a8054b0) at core.rs:328:17 + frame #18: 0x0000000100dae914 ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h4de5834817b41167 [inlined] tokio::loom::std::unsafe_cell::UnsafeCell$LT$T$GT$::with_mut::h814e071762dc01e7(self=0x000000012a8054b0, f={closure_env#0}> @ 0x00000001728259f8) at unsafe_cell.rs:16:9 + frame #19: 0x0000000100dae908 ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h4de5834817b41167(self=0x000000012a8054a0, cx=Context @ 0x00000001728259c0) at core.rs:317:13 + frame #20: 0x0000000100d20fc0 ubuntu`tokio::runtime::task::harness::poll_future::_$u7b$$u7b$closure$u7d$$u7d$::h5dbac610dcd51c05 at harness.rs:485:19 + frame #21: 0x0000000100d2c850 ubuntu`_$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h9543cf5917c58f0a(self=AssertUnwindSafe>> @ 0x0000000172825a70, (null)=) at unwind_safe.rs:272:9 + frame #22: 0x0000000100d978c0 ubuntu`std::panicking::try::do_call::h787058153fa1937a(data="\xa0T\x80*\U00000001") at panicking.rs:552:40 + frame #23: 0x0000000100d956b0 ubuntu`std::panicking::try::ha4b80fdbe60b6612(f=AssertUnwindSafe>> @ 0x0000000172825b20) at panicking.rs:516:19 + frame #24: 0x0000000100dc30a0 ubuntu`std::panic::catch_unwind::hef8577e7fdc5ba02(f=AssertUnwindSafe>> @ 0x0000000172825b60) at panic.rs:142:14 + frame #25: 0x0000000100d20660 ubuntu`tokio::runtime::task::harness::poll_future::hd3f48a099c574665(core=0x000000012a8054a0, cx=Context @ 0x0000000172825c70) at harness.rs:473:18 + frame #26: 0x0000000100d22414 ubuntu`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll_inner::h633fce5e0d45add7(self=0x0000000172825d28) at harness.rs:208:27 + frame #27: 0x0000000100d2514c ubuntu`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h082197922e651306(self=Harness> @ 0x0000000172825d28) at harness.rs:153:15 + frame #28: 0x0000000100dc455c ubuntu`tokio::runtime::task::raw::poll::h88effb4e48acc935(ptr=NonNull @ 0x0000000172825d50) at raw.rs:271:5 + frame #29: 0x0000000101477900 ubuntu`tokio::runtime::task::raw::RawTask::poll::h1000d6912ad57420(self=RawTask @ 0x0000000172825d70) at raw.rs:201:18 + frame #30: 0x0000000101463ba8 ubuntu`tokio::runtime::task::LocalNotified$LT$S$GT$::run::h614d754e09832cad(self=LocalNotified> @ 0x0000000172825da0) at mod.rs:408:9 + frame #31: 0x0000000101491e18 ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::_$u7b$$u7b$closure$u7d$$u7d$::ha7f5ee623f6de024 at worker.rs:577:13 + frame #32: 0x0000000101491ddc ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h3a91c4bdfa345831 at coop.rs:107:5 + frame #33: 0x0000000101491dac ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h3a91c4bdfa345831 [inlined] tokio::runtime::coop::budget::h8d1d2f494ba6a7cb(f={closure_env#0} @ 0x0000000172825f30) at coop.rs:73:5 + frame #34: 0x0000000101491d88 ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h3a91c4bdfa345831(self=0x0000000172826260, task=Notified> @ 0x0000000172825f20, core=0x00006000039cc230) at worker.rs:576:9 + frame #35: 0x0000000101491b7c ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run::heaa445e39d3099a1(self=0x0000000172826260, core=0x00006000039cc230) at worker.rs:538:24 + frame #36: 0x0000000101491894 ubuntu`tokio::runtime::scheduler::multi_thread::worker::run::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h2b571f29a8f60888 at worker.rs:491:21 + frame #37: 0x0000000101483090 ubuntu`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::hf925c595bd252f01(self=0x000000012a906318, t=0x0000000172826258, f={closure_env#0} @ 0x00000001728260e8) at scoped.rs:40:9 + frame #38: 0x000000010144c988 ubuntu`tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::h0302d095e8b65143(c=0x000000012a9062e0) at context.rs:176:26 + frame #39: 0x000000010147ffa0 ubuntu`std::thread::local::LocalKey$LT$T$GT$::try_with::h6fb83be6e86818c6(self=0x0000000101766de8, f={closure_env#0}<(), tokio::runtime::scheduler::multi_thread::worker::run::{closure#0}::{closure_env#0}> @ 0x00000001728261f0) at local.rs:270:16 + frame #40: 0x000000010147eca4 ubuntu`std::thread::local::LocalKey$LT$T$GT$::with::h5dcf9435a259397f(self=0x0000000101766de8, f=) at local.rs:246:9 + frame #41: 0x000000010144c954 ubuntu`tokio::runtime::context::set_scheduler::h6b6f06a5ae3a93e1(v=0x0000000172826258, f={closure_env#0} @ 0x0000000172826210) at context.rs:176:9 + frame #42: 0x0000000101491848 ubuntu`tokio::runtime::scheduler::multi_thread::worker::run::_$u7b$$u7b$closure$u7d$$u7d$::hf0230b52cc3b88d3((null)=0x00000001728263c0) at worker.rs:486:9 + frame #43: 0x000000010145d464 ubuntu`tokio::runtime::context::runtime::enter_runtime::h7a46156447e47d54(handle=0x0000000172826458, allow_block_in_place=true, f={closure_env#0} @ 0x0000000172826400) at runtime.rs:65:16 + frame #44: 0x000000010149172c ubuntu`tokio::runtime::scheduler::multi_thread::worker::run::h4cf7d8d53344654d(worker=strong=1, weak=0) at worker.rs:478:5 + frame #45: 0x0000000100f165f0 ubuntu`tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hdcd0200f1ace3c10 at worker.rs:422:41 + frame #46: 0x0000000100ee9704 ubuntu`_$LT$tokio..runtime..blocking..task..BlockingTask$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h5e51c8253a97db96(self=Pin<&mut tokio::runtime::blocking::task::BlockingTask>>> @ 0x00000001728264b8, _cx=0x00000001728265c0) at task.rs:42:21 + frame #47: 0x0000000100ea6efc ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::_$u7b$$u7b$closure$u7d$$u7d$::hb7e35a417059b0ad(ptr=0x000000012ac06828) at core.rs:328:17 + frame #48: 0x0000000100ea50b0 ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd59079f2084d2a5c [inlined] tokio::loom::std::unsafe_cell::UnsafeCell$LT$T$GT$::with_mut::hd64ff7d14075f21c(self=0x000000012ac06828, f={closure_env#0}>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ 0x00000001728265f8) at unsafe_cell.rs:16:9 + frame #49: 0x0000000100ea50a4 ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd59079f2084d2a5c(self=0x000000012ac06820, cx=Context @ 0x00000001728265c0) at core.rs:317:13 + frame #50: 0x0000000100f4772c ubuntu`tokio::runtime::task::harness::poll_future::_$u7b$$u7b$closure$u7d$$u7d$::hb5f6e8c09d369fd1 at harness.rs:485:19 + frame #51: 0x0000000100ed04b0 ubuntu`_$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::he3ee8a4cae328095(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000000172826670, (null)=) at unwind_safe.rs:272:9 + frame #52: 0x0000000100e73aec ubuntu`std::panicking::try::do_call::h489a70e89d3ca1b6(data=" h\xc0*\U00000001") at panicking.rs:552:40 + frame #53: 0x0000000100e6e638 ubuntu`std::panicking::try::h5e0d069f0af730a8(f=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000000172826720) at panicking.rs:516:19 + frame #54: 0x0000000100ed34a8 ubuntu`std::panic::catch_unwind::h4669e6cae3323c93(f=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000000172826760) at panic.rs:142:14 + frame #55: 0x0000000100f442e8 ubuntu`tokio::runtime::task::harness::poll_future::h7d428e00030d2cfa(core=0x000000012ac06820, cx=Context @ 0x0000000172826870) at harness.rs:473:18 + frame #56: 0x0000000100f49700 ubuntu`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll_inner::h6b3fcd463fc98a43(self=0x0000000172826928) at harness.rs:208:27 + frame #57: 0x0000000100f4fa50 ubuntu`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h34abb3e8b9684af7(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ 0x0000000172826928) at harness.rs:153:15 + frame #58: 0x0000000100f0ef84 ubuntu`tokio::runtime::task::raw::poll::h30cae272b2c909e0(ptr=NonNull @ 0x0000000172826950) at raw.rs:271:5 + frame #59: 0x0000000101477900 ubuntu`tokio::runtime::task::raw::RawTask::poll::h1000d6912ad57420(self=RawTask @ 0x0000000172826970) at raw.rs:201:18 + frame #60: 0x0000000101463c2c ubuntu`tokio::runtime::task::UnownedTask$LT$S$GT$::run::hfc4dd67afb1a17b6(self=UnownedTask @ 0x00000001728269a0) at mod.rs:445:9 + frame #61: 0x000000010146ff54 ubuntu`tokio::runtime::blocking::pool::Task::run::hf0982e055b4d9b3d(self=Task @ 0x00000001728269c0) at pool.rs:159:9 + frame #62: 0x0000000101471428 ubuntu`tokio::runtime::blocking::pool::Inner::run::h613e034fcd5273c1(self=0x0000000129e052e0, worker_thread_id=26) at pool.rs:513:17 + frame #63: 0x00000001014712ac ubuntu`tokio::runtime::blocking::pool::Spawner::spawn_thread::_$u7b$$u7b$closure$u7d$$u7d$::h85055799f1079122 at pool.rs:471:13 + frame #64: 0x0000000101450fb0 ubuntu`std::sys_common::backtrace::__rust_begin_short_backtrace::hc00264b51514bc2a(f=) at backtrace.rs:154:18 + frame #65: 0x0000000101445cdc ubuntu`std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hf0c597d86743f4b0 at mod.rs:529:17 + frame #66: 0x00000001014a09f0 ubuntu`_$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h8e1e63be06f0c84a(self=, (null)=) at unwind_safe.rs:272:9 + frame #67: 0x0000000101456584 ubuntu`std::panicking::try::do_call::hce3444c785deac15(data="\U00000001") at panicking.rs:552:40 + frame #68: 0x0000000101455bb4 ubuntu`std::panicking::try::hdf0c5aa4f459a133(f=) at panicking.rs:516:19 + frame #69: 0x0000000101445c08 ubuntu`std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::h3869e60e8161d6b6 at panic.rs:142:14 + frame #70: 0x0000000101445c04 ubuntu`std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::h3869e60e8161d6b6 at mod.rs:528:30 + frame #71: 0x0000000101446144 ubuntu`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h079508b8f3dc0adc((null)=0x0000600000fc4700, (null)=) at function.rs:250:5 + frame #72: 0x00000001015b7334 ubuntu`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::ha50e0d33beaa94b5 at boxed.rs:2007:9 [opt] + frame #73: 0x00000001015b7328 ubuntu`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h320b0db4bb8e0440 at boxed.rs:2007:9 [opt] + frame #74: 0x00000001015b7324 ubuntu`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 at thread.rs:108:17 [opt] + frame #75: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 + thread #10, name = 'tokio-runtime-worker' + frame #0: 0x000000018c11c0ac libsystem_kernel.dylib`__psynch_cvwait + 8 + frame #1: 0x000000018c1595fc libsystem_pthread.dylib`_pthread_cond_wait + 1228 + frame #2: 0x0000000101124828 ubuntu`_$LT$parking_lot_core..thread_parker..imp..ThreadParker$u20$as$u20$parking_lot_core..thread_parker..ThreadParkerT$GT$::park::h81c3633b1efcc0d3(self=0x0000000129e09668) at unix.rs:77:21 + frame #3: 0x0000000101125b50 ubuntu`parking_lot_core::parking_lot::park::_$u7b$$u7b$closure$u7d$$u7d$::h18f410baacc0559c(thread_data=0x0000000129e09668) at parking_lot.rs:635:17 + frame #4: 0x0000000101125974 ubuntu`parking_lot_core::parking_lot::park::hffd40fb41585b576 at parking_lot.rs:207:5 + frame #5: 0x0000000101125930 ubuntu`parking_lot_core::parking_lot::park::hffd40fb41585b576(key=5024852648, validate={closure_env#0} @ 0x0000000172c327f0, before_sleep={closure_env#1} @ 0x0000000172c327fe, timed_out={closure_env#2} @ 0x0000000172c327ff, park_token=ParkToken @ 0x0000000172c327b8, timeout=Option @ 0x0000000172c327c0) at parking_lot.rs:600:5 + frame #6: 0x00000001015e23e4 ubuntu`dashmap::lock::RawRwLock::lock_exclusive_slow::hb412df9abc0204f0(self=0x000000012b812aa8) at lock.rs:127:21 + frame #7: 0x0000000100e4165c ubuntu`_$LT$dashmap..lock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_exclusive::h8ead4ac4d98471f7(self=0x000000012b812aa8) at lock.rs:39:13 + frame #8: 0x0000000100e68820 ubuntu`lock_api::rwlock::RwLock$LT$R$C$T$GT$::write::hc4e7fe16952d8032(self=0x000000012b812aa8) at rwlock.rs:491:9 + frame #9: 0x0000000100e51764 ubuntu`_$LT$dashmap..DashMap$LT$K$C$V$C$S$GT$$u20$as$u20$dashmap..t..Map$LT$K$C$V$C$S$GT$$GT$::_yield_write_shard::h971feeadba981b7d(self=0x000000012ac04f38, i=3) at lib.rs:897:9 + frame #10: 0x0000000100e51bcc ubuntu`_$LT$dashmap..DashMap$LT$K$C$V$C$S$GT$$u20$as$u20$dashmap..t..Map$LT$K$C$V$C$S$GT$$GT$::_get_mut::hc1bddeaceb84f34a(self=0x000000012ac04f38, key=0x0000000172c32b90) at lib.rs:1037:30 + frame #11: 0x0000000100e51658 ubuntu`dashmap::DashMap$LT$K$C$V$C$S$GT$::get_mut::h96e2ddc143de3c77(self=0x000000012ac04f38, key=0x0000000172c32b90) at lib.rs:595:9 + frame #12: 0x0000000100f26948 ubuntu`librqbit::torrent_state::PeerStates::with_peer_mut::_$u7b$$u7b$closure$u7d$$u7d$::hc8aa11de2fa81c71 at torrent_state.rs:118:27 + frame #13: 0x0000000100f26750 ubuntu`librqbit::torrent_state::PeerStates::with_peer_mut::he509a74b0af1a29d [inlined] librqbit::torrent_state::timed_existence::timeit::hfd902a2f8ad09d07(_n="reset_peer_backoff", f={closure_env#0}<(), librqbit::torrent_state::{impl#0}::reset_peer_backoff::{closure_env#0}> @ 0x0000000172c32b60) at torrent_state.rs:320:9 + frame #14: 0x0000000100f2674c ubuntu`librqbit::torrent_state::PeerStates::with_peer_mut::he509a74b0af1a29d(self=0x000000012ac04f38, addr=, reason="reset_peer_backoff", f={closure_env#0} @ 0x0000000172c32b4f) at torrent_state.rs:118:9 + frame #15: 0x0000000100f170d4 ubuntu`librqbit::torrent_state::PeerStates::reset_peer_backoff::ha633931ec2b2dfc2(self=0x000000012ac04f38, handle=) at torrent_state.rs:187:9 + frame #16: 0x0000000100f2f7bc ubuntu`librqbit::torrent_state::PeerHandler::on_received_piece::_$u7b$$u7b$closure$u7d$$u7d$::hc462ed89ec5b7416 at torrent_state.rs:1292:29 + frame #17: 0x0000000100efc118 ubuntu`tokio::runtime::context::runtime_mt::exit_runtime::h36289c34cbb792cc(f={closure_env#2} @ 0x0000000172c342c0) at runtime_mt.rs:35:5 + frame #18: 0x0000000100f15ce8 ubuntu`tokio::runtime::scheduler::multi_thread::worker::block_in_place::h371a12fb5f797b5b(f={closure_env#2} @ 0x0000000172c342c0) at worker.rs:438:9 + frame #19: 0x0000000100efc8fc ubuntu`tokio::runtime::scheduler::block_in_place::block_in_place::h49e3226cebf17b1b(f=) at block_in_place.rs:20:5 + frame #20: 0x0000000100ef6ec8 ubuntu`tokio::task::blocking::block_in_place::ha149fbe3163f3299(f=) at blocking.rs:78:9 + frame #21: 0x0000000100ebeddc ubuntu`librqbit::spawn_utils::BlockingSpawner::spawn_block_in_place::h85643b434b030ed1(self=0x000000012d01a2b8, f={closure_env#2} @ 0x0000000172c342c0) at spawn_utils.rs:35:20 + frame #22: 0x0000000100f25080 ubuntu`librqbit::torrent_state::PeerHandler::on_received_piece::hfc76de485b1e69e4(self=0x000000012d01a290, handle=SocketAddr @ 0x0000000172c34b00, piece=Piece @ 0x0000000172c34ae0) at torrent_state.rs:1241:9 + frame #23: 0x0000000100f1ed9c ubuntu`_$LT$librqbit..torrent_state..PeerHandler$u20$as$u20$librqbit..peer_connection..PeerConnectionHandler$GT$::on_received_message::hcc2c1a998973e6ea(self=0x000000012d01a290, message=Message @ 0x0000000172c36308) at torrent_state.rs:860:38 + frame #24: 0x0000000100ec903c ubuntu`librqbit::peer_connection::PeerConnection$LT$H$GT$::manage_peer::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hd19286c0558488e9((null)=0x0000000172c3d9c0) at peer_connection.rs:270:17 + frame #25: 0x0000000100eca618 ubuntu`librqbit::peer_connection::PeerConnection$LT$H$GT$::manage_peer::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hdf7259baa4ab1268(cx=0x0000000172c3d9c0) at select.rs:524:49 + frame #26: 0x0000000100e5dac4 ubuntu`_$LT$tokio..future..poll_fn..PollFn$LT$F$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h598619c9121a1021(self=Pin<&mut tokio::future::poll_fn::PollFn>> @ 0x0000000172c36790, cx=0x0000000172c3d9c0) at poll_fn.rs:58:9 + frame #27: 0x0000000100ec62f4 ubuntu`librqbit::peer_connection::PeerConnection$LT$H$GT$::manage_peer::_$u7b$$u7b$closure$u7d$$u7d$::hbde87e7c4a75cde5((null)=0x0000000172c3d9c0) at peer_connection.rs:285:17 + frame #28: 0x0000000100f285a0 ubuntu`librqbit::torrent_state::TorrentState::task_manage_peer::_$u7b$$u7b$closure$u7d$$u7d$::hea04718635b021e0((null)=0x0000000172c3d9c0) at torrent_state.rs:462:51 + frame #29: 0x0000000100eb6a58 ubuntu`librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::h22a15ea7de950e84((null)=0x0000000172c3d9c0) at spawn_utils.rs:9:19 + frame #30: 0x0000000100f37ad4 ubuntu`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hf306b1b8f8b746ec(self=Pin<&mut tracing::instrument::Instrumented>> @ 0x0000000172c3d7b0, cx=0x0000000172c3d9c0) at instrument.rs:321:9 + frame #31: 0x0000000100e5c764 ubuntu`_$LT$core..pin..Pin$LT$P$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h75c2f3181b0cf1aa(self=Pin<&mut core::pin::Pin>, alloc::alloc::Global>>> @ 0x0000000172c3d8b8, cx=0x0000000172c3d9c0) at future.rs:125:9 + frame #32: 0x0000000100ea616c ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::_$u7b$$u7b$closure$u7d$$u7d$::h5e7de2bf5eee2830(ptr=0x000000012a905630) at core.rs:328:17 + frame #33: 0x0000000100ea4ef4 ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hc59bc6d6b6e00c95 [inlined] tokio::loom::std::unsafe_cell::UnsafeCell$LT$T$GT$::with_mut::h6f1eac3b5cc2f9fc(self=0x000000012a905630, f={closure_env#0}>, alloc::alloc::Global>>, alloc::sync::Arc> @ 0x0000000172c3d9f8) at unsafe_cell.rs:16:9 + frame #34: 0x0000000100ea4ee8 ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hc59bc6d6b6e00c95(self=0x000000012a905620, cx=Context @ 0x0000000172c3d9c0) at core.rs:317:13 + frame #35: 0x0000000100f46a7c ubuntu`tokio::runtime::task::harness::poll_future::_$u7b$$u7b$closure$u7d$$u7d$::h1ac58a34f257fa4e at harness.rs:485:19 + frame #36: 0x0000000100ecf5a8 ubuntu`_$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h65267074a1338221(self=AssertUnwindSafe>, alloc::alloc::Global>>, alloc::sync::Arc>> @ 0x0000000172c3da70, (null)=) at unwind_safe.rs:272:9 + frame #37: 0x0000000100e75468 ubuntu`std::panicking::try::do_call::ha519f6d3905eb2d3(data=" V\x90*\U00000001") at panicking.rs:552:40 + frame #38: 0x0000000100e72540 ubuntu`std::panicking::try::hf6253d263edac0a7(f=AssertUnwindSafe>, alloc::alloc::Global>>, alloc::sync::Arc>> @ 0x0000000172c3db20) at panicking.rs:516:19 + frame #39: 0x0000000100ed36a8 ubuntu`std::panic::catch_unwind::h5882a801edf9c0d0(f=AssertUnwindSafe>, alloc::alloc::Global>>, alloc::sync::Arc>> @ 0x0000000172c3db60) at panic.rs:142:14 + frame #40: 0x0000000100f45c10 ubuntu`tokio::runtime::task::harness::poll_future::hd86755375ddf0d4a(core=0x000000012a905620, cx=Context @ 0x0000000172c3dc70) at harness.rs:473:18 + frame #41: 0x0000000100f48b9c ubuntu`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll_inner::h37fc87829deea2a7(self=0x0000000172c3dd28) at harness.rs:208:27 + frame #42: 0x0000000100f50188 ubuntu`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h7332793119460ed4(self=Harness>, alloc::alloc::Global>>, alloc::sync::Arc> @ 0x0000000172c3dd28) at harness.rs:153:15 + frame #43: 0x0000000100f0f104 ubuntu`tokio::runtime::task::raw::poll::h51db310fbcdeebd3(ptr=NonNull @ 0x0000000172c3dd50) at raw.rs:271:5 + frame #44: 0x0000000101477900 ubuntu`tokio::runtime::task::raw::RawTask::poll::h1000d6912ad57420(self=RawTask @ 0x0000000172c3dd70) at raw.rs:201:18 + frame #45: 0x0000000101463ba8 ubuntu`tokio::runtime::task::LocalNotified$LT$S$GT$::run::h614d754e09832cad(self=LocalNotified> @ 0x0000000172c3dda0) at mod.rs:408:9 + frame #46: 0x0000000101491e18 ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::_$u7b$$u7b$closure$u7d$$u7d$::ha7f5ee623f6de024 at worker.rs:577:13 + frame #47: 0x0000000101491ddc ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h3a91c4bdfa345831 at coop.rs:107:5 + frame #48: 0x0000000101491dac ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h3a91c4bdfa345831 [inlined] tokio::runtime::coop::budget::h8d1d2f494ba6a7cb(f={closure_env#0} @ 0x0000000172c3df30) at coop.rs:73:5 + frame #49: 0x0000000101491d88 ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h3a91c4bdfa345831(self=0x0000000172c3e260, task=Notified> @ 0x0000000172c3df20, core=0x00006000039cc2d0) at worker.rs:576:9 + frame #50: 0x0000000101491a84 ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run::heaa445e39d3099a1(self=0x0000000172c3e260, core=0x00006000039cc2d0) at worker.rs:526:24 + frame #51: 0x0000000101491894 ubuntu`tokio::runtime::scheduler::multi_thread::worker::run::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h2b571f29a8f60888 at worker.rs:491:21 + frame #52: 0x0000000101483090 ubuntu`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::hf925c595bd252f01(self=0x0000000129e094b8, t=0x0000000172c3e258, f={closure_env#0} @ 0x0000000172c3e0e8) at scoped.rs:40:9 + frame #53: 0x000000010144c988 ubuntu`tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::h0302d095e8b65143(c=0x0000000129e09480) at context.rs:176:26 + frame #54: 0x000000010147ffa0 ubuntu`std::thread::local::LocalKey$LT$T$GT$::try_with::h6fb83be6e86818c6(self=0x0000000101766de8, f={closure_env#0}<(), tokio::runtime::scheduler::multi_thread::worker::run::{closure#0}::{closure_env#0}> @ 0x0000000172c3e1f0) at local.rs:270:16 + frame #55: 0x000000010147eca4 ubuntu`std::thread::local::LocalKey$LT$T$GT$::with::h5dcf9435a259397f(self=0x0000000101766de8, f=) at local.rs:246:9 + frame #56: 0x000000010144c954 ubuntu`tokio::runtime::context::set_scheduler::h6b6f06a5ae3a93e1(v=0x0000000172c3e258, f={closure_env#0} @ 0x0000000172c3e210) at context.rs:176:9 + frame #57: 0x0000000101491848 ubuntu`tokio::runtime::scheduler::multi_thread::worker::run::_$u7b$$u7b$closure$u7d$$u7d$::hf0230b52cc3b88d3((null)=0x0000000172c3e3c0) at worker.rs:486:9 + frame #58: 0x000000010145d464 ubuntu`tokio::runtime::context::runtime::enter_runtime::h7a46156447e47d54(handle=0x0000000172c3e458, allow_block_in_place=true, f={closure_env#0} @ 0x0000000172c3e400) at runtime.rs:65:16 + frame #59: 0x000000010149172c ubuntu`tokio::runtime::scheduler::multi_thread::worker::run::h4cf7d8d53344654d(worker=strong=2, weak=0) at worker.rs:478:5 + frame #60: 0x0000000100f165f0 ubuntu`tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hdcd0200f1ace3c10 at worker.rs:422:41 + frame #61: 0x0000000100ee9704 ubuntu`_$LT$tokio..runtime..blocking..task..BlockingTask$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h5e51c8253a97db96(self=Pin<&mut tokio::runtime::blocking::task::BlockingTask>>> @ 0x0000000172c3e4b8, _cx=0x0000000172c3e5c0) at task.rs:42:21 + frame #62: 0x0000000100ea6efc ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::_$u7b$$u7b$closure$u7d$$u7d$::hb7e35a417059b0ad(ptr=0x0000000129e07328) at core.rs:328:17 + frame #63: 0x0000000100ea50b0 ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd59079f2084d2a5c [inlined] tokio::loom::std::unsafe_cell::UnsafeCell$LT$T$GT$::with_mut::hd64ff7d14075f21c(self=0x0000000129e07328, f={closure_env#0}>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ 0x0000000172c3e5f8) at unsafe_cell.rs:16:9 + frame #64: 0x0000000100ea50a4 ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd59079f2084d2a5c(self=0x0000000129e07320, cx=Context @ 0x0000000172c3e5c0) at core.rs:317:13 + frame #65: 0x0000000100f4772c ubuntu`tokio::runtime::task::harness::poll_future::_$u7b$$u7b$closure$u7d$$u7d$::hb5f6e8c09d369fd1 at harness.rs:485:19 + frame #66: 0x0000000100ed04b0 ubuntu`_$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::he3ee8a4cae328095(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000000172c3e670, (null)=) at unwind_safe.rs:272:9 + frame #67: 0x0000000100e73aec ubuntu`std::panicking::try::do_call::h489a70e89d3ca1b6(data=" s\xe0)\U00000001") at panicking.rs:552:40 + frame #68: 0x0000000100e6e638 ubuntu`std::panicking::try::h5e0d069f0af730a8(f=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000000172c3e720) at panicking.rs:516:19 + frame #69: 0x0000000100ed34a8 ubuntu`std::panic::catch_unwind::h4669e6cae3323c93(f=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000000172c3e760) at panic.rs:142:14 + frame #70: 0x0000000100f442e8 ubuntu`tokio::runtime::task::harness::poll_future::h7d428e00030d2cfa(core=0x0000000129e07320, cx=Context @ 0x0000000172c3e870) at harness.rs:473:18 + frame #71: 0x0000000100f49700 ubuntu`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll_inner::h6b3fcd463fc98a43(self=0x0000000172c3e928) at harness.rs:208:27 + frame #72: 0x0000000100f4fa50 ubuntu`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h34abb3e8b9684af7(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ 0x0000000172c3e928) at harness.rs:153:15 + frame #73: 0x0000000100f0ef84 ubuntu`tokio::runtime::task::raw::poll::h30cae272b2c909e0(ptr=NonNull @ 0x0000000172c3e950) at raw.rs:271:5 + frame #74: 0x0000000101477900 ubuntu`tokio::runtime::task::raw::RawTask::poll::h1000d6912ad57420(self=RawTask @ 0x0000000172c3e970) at raw.rs:201:18 + frame #75: 0x0000000101463c2c ubuntu`tokio::runtime::task::UnownedTask$LT$S$GT$::run::hfc4dd67afb1a17b6(self=UnownedTask @ 0x0000000172c3e9a0) at mod.rs:445:9 + frame #76: 0x000000010146ff54 ubuntu`tokio::runtime::blocking::pool::Task::run::hf0982e055b4d9b3d(self=Task @ 0x0000000172c3e9c0) at pool.rs:159:9 + frame #77: 0x0000000101471428 ubuntu`tokio::runtime::blocking::pool::Inner::run::h613e034fcd5273c1(self=0x0000000129e052e0, worker_thread_id=28) at pool.rs:513:17 + frame #78: 0x00000001014712ac ubuntu`tokio::runtime::blocking::pool::Spawner::spawn_thread::_$u7b$$u7b$closure$u7d$$u7d$::h85055799f1079122 at pool.rs:471:13 + frame #79: 0x0000000101450fb0 ubuntu`std::sys_common::backtrace::__rust_begin_short_backtrace::hc00264b51514bc2a(f=) at backtrace.rs:154:18 + frame #80: 0x0000000101445cdc ubuntu`std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hf0c597d86743f4b0 at mod.rs:529:17 + frame #81: 0x00000001014a09f0 ubuntu`_$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h8e1e63be06f0c84a(self=, (null)=) at unwind_safe.rs:272:9 + frame #82: 0x0000000101456584 ubuntu`std::panicking::try::do_call::hce3444c785deac15(data="\U00000001") at panicking.rs:552:40 + frame #83: 0x0000000101455bb4 ubuntu`std::panicking::try::hdf0c5aa4f459a133(f=) at panicking.rs:516:19 + frame #84: 0x0000000101445c08 ubuntu`std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::h3869e60e8161d6b6 at panic.rs:142:14 + frame #85: 0x0000000101445c04 ubuntu`std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::h3869e60e8161d6b6 at mod.rs:528:30 + frame #86: 0x0000000101446144 ubuntu`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h079508b8f3dc0adc((null)=0x0000600000fc4ac0, (null)=) at function.rs:250:5 + frame #87: 0x00000001015b7334 ubuntu`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::ha50e0d33beaa94b5 at boxed.rs:2007:9 [opt] + frame #88: 0x00000001015b7328 ubuntu`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h320b0db4bb8e0440 at boxed.rs:2007:9 [opt] + frame #89: 0x00000001015b7324 ubuntu`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 at thread.rs:108:17 [opt] + frame #90: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 From d6cef0952c9dc690d5e41f05141aaa6ef1f55433 Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Sun, 19 Nov 2023 23:04:13 +0000 Subject: [PATCH 27/40] Remove an instance of double-locking in the same scope --- crates/librqbit/src/torrent_state.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crates/librqbit/src/torrent_state.rs b/crates/librqbit/src/torrent_state.rs index a1dd065..ddb0f79 100644 --- a/crates/librqbit/src/torrent_state.rs +++ b/crates/librqbit/src/torrent_state.rs @@ -1287,11 +1287,11 @@ impl PeerHandler { ); { let mut g = self.state.lock_write("mark_piece_downloaded"); - g.chunks.mark_piece_downloaded(chunk_info.piece_index); - self.state.peers.reset_peer_backoff(handle); } + self.state.peers.reset_peer_backoff(handle); + debug!("piece={} successfully downloaded and verified", index); if self.state.is_finished() { From 0c89ee9248b2dc3150e5f3fd95d58d617a4ccd09 Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Sun, 19 Nov 2023 23:11:11 +0000 Subject: [PATCH 28/40] Add parameter with_peers to stats_snapshot while its slow --- crates/librqbit/examples/ubuntu.rs | 2 +- crates/librqbit/src/http_api.rs | 2 +- crates/librqbit/src/torrent_manager.rs | 4 ++-- crates/librqbit/src/torrent_state.rs | 8 ++++++-- crates/rqbit/src/main.rs | 2 +- 5 files changed, 11 insertions(+), 7 deletions(-) diff --git a/crates/librqbit/examples/ubuntu.rs b/crates/librqbit/examples/ubuntu.rs index 6813043..782dbbc 100644 --- a/crates/librqbit/examples/ubuntu.rs +++ b/crates/librqbit/examples/ubuntu.rs @@ -55,7 +55,7 @@ async fn main() -> Result<(), anyhow::Error> { async move { loop { tokio::time::sleep(Duration::from_secs(1)).await; - let stats = handle.torrent_state().stats_snapshot(); + let stats = handle.torrent_state().stats_snapshot(true); info!("stats: {stats:?}"); } } diff --git a/crates/librqbit/src/http_api.rs b/crates/librqbit/src/http_api.rs index e63156f..6fdebb5 100644 --- a/crates/librqbit/src/http_api.rs +++ b/crates/librqbit/src/http_api.rs @@ -320,7 +320,7 @@ impl ApiInternal { fn api_stats(&self, idx: usize) -> Result { let mgr = self.mgr_handle(idx)?; - let snapshot = mgr.torrent_state().stats_snapshot(); + let snapshot = mgr.torrent_state().stats_snapshot(true); let estimator = mgr.speed_estimator(); // Poor mans download speed computation diff --git a/crates/librqbit/src/torrent_manager.rs b/crates/librqbit/src/torrent_manager.rs index 943c755..3f160dc 100644 --- a/crates/librqbit/src/torrent_manager.rs +++ b/crates/librqbit/src/torrent_manager.rs @@ -294,8 +294,8 @@ impl TorrentManager { let state = mgr.state.clone(); async move { loop { - let stats = state.stats_snapshot(); - let fetched = state.stats_snapshot().fetched_bytes; + let stats = state.stats_snapshot(false); + let fetched = stats.fetched_bytes; let needed = state.initially_needed(); // fetched can be too high in theory, so for safety make sure that it doesn't wrap around u64. let remaining = needed diff --git a/crates/librqbit/src/torrent_state.rs b/crates/librqbit/src/torrent_state.rs index ddb0f79..b28ed6e 100644 --- a/crates/librqbit/src/torrent_state.rs +++ b/crates/librqbit/src/torrent_state.rs @@ -809,9 +809,13 @@ impl TorrentState { true } - pub fn stats_snapshot(&self) -> StatsSnapshot { + pub fn stats_snapshot(&self, with_peer_stats: bool) -> StatsSnapshot { use Ordering::*; - let peer_stats = self.peers.stats(); + let peer_stats = if with_peer_stats { + self.peers.stats() + } else { + Default::default() + }; let downloaded = self.stats.downloaded_and_checked.load(Relaxed); let remaining = self.needed - downloaded; StatsSnapshot { diff --git a/crates/rqbit/src/main.rs b/crates/rqbit/src/main.rs index 83cbb5f..49f7686 100644 --- a/crates/rqbit/src/main.rs +++ b/crates/rqbit/src/main.rs @@ -244,7 +244,7 @@ async fn async_main(opts: Opts, spawner: BlockingSpawner) -> anyhow::Result<()> info!("[{}] initializing", idx); }, ManagedTorrentState::Running(handle) => { - let stats = timeit("stats_snapshot", || handle.torrent_state().stats_snapshot()); + let stats = timeit("stats_snapshot", || handle.torrent_state().stats_snapshot(true)); let speed = handle.speed_estimator(); let total = stats.total_bytes; let progress = stats.total_bytes - stats.remaining_bytes; From 22ea146ff608f681d05dd5febaeab6943b0fd40a Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Sun, 19 Nov 2023 23:23:31 +0000 Subject: [PATCH 29/40] Starting to implement aggregate peer stats --- crates/librqbit/src/torrent_state.rs | 51 ++++++++++++++++++++++++++-- 1 file changed, 48 insertions(+), 3 deletions(-) diff --git a/crates/librqbit/src/torrent_state.rs b/crates/librqbit/src/torrent_state.rs index b28ed6e..c9f0d1e 100644 --- a/crates/librqbit/src/torrent_state.rs +++ b/crates/librqbit/src/torrent_state.rs @@ -4,7 +4,9 @@ // NOTE: deadlock notice: // peers and stateLocked are behind 2 different locks. // if you lock them in different order, this may deadlock. -// so always lock the peers one first, and unlock it before stateLocked is locked. +// +// so don't lock them both at the same time at all, or at the worst lock them in the +// same order (peers one first, then the global one). use std::{ collections::HashMap, @@ -12,7 +14,7 @@ use std::{ net::SocketAddr, path::PathBuf, sync::{ - atomic::{AtomicU64, Ordering}, + atomic::{AtomicU32, AtomicU64, Ordering}, Arc, }, time::{Duration, Instant}, @@ -62,9 +64,32 @@ pub struct InflightPiece { #[derive(Default)] pub struct PeerStates { + stats: AggregatePeerStatsAtomic, states: DashMap, } +#[derive(Debug, Default, Serialize)] +pub struct AggregatePeerStatsAtomic { + pub queued: AtomicU32, + pub connecting: AtomicU32, + pub live: AtomicU32, + pub seen: AtomicU32, + pub dead: AtomicU32, + pub not_needed: AtomicU32, +} + +impl AggregatePeerStatsAtomic { + fn counter(&self, state: &PeerState) -> &AtomicU32 { + match state { + PeerState::Connecting(_) => &self.connecting, + PeerState::Live(_) => &self.live, + PeerState::Queued => &self.queued, + PeerState::Dead => &self.dead, + PeerState::NotNeeded => &self.not_needed, + } + } +} + #[derive(Debug, Default, Serialize)] pub struct AggregatePeerStats { pub queued: usize, @@ -75,6 +100,20 @@ pub struct AggregatePeerStats { pub not_needed: usize, } +impl<'a> From<&'a AggregatePeerStatsAtomic> for AggregatePeerStats { + fn from(s: &'a AggregatePeerStatsAtomic) -> Self { + let ordering = Ordering::Relaxed; + Self { + queued: s.queued.load(ordering) as usize, + connecting: s.connecting.load(ordering) as usize, + live: s.live.load(ordering) as usize, + seen: s.seen.load(ordering) as usize, + dead: s.dead.load(ordering) as usize, + not_needed: s.not_needed.load(ordering) as usize, + } + } +} + impl PeerStates { pub fn stats(&self) -> AggregatePeerStats { // TODO: it would be better to store these as atomic not to lock needlessly. @@ -95,12 +134,16 @@ impl PeerStates { }) }) } + pub fn stats_from_atomic(&self) -> AggregatePeerStats { + AggregatePeerStats::from(&self.stats) + } pub fn add_if_not_seen(&self, addr: SocketAddr) -> Option { use dashmap::mapref::entry::Entry; match self.states.entry(addr) { Entry::Occupied(_) => None, Entry::Vacant(vac) => { vac.insert(Default::default()); + self.stats.queued.fetch_add(1, Ordering::Relaxed); Some(addr) } } @@ -142,7 +185,9 @@ impl PeerStates { .flatten() } pub fn drop_peer(&self, handle: PeerHandle) -> Option { - self.states.remove(&handle).map(|r| r.1) + let p = self.states.remove(&handle).map(|r| r.1)?; + self.stats.counter(&p.state).fetch_sub(1, Ordering::Relaxed); + Some(p) } pub fn mark_i_am_choked(&self, handle: PeerHandle, is_choked: bool) -> Option { self.with_live_mut(handle, "mark_i_am_choked", |live| { From aa99872e522760c1e6de3012674b80de5764d175 Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Mon, 20 Nov 2023 00:55:31 +0000 Subject: [PATCH 30/40] WTF is going on with counters --- crates/librqbit/src/peer_state.rs | 145 ++++++++++++++++++++------- crates/librqbit/src/torrent_state.rs | 139 +++++++++++++------------ 2 files changed, 181 insertions(+), 103 deletions(-) diff --git a/crates/librqbit/src/peer_state.rs b/crates/librqbit/src/peer_state.rs index 4e217d6..02189b6 100644 --- a/crates/librqbit/src/peer_state.rs +++ b/crates/librqbit/src/peer_state.rs @@ -1,3 +1,4 @@ +use std::sync::atomic::{AtomicU32, Ordering}; use std::time::Duration; use std::{collections::HashSet, sync::Arc}; @@ -5,8 +6,10 @@ use anyhow::Context; use backoff::{ExponentialBackoff, ExponentialBackoffBuilder}; use librqbit_core::id20::Id20; use librqbit_core::lengths::{ChunkInfo, ValidPieceIndex}; +use serde::Serialize; use tokio::sync::mpsc::{unbounded_channel, UnboundedReceiver, UnboundedSender}; use tokio::sync::{Notify, Semaphore}; +use tracing::trace; use crate::peer_connection::WriterRequest; use crate::type_aliases::BF; @@ -63,10 +66,61 @@ impl Default for PeerStats { #[derive(Debug, Default)] pub struct Peer { - pub state: PeerState, + pub state: PeerStateNoMut, pub stats: PeerStats, } +#[derive(Debug, Default, Serialize)] +pub struct AggregatePeerStatsAtomic { + pub queued: AtomicU32, + pub connecting: AtomicU32, + pub live: AtomicU32, + pub seen: AtomicU32, + pub dead: AtomicU32, + pub not_needed: AtomicU32, +} + +pub fn atomic_inc(c: &AtomicU32) -> u32 { + c.fetch_add(1, Ordering::Relaxed) +} + +pub fn atomic_dec(c: &AtomicU32) -> u32 { + c.fetch_sub(1, Ordering::Relaxed) +} + +impl AggregatePeerStatsAtomic { + pub fn counter(&self, state: &PeerState) -> &AtomicU32 { + match state { + PeerState::Connecting(_) => &self.connecting, + PeerState::Live(_) => &self.live, + PeerState::Queued => &self.queued, + PeerState::Dead => &self.dead, + PeerState::NotNeeded => &self.not_needed, + } + } + + pub fn inc(&self, state: &PeerState) { + trace!( + "inc, new value = {}, state = {}", + atomic_inc(self.counter(state)), + state + ); + } + + pub fn dec(&self, state: &PeerState) { + trace!( + "dec, new value = {}, state = {}", + atomic_dec(self.counter(state)), + state + ); + } + + pub fn incdec(&self, old: &PeerState, new: &PeerState) { + self.dec(old); + self.inc(new); + } +} + #[derive(Debug, Default)] pub enum PeerState { #[default] @@ -82,6 +136,12 @@ pub enum PeerState { NotNeeded, } +impl std::fmt::Display for PeerState { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{}", self.name()) + } +} + impl PeerState { pub fn name(&self) -> &'static str { match self { @@ -93,70 +153,77 @@ impl PeerState { } } - fn take_connecting(&mut self) -> Option { - if let PeerState::Connecting(_) = self { - match std::mem::take(self) { - PeerState::Connecting(tx) => Some(tx), - _ => unreachable!(), - } - } else { - None + pub fn take_live_no_counters(self) -> Option { + match self { + PeerState::Live(l) => Some(l), + _ => None, } } +} - pub fn take_live(&mut self) -> Option { - if let PeerState::Live(_) = self { - match std::mem::take(self) { - PeerState::Live(l) => Some(l), - _ => unreachable!(), - } - } else { - None - } +#[derive(Debug, Default)] +pub struct PeerStateNoMut(PeerState); + +impl PeerStateNoMut { + pub fn get(&self) -> &PeerState { + &self.0 + } + + pub fn take(&mut self, counters: &AggregatePeerStatsAtomic) -> PeerState { + self.set(Default::default(), counters) + } + + pub fn set(&mut self, new: PeerState, counters: &AggregatePeerStatsAtomic) -> PeerState { + counters.incdec(&self.0, &new); + std::mem::replace(&mut self.0, new) } pub fn get_live(&self) -> Option<&LivePeerState> { - match self { + match &self.0 { PeerState::Live(l) => Some(l), _ => None, } } pub fn get_live_mut(&mut self) -> Option<&mut LivePeerState> { - match self { + match &mut self.0 { PeerState::Live(l) => Some(l), _ => None, } } - pub fn queued_to_connecting(&mut self) -> Option { - if let PeerState::Queued = self { + pub fn queued_to_connecting(&mut self, counters: &AggregatePeerStatsAtomic) -> Option { + if let PeerState::Queued = &self.0 { let (tx, rx) = unbounded_channel(); - *self = PeerState::Connecting(tx); + self.set(PeerState::Connecting(tx), counters); Some(rx) } else { None } } - pub fn connecting_to_live(&mut self, peer_id: Id20) -> Option<&mut LivePeerState> { - let tx = self.take_connecting()?; - *self = PeerState::Live(LivePeerState::new(peer_id, tx)); - self.get_live_mut() - } - - pub fn to_dead(&mut self) -> Option> { - match std::mem::replace(self, PeerState::Dead) { - PeerState::Live(l) => Some(Some(l)), - PeerState::Connecting(_) => Some(None), - _ => None, + pub fn connecting_to_live( + &mut self, + peer_id: Id20, + counters: &AggregatePeerStatsAtomic, + ) -> Option<&mut LivePeerState> { + if let PeerState::Connecting(_) = &self.0 { + let tx = match self.take(counters) { + PeerState::Connecting(tx) => tx, + _ => unreachable!(), + }; + self.set(PeerState::Live(LivePeerState::new(peer_id, tx)), counters); + self.get_live_mut() + } else { + None } } - pub fn to_not_needed(&mut self) -> Option { - match std::mem::replace(self, PeerState::NotNeeded) { - PeerState::Live(l) => Some(l), - _ => None, - } + pub fn to_dead(&mut self, counters: &AggregatePeerStatsAtomic) -> PeerState { + self.set(PeerState::Dead, counters) + } + + pub fn to_not_needed(&mut self, counters: &AggregatePeerStatsAtomic) -> PeerState { + self.set(PeerState::NotNeeded, counters) } } diff --git a/crates/librqbit/src/torrent_state.rs b/crates/librqbit/src/torrent_state.rs index c9f0d1e..86fa8b3 100644 --- a/crates/librqbit/src/torrent_state.rs +++ b/crates/librqbit/src/torrent_state.rs @@ -14,7 +14,7 @@ use std::{ net::SocketAddr, path::PathBuf, sync::{ - atomic::{AtomicU32, AtomicU64, Ordering}, + atomic::{AtomicU64, Ordering}, Arc, }, time::{Duration, Instant}, @@ -52,7 +52,10 @@ use crate::{ peer_connection::{ PeerConnection, PeerConnectionHandler, PeerConnectionOptions, WriterRequest, }, - peer_state::{InflightRequest, LivePeerState, Peer, PeerRx, PeerState, PeerTx, SendMany}, + peer_state::{ + atomic_inc, AggregatePeerStatsAtomic, InflightRequest, LivePeerState, Peer, PeerRx, + PeerState, PeerTx, SendMany, + }, spawn_utils::{spawn, BlockingSpawner}, type_aliases::{PeerHandle, BF}, }; @@ -68,29 +71,7 @@ pub struct PeerStates { states: DashMap, } -#[derive(Debug, Default, Serialize)] -pub struct AggregatePeerStatsAtomic { - pub queued: AtomicU32, - pub connecting: AtomicU32, - pub live: AtomicU32, - pub seen: AtomicU32, - pub dead: AtomicU32, - pub not_needed: AtomicU32, -} - -impl AggregatePeerStatsAtomic { - fn counter(&self, state: &PeerState) -> &AtomicU32 { - match state { - PeerState::Connecting(_) => &self.connecting, - PeerState::Live(_) => &self.live, - PeerState::Queued => &self.queued, - PeerState::Dead => &self.dead, - PeerState::NotNeeded => &self.not_needed, - } - } -} - -#[derive(Debug, Default, Serialize)] +#[derive(Debug, Default, Serialize, PartialEq, Eq)] pub struct AggregatePeerStats { pub queued: usize, pub connecting: usize, @@ -123,7 +104,7 @@ impl PeerStates { .iter() .fold(AggregatePeerStats::default(), |mut s, p| { s.seen += 1; - match &p.value().state { + match &p.value().state.get() { PeerState::Connecting(_) => s.connecting += 1, PeerState::Live(_) => s.live += 1, PeerState::Queued => s.queued += 1, @@ -143,7 +124,8 @@ impl PeerStates { Entry::Occupied(_) => None, Entry::Vacant(vac) => { vac.insert(Default::default()); - self.stats.queued.fetch_add(1, Ordering::Relaxed); + atomic_inc(&self.stats.queued); + atomic_inc(&self.stats.seen); Some(addr) } } @@ -162,10 +144,12 @@ impl PeerStates { .map(|e| f(TimedExistence::new(e, reason).value_mut())) } pub fn with_live(&self, addr: PeerHandle, f: impl FnOnce(&LivePeerState) -> R) -> Option { - self.states.get(&addr).and_then(|e| match &e.value().state { - PeerState::Live(l) => Some(f(l)), - _ => None, - }) + self.states + .get(&addr) + .and_then(|e| match &e.value().state.get() { + PeerState::Live(l) => Some(f(l)), + _ => None, + }) } pub fn with_live_mut( &self, @@ -173,20 +157,19 @@ impl PeerStates { reason: &'static str, f: impl FnOnce(&mut LivePeerState) -> R, ) -> Option { - self.with_peer_mut(addr, reason, |peer| match &mut peer.state { - PeerState::Live(l) => Some(f(l)), - _ => None, - }) - .flatten() + self.with_peer_mut(addr, reason, |peer| peer.state.get_live_mut().map(f)) + .flatten() } pub fn mark_peer_dead(&self, handle: PeerHandle) -> Option> { - self.with_peer_mut(handle, "mark_peer_dead", |peer| peer.state.to_dead()) - .flatten() + let prev = self.with_peer_mut(handle, "mark_peer_dead", |peer| { + peer.state.to_dead(&self.stats) + })?; + Some(prev.take_live_no_counters()) } pub fn drop_peer(&self, handle: PeerHandle) -> Option { let p = self.states.remove(&handle).map(|r| r.1)?; - self.stats.counter(&p.state).fetch_sub(1, Ordering::Relaxed); + self.stats.dec(p.state.get()); Some(p) } pub fn mark_i_am_choked(&self, handle: PeerHandle, is_choked: bool) -> Option { @@ -216,12 +199,14 @@ impl PeerStates { }) } pub fn mark_peer_connecting(&self, h: PeerHandle) -> anyhow::Result { - self.with_peer_mut(h, "mark_peer_connecting", |peer| { - peer.state - .queued_to_connecting() - .context("invalid peer state") - }) - .context("peer not found in states")? + let rx = self + .with_peer_mut(h, "mark_peer_connecting", |peer| { + peer.state + .queued_to_connecting(&self.stats) + .context("invalid peer state") + }) + .context("peer not found in states")??; + Ok(rx) } pub fn clone_tx(&self, handle: PeerHandle) -> Option { @@ -234,11 +219,11 @@ impl PeerStates { }); } - fn mark_peer_not_needed(&self, handle: PeerHandle) -> Option { - self.with_peer_mut(handle, "mark_peer_not_needed", |peer| { - peer.state.to_not_needed() - }) - .flatten() + fn mark_peer_not_needed(&self, handle: PeerHandle) -> Option { + let prev = self.with_peer_mut(handle, "mark_peer_not_needed", |peer| { + peer.state.to_not_needed(&self.stats) + })?; + Some(prev) } } @@ -289,6 +274,7 @@ pub struct StatsSnapshot { pub time: Instant, pub total_piece_download_ms: u64, pub peer_stats: AggregatePeerStats, + pub new_peer_stats: AggregatePeerStats, } impl StatsSnapshot { @@ -677,10 +663,14 @@ impl TorrentState { fn set_peer_live(&self, handle: PeerHandle, h: Handshake) { let result = self.peers.with_peer_mut(handle, "set_peer_live", |p| { - p.state.connecting_to_live(Id20(h.peer_id)).is_some() + p.state + .connecting_to_live(Id20(h.peer_id), &self.peers.stats) + .is_some() }); match result { - Some(true) => debug!("set peer to live"), + Some(true) => { + debug!("set peer to live") + } Some(false) => debug!("can't set peer live, it was in wrong state"), None => debug!("can't set peer live, it disappeared"), } @@ -694,7 +684,9 @@ impl TorrentState { return; } }; - match std::mem::take(&mut pe.value_mut().state) { + let prev = pe.value_mut().state.take(&self.peers.stats); + + match prev { PeerState::Connecting(_) => {} PeerState::Live(live) => { let mut g = self.lock_write("mark_chunk_requests_canceled"); @@ -709,7 +701,9 @@ impl TorrentState { } PeerState::NotNeeded => { // Restore it as std::mem::take() replaced it above. - pe.value_mut().state = PeerState::NotNeeded; + pe.value_mut() + .state + .set(PeerState::NotNeeded, &self.peers.stats); return; } s @ PeerState::Queued | s @ PeerState::Dead => { @@ -723,17 +717,21 @@ impl TorrentState { if error.is_none() { debug!("peer died without errors, not re-queueing"); - pe.value_mut().state = PeerState::NotNeeded; + pe.value_mut() + .state + .set(PeerState::NotNeeded, &self.peers.stats); return; } if self.is_finished() { debug!("torrent finished, not re-queueing"); - pe.value_mut().state = PeerState::NotNeeded; + pe.value_mut() + .state + .set(PeerState::NotNeeded, &self.peers.stats); return; } - pe.value_mut().state = PeerState::Dead; + pe.value_mut().state.set(PeerState::Dead, &self.peers.stats); let backoff = pe.value_mut().stats.backoff.next_backoff(); // Prevent deadlocks. @@ -754,8 +752,10 @@ impl TorrentState { state .peers .with_peer_mut(handle, "dead_to_queued", |peer| { - match &peer.state { - PeerState::Dead => peer.state = PeerState::Queued, + match peer.state.get() { + PeerState::Dead => { + peer.state.set(PeerState::Queued, &state.peers.stats) + } other => bail!( "peer is in unexpected state: {}. Expected dead", other.name() @@ -793,7 +793,7 @@ impl TorrentState { let mut futures = Vec::new(); for pe in self.peers.states.iter() { - match &pe.value().state { + match &pe.value().state.get() { PeerState::Live(live) => { if !live.peer_interested { continue; @@ -856,11 +856,17 @@ impl TorrentState { pub fn stats_snapshot(&self, with_peer_stats: bool) -> StatsSnapshot { use Ordering::*; + let new_peer_stats = self.peers.stats_from_atomic(); let peer_stats = if with_peer_stats { - self.peers.stats() + let old_stats = self.peers.stats(); + if old_stats != new_peer_stats { + warn!("old != new: {old_stats:?} != {new_peer_stats:?}") + } + old_stats } else { Default::default() }; + let downloaded = self.stats.downloaded_and_checked.load(Relaxed); let remaining = self.needed - downloaded; StatsSnapshot { @@ -875,6 +881,7 @@ impl TorrentState { remaining_bytes: remaining, total_piece_download_ms: self.stats.total_piece_download_ms.load(Relaxed), peer_stats, + new_peer_stats, } } @@ -1367,10 +1374,14 @@ impl PeerHandler { fn disconnect_all_peers_that_have_full_torrent(&self) { for mut pe in self.state.peers.states.iter_mut() { - if let PeerState::Live(l) = &pe.value().state { + if let PeerState::Live(l) = pe.value().state.get() { if l.has_full_torrent(self.state.lengths.total_pieces() as usize) { - let live = pe.value_mut().state.to_not_needed().unwrap(); - let _ = live.tx.send(WriterRequest::Disconnect); + let prev = pe.value_mut().state.to_not_needed(&self.state.peers.stats); + let _ = prev + .take_live_no_counters() + .unwrap() + .tx + .send(WriterRequest::Disconnect); } } } From 88c2f9e926344d34fe6fec4fb5ee22dbcd060821 Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Mon, 20 Nov 2023 01:13:06 +0000 Subject: [PATCH 31/40] Finally fixed a stupid tracing bug with counters --- crates/librqbit/src/peer_state.rs | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/crates/librqbit/src/peer_state.rs b/crates/librqbit/src/peer_state.rs index 02189b6..4fc59ae 100644 --- a/crates/librqbit/src/peer_state.rs +++ b/crates/librqbit/src/peer_state.rs @@ -9,7 +9,6 @@ use librqbit_core::lengths::{ChunkInfo, ValidPieceIndex}; use serde::Serialize; use tokio::sync::mpsc::{unbounded_channel, UnboundedReceiver, UnboundedSender}; use tokio::sync::{Notify, Semaphore}; -use tracing::trace; use crate::peer_connection::WriterRequest; use crate::type_aliases::BF; @@ -100,19 +99,11 @@ impl AggregatePeerStatsAtomic { } pub fn inc(&self, state: &PeerState) { - trace!( - "inc, new value = {}, state = {}", - atomic_inc(self.counter(state)), - state - ); + atomic_inc(self.counter(state)); } pub fn dec(&self, state: &PeerState) { - trace!( - "dec, new value = {}, state = {}", - atomic_dec(self.counter(state)), - state - ); + atomic_dec(self.counter(state)); } pub fn incdec(&self, old: &PeerState, new: &PeerState) { From 123859328fa41f05bb0180990714a6f7aed4a344 Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Mon, 20 Nov 2023 01:19:24 +0000 Subject: [PATCH 32/40] Remove old slow peer stats computation --- crates/librqbit/examples/ubuntu.rs | 2 +- crates/librqbit/src/http_api.rs | 2 +- crates/librqbit/src/torrent_manager.rs | 2 +- crates/librqbit/src/torrent_state.rs | 43 +++++--------------------- crates/rqbit/src/main.rs | 2 +- 5 files changed, 11 insertions(+), 40 deletions(-) diff --git a/crates/librqbit/examples/ubuntu.rs b/crates/librqbit/examples/ubuntu.rs index 782dbbc..6813043 100644 --- a/crates/librqbit/examples/ubuntu.rs +++ b/crates/librqbit/examples/ubuntu.rs @@ -55,7 +55,7 @@ async fn main() -> Result<(), anyhow::Error> { async move { loop { tokio::time::sleep(Duration::from_secs(1)).await; - let stats = handle.torrent_state().stats_snapshot(true); + let stats = handle.torrent_state().stats_snapshot(); info!("stats: {stats:?}"); } } diff --git a/crates/librqbit/src/http_api.rs b/crates/librqbit/src/http_api.rs index 6fdebb5..e63156f 100644 --- a/crates/librqbit/src/http_api.rs +++ b/crates/librqbit/src/http_api.rs @@ -320,7 +320,7 @@ impl ApiInternal { fn api_stats(&self, idx: usize) -> Result { let mgr = self.mgr_handle(idx)?; - let snapshot = mgr.torrent_state().stats_snapshot(true); + let snapshot = mgr.torrent_state().stats_snapshot(); let estimator = mgr.speed_estimator(); // Poor mans download speed computation diff --git a/crates/librqbit/src/torrent_manager.rs b/crates/librqbit/src/torrent_manager.rs index 3f160dc..c8157d4 100644 --- a/crates/librqbit/src/torrent_manager.rs +++ b/crates/librqbit/src/torrent_manager.rs @@ -294,7 +294,7 @@ impl TorrentManager { let state = mgr.state.clone(); async move { loop { - let stats = state.stats_snapshot(false); + let stats = state.stats_snapshot(); let fetched = stats.fetched_bytes; let needed = state.initially_needed(); // fetched can be too high in theory, so for safety make sure that it doesn't wrap around u64. diff --git a/crates/librqbit/src/torrent_state.rs b/crates/librqbit/src/torrent_state.rs index 86fa8b3..b7b0080 100644 --- a/crates/librqbit/src/torrent_state.rs +++ b/crates/librqbit/src/torrent_state.rs @@ -97,27 +97,9 @@ impl<'a> From<&'a AggregatePeerStatsAtomic> for AggregatePeerStats { impl PeerStates { pub fn stats(&self) -> AggregatePeerStats { - // TODO: it would be better to store these as atomic not to lock needlessly. - // However this would probably cause even more spaghetti. - timeit("PeerStates::stats", || { - self.states - .iter() - .fold(AggregatePeerStats::default(), |mut s, p| { - s.seen += 1; - match &p.value().state.get() { - PeerState::Connecting(_) => s.connecting += 1, - PeerState::Live(_) => s.live += 1, - PeerState::Queued => s.queued += 1, - PeerState::Dead => s.dead += 1, - PeerState::NotNeeded => s.not_needed += 1, - }; - s - }) - }) - } - pub fn stats_from_atomic(&self) -> AggregatePeerStats { AggregatePeerStats::from(&self.stats) } + pub fn add_if_not_seen(&self, addr: SocketAddr) -> Option { use dashmap::mapref::entry::Entry; match self.states.entry(addr) { @@ -274,7 +256,6 @@ pub struct StatsSnapshot { pub time: Instant, pub total_piece_download_ms: u64, pub peer_stats: AggregatePeerStats, - pub new_peer_stats: AggregatePeerStats, } impl StatsSnapshot { @@ -778,7 +759,7 @@ impl TorrentState { self.stats.uploaded.load(Ordering::Relaxed) } pub fn get_downloaded(&self) -> u64 { - self.stats.downloaded_and_checked.load(Ordering::Relaxed) + self.stats.downloaded_and_checked.load(Ordering::Acquire) } pub fn is_finished(&self) -> bool { @@ -854,19 +835,8 @@ impl TorrentState { true } - pub fn stats_snapshot(&self, with_peer_stats: bool) -> StatsSnapshot { + pub fn stats_snapshot(&self) -> StatsSnapshot { use Ordering::*; - let new_peer_stats = self.peers.stats_from_atomic(); - let peer_stats = if with_peer_stats { - let old_stats = self.peers.stats(); - if old_stats != new_peer_stats { - warn!("old != new: {old_stats:?} != {new_peer_stats:?}") - } - old_stats - } else { - Default::default() - }; - let downloaded = self.stats.downloaded_and_checked.load(Relaxed); let remaining = self.needed - downloaded; StatsSnapshot { @@ -880,8 +850,7 @@ impl TorrentState { initially_needed_bytes: self.needed, remaining_bytes: remaining, total_piece_download_ms: self.stats.total_piece_download_ms.load(Relaxed), - peer_stats, - new_peer_stats, + peer_stats: self.peers.stats(), } } @@ -1324,7 +1293,9 @@ impl PeerHandler { self.state .stats .downloaded_and_checked - .fetch_add(piece_len, Ordering::Relaxed); + // This counter is used to compute "is_finished", so using + // stronger ordering. + .fetch_add(piece_len, Ordering::Release); self.state .stats .have diff --git a/crates/rqbit/src/main.rs b/crates/rqbit/src/main.rs index 49f7686..83cbb5f 100644 --- a/crates/rqbit/src/main.rs +++ b/crates/rqbit/src/main.rs @@ -244,7 +244,7 @@ async fn async_main(opts: Opts, spawner: BlockingSpawner) -> anyhow::Result<()> info!("[{}] initializing", idx); }, ManagedTorrentState::Running(handle) => { - let stats = timeit("stats_snapshot", || handle.torrent_state().stats_snapshot(true)); + let stats = timeit("stats_snapshot", || handle.torrent_state().stats_snapshot()); let speed = handle.speed_estimator(); let total = stats.total_bytes; let progress = stats.total_bytes - stats.remaining_bytes; From 4a331d97c927814495a307ae88325bf414cbebc9 Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Mon, 20 Nov 2023 01:24:19 +0000 Subject: [PATCH 33/40] Make default peer connect timeout less = 2s --- crates/rqbit/src/main.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/crates/rqbit/src/main.rs b/crates/rqbit/src/main.rs index 83cbb5f..29addef 100644 --- a/crates/rqbit/src/main.rs +++ b/crates/rqbit/src/main.rs @@ -58,12 +58,12 @@ struct Opts { disable_dht_persistence: bool, /// The connect timeout, e.g. 1s, 1.5s, 100ms etc. - #[arg(long = "peer-connect-timeout", value_parser = parse_duration::parse)] - peer_connect_timeout: Option, + #[arg(long = "peer-connect-timeout", value_parser = parse_duration::parse, default_value="2s")] + peer_connect_timeout: Duration, /// The connect timeout, e.g. 1s, 1.5s, 100ms etc. - #[arg(long = "peer-read-write-timeout" , value_parser = parse_duration::parse)] - peer_read_write_timeout: Option, + #[arg(long = "peer-read-write-timeout" , value_parser = parse_duration::parse, default_value="10s")] + peer_read_write_timeout: Duration, /// How many threads to spawn for the executor. #[arg(short = 't', long)] @@ -229,8 +229,8 @@ async fn async_main(opts: Opts, spawner: BlockingSpawner) -> anyhow::Result<()> dht_config: None, peer_id: None, peer_opts: Some(PeerConnectionOptions { - connect_timeout: opts.peer_connect_timeout, - read_write_timeout: opts.peer_read_write_timeout, + connect_timeout: Some(opts.peer_connect_timeout), + read_write_timeout: Some(opts.peer_read_write_timeout), ..Default::default() }), }; From a9794de37e18473644555385261ccfb3ea9749d7 Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Mon, 20 Nov 2023 01:43:58 +0000 Subject: [PATCH 34/40] New bug showing up when torrent is downloading super fast --- TODO.md | 6 +- busy.txt | 610 ++++++++++++++++++++++++++ busy_2.txt | 618 ++++++++++++++++++++++++++ busy_deadlocked.txt | 622 +++++++++++++++++++++++++++ crates/librqbit/src/torrent_state.rs | 18 +- 5 files changed, 1869 insertions(+), 5 deletions(-) create mode 100644 busy.txt create mode 100644 busy_2.txt create mode 100644 busy_deadlocked.txt diff --git a/TODO.md b/TODO.md index 9e67d7c..6106718 100644 --- a/TODO.md +++ b/TODO.md @@ -1,9 +1,11 @@ - [ ] when we have the whole torrent, there's no point talking to peers that also have the whole torrent and keep reconnecting to them. - [ ] per-file stats -- [ ] per-peer stats -- [ ] use some concurrent hashmap e.g. flurry or dashmap +- [x (partial)] per-peer stats +- [x] use some concurrent hashmap e.g. flurry or dashmap - [x] tracing instead of logging. Debugging peers: RUST_LOG=[{peer=.*}]=debug test-log for tests +- [ ] reopen read only is bugged: + expected to be able to write to disk: error writing to file 0 (""The.Creator.2023.D.AMZN.WEB-DLRip.1.46Gb.MegaPeer.avi"") someday: - [ ] cancellation from the client-side for the lib (i.e. stop the torrent manager) \ No newline at end of file diff --git a/busy.txt b/busy.txt new file mode 100644 index 0000000..df13559 --- /dev/null +++ b/busy.txt @@ -0,0 +1,610 @@ +(lldb) command script import "/Users/igor/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/etc/lldb_lookup.py" +(lldb) command source -s 0 '/Users/igor/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/etc/lldb_commands' +(lldb) type synthetic add -l lldb_lookup.synthetic_lookup -x ".*" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)String$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^&(mut )?str$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^&(mut )?\\[.+\\]$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(std::ffi::([a-z_]+::)+)OsString$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)Vec<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)VecDeque<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)BTreeSet<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)BTreeMap<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(std::collections::([a-z_]+::)+)HashMap<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(std::collections::([a-z_]+::)+)HashSet<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)Rc<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)Arc<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(core::([a-z_]+::)+)Cell<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(core::([a-z_]+::)+)Ref<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(core::([a-z_]+::)+)RefMut<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(core::([a-z_]+::)+)RefCell<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^core::num::([a-z_]+::)*NonZero.+$" --category Rust +(lldb) type category enable Rust +(lldb) process attach --pid 70468 +Process 70468 stopped +* thread #1, name = 'main', queue = 'com.apple.main-thread', stop reason = signal SIGSTOP + frame #0: 0x000000018c11c0ac libsystem_kernel.dylib`__psynch_cvwait + 8 +libsystem_kernel.dylib`: +-> 0x18c11c0ac <+8>: b.lo 0x18c11c0cc ; <+40> + 0x18c11c0b0 <+12>: pacibsp + 0x18c11c0b4 <+16>: stp x29, x30, [sp, #-0x10]! + 0x18c11c0b8 <+20>: mov x29, sp +Target 0: (rqbit) stopped. +Executable module set to "/Users/igor/projects/2021-06-rust-qbittorrent/target/release/rqbit". +Architecture set to: arm64-apple-macosx-. +(lldb) bt all +(lldb) thread backtrace all + thread #2, name = 'tokio-runtime-worker' + frame #0: 0x000000018c118908 libsystem_kernel.dylib`swtch_pri + 8 + frame #1: 0x000000018c155ed8 libsystem_pthread.dylib`cthread_yield + 32 + frame #2: 0x00000001051b76c8 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::thread_parker::imp::thread_yield::h227973beb6a1850c at unix.rs:255:5 [opt] + frame #3: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::spinwait::SpinWait::spin::h5cfc83bbc083ea7f(self=) at spinwait.rs:56:13 [opt] + frame #4: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 at raw_rwlock.rs:1078:65 [opt] + frame #5: 0x00000001051b7360 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5(self=0x0000600003418010, recursive=, timeout=) at raw_rwlock.rs:719:9 [opt] + frame #6: 0x0000000104e95d44 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_shared::h75e69a78909e2622(self=0x0000600003418010) at raw_rwlock.rs:109:26 [opt] + frame #7: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at rwlock.rs:459:9 [opt] + frame #8: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::_$u7b$$u7b$closure$u7d$$u7d$::h72b3d81d214d5c52 at torrent_state.rs:533:59 [opt] + frame #9: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:332:9 [opt] + frame #10: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::ha7825068a8338bac(self=, reason=&str @ 0x0000600000b19560) at torrent_state.rs:533:29 [opt] + frame #11: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1119:20 [opt] + frame #12: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] + frame #13: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] + frame #14: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] + frame #15: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] + frame #16: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] + frame #17: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014c03aa20, cx=Context @ 0x000000016b2c2508) at core.rs:317:30 [opt] + frame #18: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] + frame #19: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x0000600000b197e0, (null)=) at unwind_safe.rs:271:9 [opt] + frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] + frame #21: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] + frame #22: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] + frame #23: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014c03aa20, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #24: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] + frame #25: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] + frame #26: 0x00000001050b0828 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] + frame #27: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] + frame #28: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::scheduler::multi_thread::worker::Context::run_task::_$u7b$$u7b$closure$u7d$$u7d$::hdead63aea4a59933 at worker.rs:577:18 [opt] + frame #29: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] + frame #30: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x0000600000b76e30) at coop.rs:73:5 [opt] + frame #31: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016b2c2bf0, task=Notified> @ scalar, core=) at worker.rs:576:9 [opt] + frame #32: 0x00000001050b014c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016b2c2bf0, core=0x0000600002c09360) at worker.rs:0 [opt] + frame #33: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] + frame #34: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014a008238, t=, f=) at scoped.rs:40:9 [opt] + frame #35: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] + frame #36: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] + frame #37: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] + frame #38: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016b2c2be8, f={closure_env#0} @ 0x0000600000b19c00) at context.rs:176:17 [opt] + frame #39: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] + frame #40: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x0000600000b19c70) at runtime.rs:65:16 [opt] + frame #41: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] + frame #42: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] + frame #43: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] + frame #44: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] + frame #45: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] + frame #46: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x000000014bd287a0, cx=) at core.rs:317:30 [opt] + frame #47: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] + frame #48: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000600000b1a1d0, (null)=) at unwind_safe.rs:271:9 [opt] + frame #49: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] + frame #50: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] + frame #51: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] + frame #52: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x000000014bd287a0, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #53: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] + frame #54: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] + frame #55: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] + frame #56: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] + frame #57: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x0000600000b64140) at pool.rs:159:9 [opt] + frame #58: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] + frame #59: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] + frame #60: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016b2c2f30) at backtrace.rs:154:18 [opt] + frame #61: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] + frame #62: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] + frame #63: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] + frame #64: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] + frame #65: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] + frame #66: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] + frame #67: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a0c700, (null)=) at function.rs:250:5 [opt] + frame #68: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] + frame #69: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] + frame #70: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] + frame #71: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 + thread #3, name = 'tokio-runtime-worker' + frame #0: 0x000000018c118908 libsystem_kernel.dylib`swtch_pri + 8 + frame #1: 0x000000018c155ed8 libsystem_pthread.dylib`cthread_yield + 32 + frame #2: 0x00000001051b76c8 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::thread_parker::imp::thread_yield::h227973beb6a1850c at unix.rs:255:5 [opt] + frame #3: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::spinwait::SpinWait::spin::h5cfc83bbc083ea7f(self=) at spinwait.rs:56:13 [opt] + frame #4: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 at raw_rwlock.rs:1078:65 [opt] + frame #5: 0x00000001051b7360 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5(self=0x0000600003418010, recursive=, timeout=) at raw_rwlock.rs:719:9 [opt] + frame #6: 0x0000000104e95d44 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_shared::h75e69a78909e2622(self=0x0000600003418010) at raw_rwlock.rs:109:26 [opt] + frame #7: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at rwlock.rs:459:9 [opt] + frame #8: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::_$u7b$$u7b$closure$u7d$$u7d$::h72b3d81d214d5c52 at torrent_state.rs:533:59 [opt] + frame #9: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:332:9 [opt] + frame #10: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::ha7825068a8338bac(self=, reason=&str @ 0x0000600000b647e0) at torrent_state.rs:533:29 [opt] + frame #11: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1119:20 [opt] + frame #12: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] + frame #13: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] + frame #14: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] + frame #15: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] + frame #16: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] + frame #17: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014d105a20, cx=Context @ 0x000000016b4ce508) at core.rs:317:30 [opt] + frame #18: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] + frame #19: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x0000600000b64a40, (null)=) at unwind_safe.rs:271:9 [opt] + frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] + frame #21: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] + frame #22: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] + frame #23: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014d105a20, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #24: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] + frame #25: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] + frame #26: 0x00000001050b0894 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] + frame #27: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] + frame #28: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at worker.rs:640:22 [opt] + frame #29: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] + frame #30: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x0000600000b64bc0) at coop.rs:73:5 [opt] + frame #31: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016b4cebf0, task=, core=) at worker.rs:576:9 [opt] + frame #32: 0x00000001050b02dc rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016b4cebf0, core=0x0000600002c085a0) at worker.rs:0 [opt] + frame #33: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] + frame #34: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014a808238, t=, f=) at scoped.rs:40:9 [opt] + frame #35: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] + frame #36: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] + frame #37: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] + frame #38: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016b4cebe8, f={closure_env#0} @ 0x0000600000b79a60) at context.rs:176:17 [opt] + frame #39: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] + frame #40: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x0000600000b79b40) at runtime.rs:65:16 [opt] + frame #41: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] + frame #42: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] + frame #43: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] + frame #44: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] + frame #45: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] + frame #46: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x0000000149611ca0, cx=) at core.rs:317:30 [opt] + frame #47: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] + frame #48: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000600000b79cf0, (null)=) at unwind_safe.rs:271:9 [opt] + frame #49: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] + frame #50: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] + frame #51: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] + frame #52: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x0000000149611ca0, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #53: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] + frame #54: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] + frame #55: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] + frame #56: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] + frame #57: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x0000600000b79ee0) at pool.rs:159:9 [opt] + frame #58: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] + frame #59: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] + frame #60: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016b4cef30) at backtrace.rs:154:18 [opt] + frame #61: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] + frame #62: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] + frame #63: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] + frame #64: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] + frame #65: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] + frame #66: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] + frame #67: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a0ccc0, (null)=) at function.rs:250:5 [opt] + frame #68: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] + frame #69: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] + frame #70: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] + frame #71: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 + thread #4, name = 'tokio-runtime-worker' + frame #0: 0x0000000104e95b24 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::unlock_shared::hea004debead67c32(self=) at raw_rwlock.rs:136:12 [opt] + frame #1: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$lock_api..rwlock..RwLockReadGuard$LT$R$C$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$::drop::h0fa0333e78a156b7(self=) at rwlock.rs:1372:13 [opt] + frame #2: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] core::ptr::drop_in_place$LT$lock_api..rwlock..RwLockReadGuard$LT$parking_lot..raw_rwlock..RawRwLock$C$librqbit..torrent_state..TorrentStateLocked$GT$$GT$::h37e2eada005d8e1e((null)=) at mod.rs:497:1 [opt] + frame #3: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] core::ptr::drop_in_place$LT$librqbit..torrent_state..timed_existence..TimedExistence$LT$lock_api..rwlock..RwLockReadGuard$LT$parking_lot..raw_rwlock..RawRwLock$C$librqbit..torrent_state..TorrentStateLocked$GT$$GT$$GT$::h0cbca05e47c1d35d((null)=) at mod.rs:497:1 [opt] + frame #4: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1123:48 [opt] + frame #5: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] + frame #6: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] + frame #7: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] + frame #8: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] + frame #9: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] + frame #10: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014a80c020, cx=Context @ 0x000000016b6da508) at core.rs:317:30 [opt] + frame #11: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] + frame #12: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x0000600000b7a180, (null)=) at unwind_safe.rs:271:9 [opt] + frame #13: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] + frame #14: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] + frame #15: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] + frame #16: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014a80c020, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #17: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] + frame #18: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] + frame #19: 0x00000001050b0828 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] + frame #20: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] + frame #21: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::scheduler::multi_thread::worker::Context::run_task::_$u7b$$u7b$closure$u7d$$u7d$::hdead63aea4a59933 at worker.rs:577:18 [opt] + frame #22: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] + frame #23: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x0000600000b64de0) at coop.rs:73:5 [opt] + frame #24: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016b6dabf0, task=Notified> @ scalar, core=) at worker.rs:576:9 [opt] + frame #25: 0x00000001050b014c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016b6dabf0, core=0x0000600002c08460) at worker.rs:0 [opt] + frame #26: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] + frame #27: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014b008238, t=, f=) at scoped.rs:40:9 [opt] + frame #28: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] + frame #29: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] + frame #30: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] + frame #31: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016b6dabe8, f={closure_env#0} @ 0x0000600000b7a470) at context.rs:176:17 [opt] + frame #32: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] + frame #33: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x0000600000b7a550) at runtime.rs:65:16 [opt] + frame #34: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] + frame #35: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] + frame #36: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] + frame #37: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] + frame #38: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] + frame #39: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x000000014b9122a0, cx=) at core.rs:317:30 [opt] + frame #40: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] + frame #41: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000600000b7a700, (null)=) at unwind_safe.rs:271:9 [opt] + frame #42: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] + frame #43: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] + frame #44: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] + frame #45: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x000000014b9122a0, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #46: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] + frame #47: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] + frame #48: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] + frame #49: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] + frame #50: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x0000600000b7a8f0) at pool.rs:159:9 [opt] + frame #51: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] + frame #52: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] + frame #53: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016b6daf30) at backtrace.rs:154:18 [opt] + frame #54: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] + frame #55: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] + frame #56: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] + frame #57: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] + frame #58: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] + frame #59: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] + frame #60: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a0c880, (null)=) at function.rs:250:5 [opt] + frame #61: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] + frame #62: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] + frame #63: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] + frame #64: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 + thread #5, name = 'tokio-runtime-worker' + frame #0: 0x0000000104e95b24 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::unlock_shared::hea004debead67c32(self=) at raw_rwlock.rs:136:12 [opt] + frame #1: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$lock_api..rwlock..RwLockReadGuard$LT$R$C$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$::drop::h0fa0333e78a156b7(self=) at rwlock.rs:1372:13 [opt] + frame #2: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] core::ptr::drop_in_place$LT$lock_api..rwlock..RwLockReadGuard$LT$parking_lot..raw_rwlock..RawRwLock$C$librqbit..torrent_state..TorrentStateLocked$GT$$GT$::h37e2eada005d8e1e((null)=) at mod.rs:497:1 [opt] + frame #3: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] core::ptr::drop_in_place$LT$librqbit..torrent_state..timed_existence..TimedExistence$LT$lock_api..rwlock..RwLockReadGuard$LT$parking_lot..raw_rwlock..RawRwLock$C$librqbit..torrent_state..TorrentStateLocked$GT$$GT$$GT$::h0cbca05e47c1d35d((null)=) at mod.rs:497:1 [opt] + frame #4: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1123:48 [opt] + frame #5: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] + frame #6: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] + frame #7: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] + frame #8: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] + frame #9: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] + frame #10: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014c813020, cx=Context @ 0x000000016b8e6508) at core.rs:317:30 [opt] + frame #11: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] + frame #12: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x0000600000b65250, (null)=) at unwind_safe.rs:271:9 [opt] + frame #13: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] + frame #14: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] + frame #15: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] + frame #16: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014c813020, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #17: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] + frame #18: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] + frame #19: 0x00000001050b0828 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] + frame #20: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] + frame #21: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::scheduler::multi_thread::worker::Context::run_task::_$u7b$$u7b$closure$u7d$$u7d$::hdead63aea4a59933 at worker.rs:577:18 [opt] + frame #22: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] + frame #23: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x0000600000b65450) at coop.rs:73:5 [opt] + frame #24: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016b8e6bf0, task=Notified> @ scalar, core=) at worker.rs:576:9 [opt] + frame #25: 0x00000001050b014c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016b8e6bf0, core=0x0000600002c08550) at worker.rs:0 [opt] + frame #26: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] + frame #27: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014a808838, t=, f=) at scoped.rs:40:9 [opt] + frame #28: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] + frame #29: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] + frame #30: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] + frame #31: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016b8e6be8, f={closure_env#0} @ 0x0000600000b7aad0) at context.rs:176:17 [opt] + frame #32: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] + frame #33: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x0000600000b7abb0) at runtime.rs:65:16 [opt] + frame #34: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] + frame #35: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] + frame #36: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] + frame #37: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] + frame #38: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] + frame #39: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x0000000149705a20, cx=) at core.rs:317:30 [opt] + frame #40: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] + frame #41: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000600000b7ad60, (null)=) at unwind_safe.rs:271:9 [opt] + frame #42: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] + frame #43: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] + frame #44: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] + frame #45: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x0000000149705a20, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #46: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] + frame #47: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] + frame #48: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] + frame #49: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] + frame #50: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x0000600000b7af50) at pool.rs:159:9 [opt] + frame #51: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] + frame #52: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] + frame #53: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016b8e6f30) at backtrace.rs:154:18 [opt] + frame #54: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] + frame #55: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] + frame #56: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] + frame #57: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] + frame #58: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] + frame #59: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] + frame #60: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a0c580, (null)=) at function.rs:250:5 [opt] + frame #61: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] + frame #62: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] + frame #63: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] + frame #64: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 + thread #6, name = 'tokio-runtime-worker' + frame #0: 0x000000018c118908 libsystem_kernel.dylib`swtch_pri + 8 + frame #1: 0x000000018c155ed8 libsystem_pthread.dylib`cthread_yield + 32 + frame #2: 0x00000001051b76c8 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::thread_parker::imp::thread_yield::h227973beb6a1850c at unix.rs:255:5 [opt] + frame #3: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::spinwait::SpinWait::spin::h5cfc83bbc083ea7f(self=) at spinwait.rs:56:13 [opt] + frame #4: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 at raw_rwlock.rs:1078:65 [opt] + frame #5: 0x00000001051b7360 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5(self=0x0000600003418010, recursive=, timeout=) at raw_rwlock.rs:719:9 [opt] + frame #6: 0x0000000104e95d44 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_shared::h75e69a78909e2622(self=0x0000600003418010) at raw_rwlock.rs:109:26 [opt] + frame #7: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at rwlock.rs:459:9 [opt] + frame #8: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::_$u7b$$u7b$closure$u7d$$u7d$::h72b3d81d214d5c52 at torrent_state.rs:533:59 [opt] + frame #9: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:332:9 [opt] + frame #10: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::ha7825068a8338bac(self=, reason=&str @ 0x0000600000b7b1e0) at torrent_state.rs:533:29 [opt] + frame #11: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1119:20 [opt] + frame #12: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] + frame #13: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] + frame #14: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] + frame #15: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] + frame #16: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] + frame #17: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014d82ec20, cx=Context @ 0x000000016baf2508) at core.rs:317:30 [opt] + frame #18: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] + frame #19: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x0000600000b7e0c0, (null)=) at unwind_safe.rs:271:9 [opt] + frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] + frame #21: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] + frame #22: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] + frame #23: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014d82ec20, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #24: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] + frame #25: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] + frame #26: 0x00000001050b0894 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] + frame #27: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] + frame #28: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at worker.rs:640:22 [opt] + frame #29: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] + frame #30: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x0000600000b7e240) at coop.rs:73:5 [opt] + frame #31: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016baf2bf0, task=, core=) at worker.rs:576:9 [opt] + frame #32: 0x00000001050b014c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016baf2bf0, core=0x0000600002c085f0) at worker.rs:0 [opt] + frame #33: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] + frame #34: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014a008838, t=, f=) at scoped.rs:40:9 [opt] + frame #35: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] + frame #36: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] + frame #37: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] + frame #38: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016baf2be8, f={closure_env#0} @ 0x0000600000b7b410) at context.rs:176:17 [opt] + frame #39: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] + frame #40: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x0000600000b7b4f0) at runtime.rs:65:16 [opt] + frame #41: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] + frame #42: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] + frame #43: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] + frame #44: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] + frame #45: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] + frame #46: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x00000001497085a0, cx=) at core.rs:317:30 [opt] + frame #47: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] + frame #48: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000600000b7b6a0, (null)=) at unwind_safe.rs:271:9 [opt] + frame #49: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] + frame #50: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] + frame #51: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] + frame #52: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x00000001497085a0, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #53: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] + frame #54: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] + frame #55: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] + frame #56: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] + frame #57: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x0000600000b7b890) at pool.rs:159:9 [opt] + frame #58: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] + frame #59: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] + frame #60: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016baf2f30) at backtrace.rs:154:18 [opt] + frame #61: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] + frame #62: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] + frame #63: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] + frame #64: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] + frame #65: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] + frame #66: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] + frame #67: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a0cc40, (null)=) at function.rs:250:5 [opt] + frame #68: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] + frame #69: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] + frame #70: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] + frame #71: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 + thread #7, name = 'tokio-runtime-worker' + frame #0: 0x000000018c118908 libsystem_kernel.dylib`swtch_pri + 8 + frame #1: 0x000000018c155ed8 libsystem_pthread.dylib`cthread_yield + 32 + frame #2: 0x00000001051b76c8 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::thread_parker::imp::thread_yield::h227973beb6a1850c at unix.rs:255:5 [opt] + frame #3: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::spinwait::SpinWait::spin::h5cfc83bbc083ea7f(self=) at spinwait.rs:56:13 [opt] + frame #4: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 at raw_rwlock.rs:1078:65 [opt] + frame #5: 0x00000001051b7360 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5(self=0x0000600003418010, recursive=, timeout=) at raw_rwlock.rs:719:9 [opt] + frame #6: 0x0000000104e95d44 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_shared::h75e69a78909e2622(self=0x0000600003418010) at raw_rwlock.rs:109:26 [opt] + frame #7: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at rwlock.rs:459:9 [opt] + frame #8: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::_$u7b$$u7b$closure$u7d$$u7d$::h72b3d81d214d5c52 at torrent_state.rs:533:59 [opt] + frame #9: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:332:9 [opt] + frame #10: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::ha7825068a8338bac(self=, reason=&str @ 0x0000600000b7bb20) at torrent_state.rs:533:29 [opt] + frame #11: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1119:20 [opt] + frame #12: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] + frame #13: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] + frame #14: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] + frame #15: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] + frame #16: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] + frame #17: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014a02f220, cx=Context @ 0x000000016bf0a508) at core.rs:317:30 [opt] + frame #18: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] + frame #19: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x0000600000b65700, (null)=) at unwind_safe.rs:271:9 [opt] + frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] + frame #21: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] + frame #22: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] + frame #23: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014a02f220, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #24: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] + frame #25: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] + frame #26: 0x00000001050b0894 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] + frame #27: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] + frame #28: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at worker.rs:640:22 [opt] + frame #29: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] + frame #30: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x0000600000b657c0) at coop.rs:73:5 [opt] + frame #31: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016bf0abf0, task=, core=) at worker.rs:576:9 [opt] + frame #32: 0x00000001050b014c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016bf0abf0, core=0x0000600002c08690) at worker.rs:0 [opt] + frame #33: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] + frame #34: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014b008e38, t=, f=) at scoped.rs:40:9 [opt] + frame #35: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] + frame #36: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] + frame #37: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] + frame #38: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016bf0abe8, f={closure_env#0} @ 0x0000600000b659e0) at context.rs:176:17 [opt] + frame #39: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] + frame #40: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x0000600000b65ac0) at runtime.rs:65:16 [opt] + frame #41: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] + frame #42: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] + frame #43: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] + frame #44: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] + frame #45: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] + frame #46: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x000000014bd1a120, cx=) at core.rs:317:30 [opt] + frame #47: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] + frame #48: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000600000b65c70, (null)=) at unwind_safe.rs:271:9 [opt] + frame #49: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] + frame #50: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] + frame #51: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] + frame #52: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x000000014bd1a120, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #53: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] + frame #54: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] + frame #55: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] + frame #56: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] + frame #57: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x0000600000b65e60) at pool.rs:159:9 [opt] + frame #58: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] + frame #59: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] + frame #60: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016bf0af30) at backtrace.rs:154:18 [opt] + frame #61: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] + frame #62: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] + frame #63: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] + frame #64: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] + frame #65: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] + frame #66: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] + frame #67: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a0ca40, (null)=) at function.rs:250:5 [opt] + frame #68: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] + frame #69: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] + frame #70: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] + frame #71: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 + thread #8 + frame #0: 0x000000018c11a564 libsystem_kernel.dylib`__workq_kernreturn + 8 + thread #9, name = 'tokio-runtime-worker' + frame #0: 0x000000018c160cb4 libdyld.dylib`tlv_get_addr + 4 + frame #1: 0x00000001050f19f0 rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e at option.rs:674:15 [opt] + frame #2: 0x00000001050f19dc rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e [inlined] std::sys::common::thread_local::lazy::LazyKeyInner$LT$T$GT$::get::h675e54a204ca8b72(self=) at mod.rs:46:42 [opt] + frame #3: 0x00000001050f19dc rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e [inlined] std::sys::common::thread_local::fast_local::Key$LT$T$GT$::get::h18d95d4ca32d0834(self=, init={closure_env#0} @ 0x0000600000b60060) at fast_local.rs:171:19 [opt] + frame #4: 0x00000001050f19dc rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e [inlined] parking_lot_core::parking_lot::with_thread_data::THREAD_DATA::__getit::h50f1aae5bcdf1454(init=Option<&mut core::option::Option> @ 0x0000600000b60110) at fast_local.rs:91:21 [opt] + frame #5: 0x00000001050f19dc rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e [inlined] std::thread::local::LocalKey$LT$T$GT$::try_with::h4dd06b279f18bb4e(self=, f=) at local.rs:269:32 [opt] + frame #6: 0x00000001050f19dc rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e at parking_lot.rs:203:27 [opt] + frame #7: 0x00000001050f19d8 rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e(key=105553170890768) at parking_lot.rs:1231:9 [opt] + frame #8: 0x0000000104e95b18 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] parking_lot_core::parking_lot::deadlock::release_resource::hb76fc449fd876904 at parking_lot.rs:1130:9 [opt] + frame #9: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] parking_lot::raw_rwlock::RawRwLock::deadlock_release::h9a0f2addf3cf5a39 at raw_rwlock.rs:1146:18 [opt] + frame #10: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::unlock_shared::hea004debead67c32(self=) at raw_rwlock.rs:130:14 [opt] + frame #11: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$lock_api..rwlock..RwLockReadGuard$LT$R$C$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$::drop::h0fa0333e78a156b7(self=) at rwlock.rs:1372:13 [opt] + frame #12: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] core::ptr::drop_in_place$LT$lock_api..rwlock..RwLockReadGuard$LT$parking_lot..raw_rwlock..RawRwLock$C$librqbit..torrent_state..TorrentStateLocked$GT$$GT$::h37e2eada005d8e1e((null)=) at mod.rs:497:1 [opt] + frame #13: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] core::ptr::drop_in_place$LT$librqbit..torrent_state..timed_existence..TimedExistence$LT$lock_api..rwlock..RwLockReadGuard$LT$parking_lot..raw_rwlock..RawRwLock$C$librqbit..torrent_state..TorrentStateLocked$GT$$GT$$GT$::h0cbca05e47c1d35d((null)=) at mod.rs:497:1 [opt] + frame #14: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1123:48 [opt] + frame #15: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] + frame #16: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] + frame #17: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] + frame #18: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] + frame #19: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] + frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014d0ab220, cx=Context @ 0x000000016ccf6508) at core.rs:317:30 [opt] + frame #21: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] + frame #22: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x0000600000b668c0, (null)=) at unwind_safe.rs:271:9 [opt] + frame #23: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] + frame #24: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] + frame #25: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] + frame #26: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014d0ab220, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #27: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] + frame #28: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] + frame #29: 0x00000001050b0894 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] + frame #30: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] + frame #31: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at worker.rs:640:22 [opt] + frame #32: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] + frame #33: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x0000600000b66ab0) at coop.rs:73:5 [opt] + frame #34: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016ccf6bf0, task=, core=) at worker.rs:576:9 [opt] + frame #35: 0x00000001050b02dc rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016ccf6bf0, core=0x0000600002c08640) at worker.rs:0 [opt] + frame #36: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] + frame #37: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014c840838, t=, f=) at scoped.rs:40:9 [opt] + frame #38: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] + frame #39: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] + frame #40: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] + frame #41: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016ccf6be8, f={closure_env#0} @ 0x0000600000b66cf0) at context.rs:176:17 [opt] + frame #42: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] + frame #43: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x0000600000b60260) at runtime.rs:65:16 [opt] + frame #44: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] + frame #45: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] + frame #46: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] + frame #47: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] + frame #48: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] + frame #49: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x000000014ba2d8a0, cx=) at core.rs:317:30 [opt] + frame #50: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] + frame #51: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000600000b60410, (null)=) at unwind_safe.rs:271:9 [opt] + frame #52: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] + frame #53: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] + frame #54: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] + frame #55: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x000000014ba2d8a0, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #56: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] + frame #57: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] + frame #58: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] + frame #59: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] + frame #60: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x0000600000b60600) at pool.rs:159:9 [opt] + frame #61: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] + frame #62: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] + frame #63: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016ccf6f30) at backtrace.rs:154:18 [opt] + frame #64: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] + frame #65: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] + frame #66: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] + frame #67: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] + frame #68: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] + frame #69: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] + frame #70: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a105c0, (null)=) at function.rs:250:5 [opt] + frame #71: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] + frame #72: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] + frame #73: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] + frame #74: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 + thread #10, name = 'tokio-runtime-worker' + frame #0: 0x000000018c118908 libsystem_kernel.dylib`swtch_pri + 8 + frame #1: 0x000000018c155ed8 libsystem_pthread.dylib`cthread_yield + 32 + frame #2: 0x00000001051b76c8 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::thread_parker::imp::thread_yield::h227973beb6a1850c at unix.rs:255:5 [opt] + frame #3: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::spinwait::SpinWait::spin::h5cfc83bbc083ea7f(self=) at spinwait.rs:56:13 [opt] + frame #4: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 at raw_rwlock.rs:1078:65 [opt] + frame #5: 0x00000001051b7360 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5(self=0x0000600003418010, recursive=, timeout=) at raw_rwlock.rs:719:9 [opt] + frame #6: 0x0000000104e95d44 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_shared::h75e69a78909e2622(self=0x0000600003418010) at raw_rwlock.rs:109:26 [opt] + frame #7: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at rwlock.rs:459:9 [opt] + frame #8: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::_$u7b$$u7b$closure$u7d$$u7d$::h72b3d81d214d5c52 at torrent_state.rs:533:59 [opt] + frame #9: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:332:9 [opt] + frame #10: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::ha7825068a8338bac(self=, reason=&str @ 0x0000600000b66e30) at torrent_state.rs:533:29 [opt] + frame #11: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1119:20 [opt] + frame #12: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] + frame #13: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] + frame #14: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] + frame #15: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] + frame #16: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] + frame #17: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014c033220, cx=Context @ 0x000000016d31a508) at core.rs:317:30 [opt] + frame #18: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] + frame #19: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x0000600000b67000, (null)=) at unwind_safe.rs:271:9 [opt] + frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] + frame #21: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] + frame #22: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] + frame #23: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014c033220, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #24: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] + frame #25: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] + frame #26: 0x00000001050b0828 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] + frame #27: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] + frame #28: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::scheduler::multi_thread::worker::Context::run_task::_$u7b$$u7b$closure$u7d$$u7d$::hdead63aea4a59933 at worker.rs:577:18 [opt] + frame #29: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] + frame #30: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x0000600000b608f0) at coop.rs:73:5 [opt] + frame #31: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016d31abf0, task=Notified> @ scalar, core=) at worker.rs:576:9 [opt] + frame #32: 0x00000001050b014c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016d31abf0, core=0x0000600002c08230) at worker.rs:0 [opt] + frame #33: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] + frame #34: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014d820e38, t=, f=) at scoped.rs:40:9 [opt] + frame #35: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] + frame #36: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] + frame #37: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] + frame #38: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016d31abe8, f={closure_env#0} @ 0x0000600000b672d0) at context.rs:176:17 [opt] + frame #39: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] + frame #40: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x0000600000b673b0) at runtime.rs:65:16 [opt] + frame #41: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] + frame #42: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] + frame #43: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] + frame #44: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] + frame #45: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] + frame #46: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x000000014bd0faa0, cx=) at core.rs:317:30 [opt] + frame #47: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] + frame #48: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000600000b67560, (null)=) at unwind_safe.rs:271:9 [opt] + frame #49: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] + frame #50: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] + frame #51: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] + frame #52: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x000000014bd0faa0, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #53: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] + frame #54: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] + frame #55: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] + frame #56: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] + frame #57: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x0000600000b67750) at pool.rs:159:9 [opt] + frame #58: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] + frame #59: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] + frame #60: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016d31af30) at backtrace.rs:154:18 [opt] + frame #61: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] + frame #62: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] + frame #63: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] + frame #64: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] + frame #65: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] + frame #66: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] + frame #67: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a15c40, (null)=) at function.rs:250:5 [opt] + frame #68: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] + frame #69: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] + frame #70: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] + frame #71: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 diff --git a/busy_2.txt b/busy_2.txt new file mode 100644 index 0000000..2a8b86e --- /dev/null +++ b/busy_2.txt @@ -0,0 +1,618 @@ +(lldb) command script import "/Users/igor/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/etc/lldb_lookup.py" +(lldb) command source -s 0 '/Users/igor/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/etc/lldb_commands' +(lldb) type synthetic add -l lldb_lookup.synthetic_lookup -x ".*" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)String$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^&(mut )?str$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^&(mut )?\\[.+\\]$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(std::ffi::([a-z_]+::)+)OsString$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)Vec<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)VecDeque<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)BTreeSet<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)BTreeMap<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(std::collections::([a-z_]+::)+)HashMap<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(std::collections::([a-z_]+::)+)HashSet<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)Rc<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)Arc<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(core::([a-z_]+::)+)Cell<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(core::([a-z_]+::)+)Ref<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(core::([a-z_]+::)+)RefMut<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(core::([a-z_]+::)+)RefCell<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^core::num::([a-z_]+::)*NonZero.+$" --category Rust +(lldb) type category enable Rust +(lldb) process attach --pid 70468 +Process 70468 stopped +* thread #1, name = 'main', queue = 'com.apple.main-thread', stop reason = signal SIGSTOP + frame #0: 0x000000018c11c0ac libsystem_kernel.dylib`__psynch_cvwait + 8 +libsystem_kernel.dylib`: +-> 0x18c11c0ac <+8>: b.lo 0x18c11c0cc ; <+40> + 0x18c11c0b0 <+12>: pacibsp + 0x18c11c0b4 <+16>: stp x29, x30, [sp, #-0x10]! + 0x18c11c0b8 <+20>: mov x29, sp +Target 0: (rqbit) stopped. +Executable module set to "/Users/igor/projects/2021-06-rust-qbittorrent/target/release/rqbit". +Architecture set to: arm64-apple-macosx-. +(lldb) bt all +(lldb) thread backtrace all + thread #2, name = 'tokio-runtime-worker' + frame #0: 0x00000001050f19fc rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e [inlined] std::sys::common::thread_local::fast_local::Key$LT$T$GT$::get::h18d95d4ca32d0834(self=, init={closure_env#0} @ 0x000060000328ff20) at fast_local.rs:0:13 [opt] + frame #1: 0x00000001050f19dc rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e [inlined] parking_lot_core::parking_lot::with_thread_data::THREAD_DATA::__getit::h50f1aae5bcdf1454(init=Option<&mut core::option::Option> @ 0x000060000328ffd0) at fast_local.rs:91:21 [opt] + frame #2: 0x00000001050f19dc rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e [inlined] std::thread::local::LocalKey$LT$T$GT$::try_with::h4dd06b279f18bb4e(self=, f=) at local.rs:269:32 [opt] + frame #3: 0x00000001050f19dc rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e at parking_lot.rs:203:27 [opt] + frame #4: 0x00000001050f19d8 rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e(key=105553170890769) at parking_lot.rs:1231:9 [opt] + frame #5: 0x0000000104e95b20 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] parking_lot_core::parking_lot::deadlock::release_resource::hb76fc449fd876904 at parking_lot.rs:1130:9 [opt] + frame #6: 0x0000000104e95b18 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] parking_lot::raw_rwlock::RawRwLock::deadlock_release::h9a0f2addf3cf5a39 at raw_rwlock.rs:1147:18 [opt] + frame #7: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::unlock_shared::hea004debead67c32(self=) at raw_rwlock.rs:130:14 [opt] + frame #8: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$lock_api..rwlock..RwLockReadGuard$LT$R$C$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$::drop::h0fa0333e78a156b7(self=) at rwlock.rs:1372:13 [opt] + frame #9: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] core::ptr::drop_in_place$LT$lock_api..rwlock..RwLockReadGuard$LT$parking_lot..raw_rwlock..RawRwLock$C$librqbit..torrent_state..TorrentStateLocked$GT$$GT$::h37e2eada005d8e1e((null)=) at mod.rs:497:1 [opt] + frame #10: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] core::ptr::drop_in_place$LT$librqbit..torrent_state..timed_existence..TimedExistence$LT$lock_api..rwlock..RwLockReadGuard$LT$parking_lot..raw_rwlock..RawRwLock$C$librqbit..torrent_state..TorrentStateLocked$GT$$GT$$GT$::h0cbca05e47c1d35d((null)=) at mod.rs:497:1 [opt] + frame #11: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1123:48 [opt] + frame #12: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] + frame #13: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] + frame #14: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] + frame #15: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] + frame #16: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] + frame #17: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014c03aa20, cx=Context @ 0x000000016b2c2508) at core.rs:317:30 [opt] + frame #18: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] + frame #19: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x000060000329f370, (null)=) at unwind_safe.rs:271:9 [opt] + frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] + frame #21: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] + frame #22: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] + frame #23: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014c03aa20, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #24: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] + frame #25: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] + frame #26: 0x00000001050b0828 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] + frame #27: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] + frame #28: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::scheduler::multi_thread::worker::Context::run_task::_$u7b$$u7b$closure$u7d$$u7d$::hdead63aea4a59933 at worker.rs:577:18 [opt] + frame #29: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] + frame #30: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x0000600003294b10) at coop.rs:73:5 [opt] + frame #31: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016b2c2bf0, task=Notified> @ scalar, core=) at worker.rs:576:9 [opt] + frame #32: 0x00000001050b014c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016b2c2bf0, core=0x0000600002c09360) at worker.rs:0 [opt] + frame #33: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] + frame #34: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014a008238, t=, f=) at scoped.rs:40:9 [opt] + frame #35: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] + frame #36: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] + frame #37: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] + frame #38: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016b2c2be8, f={closure_env#0} @ 0x00006000032ef800) at context.rs:176:17 [opt] + frame #39: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] + frame #40: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x00006000032ef880) at runtime.rs:65:16 [opt] + frame #41: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] + frame #42: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] + frame #43: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] + frame #44: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] + frame #45: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] + frame #46: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x000000014bd287a0, cx=) at core.rs:317:30 [opt] + frame #47: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] + frame #48: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x00006000032e9b90, (null)=) at unwind_safe.rs:271:9 [opt] + frame #49: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] + frame #50: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] + frame #51: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] + frame #52: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x000000014bd287a0, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #53: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] + frame #54: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] + frame #55: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] + frame #56: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] + frame #57: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x00006000032e1dc0) at pool.rs:159:9 [opt] + frame #58: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] + frame #59: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] + frame #60: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016b2c2f30) at backtrace.rs:154:18 [opt] + frame #61: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] + frame #62: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] + frame #63: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] + frame #64: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] + frame #65: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] + frame #66: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] + frame #67: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a0c700, (null)=) at function.rs:250:5 [opt] + frame #68: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] + frame #69: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] + frame #70: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] + frame #71: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 + thread #3, name = 'tokio-runtime-worker' + frame #0: 0x000000018c118908 libsystem_kernel.dylib`swtch_pri + 8 + frame #1: 0x000000018c155ed8 libsystem_pthread.dylib`cthread_yield + 32 + frame #2: 0x00000001051b76c8 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::thread_parker::imp::thread_yield::h227973beb6a1850c at unix.rs:255:5 [opt] + frame #3: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::spinwait::SpinWait::spin::h5cfc83bbc083ea7f(self=) at spinwait.rs:56:13 [opt] + frame #4: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 at raw_rwlock.rs:1078:65 [opt] + frame #5: 0x00000001051b7360 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5(self=0x0000600003418010, recursive=, timeout=) at raw_rwlock.rs:719:9 [opt] + frame #6: 0x0000000104e95d44 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_shared::h75e69a78909e2622(self=0x0000600003418010) at raw_rwlock.rs:109:26 [opt] + frame #7: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at rwlock.rs:459:9 [opt] + frame #8: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::_$u7b$$u7b$closure$u7d$$u7d$::h72b3d81d214d5c52 at torrent_state.rs:533:59 [opt] + frame #9: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:332:9 [opt] + frame #10: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::ha7825068a8338bac(self=, reason=&str @ 0x00006000032ea730) at torrent_state.rs:533:29 [opt] + frame #11: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1119:20 [opt] + frame #12: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] + frame #13: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] + frame #14: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] + frame #15: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] + frame #16: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] + frame #17: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014d105a20, cx=Context @ 0x000000016b4ce508) at core.rs:317:30 [opt] + frame #18: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] + frame #19: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x00006000032ea990, (null)=) at unwind_safe.rs:271:9 [opt] + frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] + frame #21: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] + frame #22: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] + frame #23: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014d105a20, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #24: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] + frame #25: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] + frame #26: 0x00000001050b0894 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] + frame #27: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] + frame #28: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at worker.rs:640:22 [opt] + frame #29: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] + frame #30: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x00006000032a59c0) at coop.rs:73:5 [opt] + frame #31: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016b4cebf0, task=, core=) at worker.rs:576:9 [opt] + frame #32: 0x00000001050b02dc rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016b4cebf0, core=0x0000600002c085a0) at worker.rs:0 [opt] + frame #33: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] + frame #34: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014a808238, t=, f=) at scoped.rs:40:9 [opt] + frame #35: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] + frame #36: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] + frame #37: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] + frame #38: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016b4cebe8, f={closure_env#0} @ 0x00006000032eac90) at context.rs:176:17 [opt] + frame #39: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] + frame #40: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x00006000032ead70) at runtime.rs:65:16 [opt] + frame #41: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] + frame #42: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] + frame #43: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] + frame #44: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] + frame #45: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] + frame #46: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x0000000149611ca0, cx=) at core.rs:317:30 [opt] + frame #47: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] + frame #48: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x00006000032eaf20, (null)=) at unwind_safe.rs:271:9 [opt] + frame #49: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] + frame #50: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] + frame #51: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] + frame #52: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x0000000149611ca0, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #53: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] + frame #54: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] + frame #55: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] + frame #56: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] + frame #57: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x00006000032eb110) at pool.rs:159:9 [opt] + frame #58: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] + frame #59: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] + frame #60: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016b4cef30) at backtrace.rs:154:18 [opt] + frame #61: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] + frame #62: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] + frame #63: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] + frame #64: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] + frame #65: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] + frame #66: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] + frame #67: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a0ccc0, (null)=) at function.rs:250:5 [opt] + frame #68: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] + frame #69: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] + frame #70: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] + frame #71: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 + thread #4, name = 'tokio-runtime-worker' + frame #0: 0x00000001051b7430 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] core::cmp::impls::_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$u32$GT$::lt::h0cf347e128ffe5f6 at cmp.rs:1535:5 [opt] + frame #1: 0x00000001051b7430 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] _$LT$core..ops..range..Range$LT$T$GT$$u20$as$u20$core..iter..range..RangeIteratorImpl$GT$::spec_next::h5bf236fbdea6feaf at range.rs:729:12 [opt] + frame #2: 0x00000001051b7430 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] core::iter::range::_$LT$impl$u20$core..iter..traits..iterator..Iterator$u20$for$u20$core..ops..range..Range$LT$A$GT$$GT$::next::hcdb7bde5285cb558 at range.rs:820:14 [opt] + frame #3: 0x00000001051b7430 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 at spinwait.rs:15:14 [opt] + frame #4: 0x00000001051b742c rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::spinwait::SpinWait::spin_no_yield::h26a2f733908044f7 at spinwait.rs:72:9 [opt] + frame #5: 0x00000001051b7420 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 at raw_rwlock.rs:715:33 [opt] + frame #6: 0x00000001051b73a8 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 at raw_rwlock.rs:1073:16 [opt] + frame #7: 0x00000001051b7360 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5(self=0x0000600003418010, recursive=, timeout=) at raw_rwlock.rs:719:9 [opt] + frame #8: 0x0000000104e95d44 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_shared::h75e69a78909e2622(self=0x0000600003418010) at raw_rwlock.rs:109:26 [opt] + frame #9: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at rwlock.rs:459:9 [opt] + frame #10: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::_$u7b$$u7b$closure$u7d$$u7d$::h72b3d81d214d5c52 at torrent_state.rs:533:59 [opt] + frame #11: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:332:9 [opt] + frame #12: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::ha7825068a8338bac(self=, reason=&str @ 0x00006000032e2a50) at torrent_state.rs:533:29 [opt] + frame #13: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1119:20 [opt] + frame #14: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] + frame #15: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] + frame #16: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] + frame #17: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] + frame #18: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] + frame #19: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014a80c020, cx=Context @ 0x000000016b6da508) at core.rs:317:30 [opt] + frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] + frame #21: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x00006000032eb2d0, (null)=) at unwind_safe.rs:271:9 [opt] + frame #22: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] + frame #23: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] + frame #24: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] + frame #25: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014a80c020, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #26: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] + frame #27: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] + frame #28: 0x00000001050b0828 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] + frame #29: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] + frame #30: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::scheduler::multi_thread::worker::Context::run_task::_$u7b$$u7b$closure$u7d$$u7d$::hdead63aea4a59933 at worker.rs:577:18 [opt] + frame #31: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] + frame #32: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x00006000032eb4d0) at coop.rs:73:5 [opt] + frame #33: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016b6dabf0, task=Notified> @ scalar, core=) at worker.rs:576:9 [opt] + frame #34: 0x00000001050b014c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016b6dabf0, core=0x0000600002c08460) at worker.rs:0 [opt] + frame #35: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] + frame #36: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014b008238, t=, f=) at scoped.rs:40:9 [opt] + frame #37: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] + frame #38: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] + frame #39: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] + frame #40: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016b6dabe8, f={closure_env#0} @ 0x00006000032e2d20) at context.rs:176:17 [opt] + frame #41: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] + frame #42: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x00006000032e2e00) at runtime.rs:65:16 [opt] + frame #43: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] + frame #44: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] + frame #45: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] + frame #46: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] + frame #47: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] + frame #48: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x000000014b9122a0, cx=) at core.rs:317:30 [opt] + frame #49: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] + frame #50: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x00006000032e2fb0, (null)=) at unwind_safe.rs:271:9 [opt] + frame #51: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] + frame #52: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] + frame #53: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] + frame #54: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x000000014b9122a0, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #55: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] + frame #56: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] + frame #57: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] + frame #58: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] + frame #59: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x00006000032eb6f0) at pool.rs:159:9 [opt] + frame #60: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] + frame #61: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] + frame #62: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016b6daf30) at backtrace.rs:154:18 [opt] + frame #63: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] + frame #64: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] + frame #65: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] + frame #66: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] + frame #67: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] + frame #68: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] + frame #69: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a0c880, (null)=) at function.rs:250:5 [opt] + frame #70: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] + frame #71: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] + frame #72: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] + frame #73: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 + thread #5, name = 'tokio-runtime-worker' + frame #0: 0x0000000104e95ac8 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] core::sync::atomic::atomic_compare_exchange_weak::hb499d92b8580d344(dst=0x0000600003418010, old=32, new=, success=Acquire, failure=Relaxed) at atomic.rs:3297:35 [opt] + frame #1: 0x0000000104e95ac0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at atomic.rs:3148:1 [opt] + frame #2: 0x0000000104e95ac0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at raw_rwlock.rs:531:18 [opt] + frame #3: 0x0000000104e95ab0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_shared::h75e69a78909e2622(self=0x0000600003418010) at raw_rwlock.rs:108:13 [opt] + frame #4: 0x0000000104e95ab0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at rwlock.rs:459:9 [opt] + frame #5: 0x0000000104e95ab0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::_$u7b$$u7b$closure$u7d$$u7d$::h72b3d81d214d5c52 at torrent_state.rs:533:59 [opt] + frame #6: 0x0000000104e95aa8 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:332:9 [opt] + frame #7: 0x0000000104e95aa8 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::ha7825068a8338bac(self=, reason=&str @ 0x00006000032925b0) at torrent_state.rs:533:29 [opt] + frame #8: 0x0000000104e95aa8 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1119:20 [opt] + frame #9: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] + frame #10: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] + frame #11: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] + frame #12: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] + frame #13: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] + frame #14: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014c813020, cx=Context @ 0x000000016b8e6508) at core.rs:317:30 [opt] + frame #15: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] + frame #16: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x0000600003292820, (null)=) at unwind_safe.rs:271:9 [opt] + frame #17: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] + frame #18: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] + frame #19: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] + frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014c813020, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #21: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] + frame #22: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] + frame #23: 0x00000001050b0828 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] + frame #24: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] + frame #25: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::scheduler::multi_thread::worker::Context::run_task::_$u7b$$u7b$closure$u7d$$u7d$::hdead63aea4a59933 at worker.rs:577:18 [opt] + frame #26: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] + frame #27: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x00006000032e30a0) at coop.rs:73:5 [opt] + frame #28: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016b8e6bf0, task=Notified> @ scalar, core=) at worker.rs:576:9 [opt] + frame #29: 0x00000001050b014c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016b8e6bf0, core=0x0000600002c08550) at worker.rs:0 [opt] + frame #30: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] + frame #31: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014a808838, t=, f=) at scoped.rs:40:9 [opt] + frame #32: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] + frame #33: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] + frame #34: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] + frame #35: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016b8e6be8, f={closure_env#0} @ 0x00006000032e3240) at context.rs:176:17 [opt] + frame #36: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] + frame #37: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x00006000032e3320) at runtime.rs:65:16 [opt] + frame #38: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] + frame #39: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] + frame #40: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] + frame #41: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] + frame #42: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] + frame #43: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x0000000149705a20, cx=) at core.rs:317:30 [opt] + frame #44: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] + frame #45: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x00006000032e34d0, (null)=) at unwind_safe.rs:271:9 [opt] + frame #46: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] + frame #47: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] + frame #48: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] + frame #49: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x0000000149705a20, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #50: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] + frame #51: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] + frame #52: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] + frame #53: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] + frame #54: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x00006000032e36c0) at pool.rs:159:9 [opt] + frame #55: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] + frame #56: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] + frame #57: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016b8e6f30) at backtrace.rs:154:18 [opt] + frame #58: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] + frame #59: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] + frame #60: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] + frame #61: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] + frame #62: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] + frame #63: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] + frame #64: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a0c580, (null)=) at function.rs:250:5 [opt] + frame #65: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] + frame #66: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] + frame #67: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] + frame #68: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 + thread #6, name = 'tokio-runtime-worker' + frame #0: 0x00000001051b742c rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] _$LT$core..core_arch..arm_shared..barrier..common..SY$u20$as$u20$core..core_arch..arm_shared..sealed..Isb$GT$::__isb::hb98a90f157159531(self=) at common.rs:12:9 [opt] + frame #1: 0x00000001051b742c rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] core::core_arch::arm_shared::barrier::__isb::hc9ac4c0a75d7d259(arg=) at mod.rs:122:5 [opt] + frame #2: 0x00000001051b742c rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] core::hint::spin_loop::h78af93d76e7ab5ec at hint.rs:191:18 [opt] + frame #3: 0x00000001051b742c rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 at spinwait.rs:16:9 [opt] + frame #4: 0x00000001051b742c rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::spinwait::SpinWait::spin_no_yield::h26a2f733908044f7 at spinwait.rs:72:9 [opt] + frame #5: 0x00000001051b7420 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 at raw_rwlock.rs:715:33 [opt] + frame #6: 0x00000001051b73a8 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 at raw_rwlock.rs:1073:16 [opt] + frame #7: 0x00000001051b7360 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5(self=0x0000600003418010, recursive=, timeout=) at raw_rwlock.rs:719:9 [opt] + frame #8: 0x0000000104e95d44 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_shared::h75e69a78909e2622(self=0x0000600003418010) at raw_rwlock.rs:109:26 [opt] + frame #9: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at rwlock.rs:459:9 [opt] + frame #10: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::_$u7b$$u7b$closure$u7d$$u7d$::h72b3d81d214d5c52 at torrent_state.rs:533:59 [opt] + frame #11: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:332:9 [opt] + frame #12: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::ha7825068a8338bac(self=, reason=&str @ 0x00006000032eb990) at torrent_state.rs:533:29 [opt] + frame #13: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1119:20 [opt] + frame #14: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] + frame #15: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] + frame #16: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] + frame #17: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] + frame #18: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] + frame #19: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014d82ec20, cx=Context @ 0x000000016baf2508) at core.rs:317:30 [opt] + frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] + frame #21: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x00006000032e3ab0, (null)=) at unwind_safe.rs:271:9 [opt] + frame #22: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] + frame #23: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] + frame #24: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] + frame #25: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014d82ec20, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #26: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] + frame #27: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] + frame #28: 0x00000001050b0894 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] + frame #29: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] + frame #30: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at worker.rs:640:22 [opt] + frame #31: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] + frame #32: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x00006000032e3c60) at coop.rs:73:5 [opt] + frame #33: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016baf2bf0, task=, core=) at worker.rs:576:9 [opt] + frame #34: 0x00000001050b014c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016baf2bf0, core=0x0000600002c085f0) at worker.rs:0 [opt] + frame #35: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] + frame #36: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014a008838, t=, f=) at scoped.rs:40:9 [opt] + frame #37: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] + frame #38: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] + frame #39: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] + frame #40: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016baf2be8, f={closure_env#0} @ 0x00006000032e3e90) at context.rs:176:17 [opt] + frame #41: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] + frame #42: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x00006000032e3f70) at runtime.rs:65:16 [opt] + frame #43: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] + frame #44: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] + frame #45: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] + frame #46: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] + frame #47: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] + frame #48: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x00000001497085a0, cx=) at core.rs:317:30 [opt] + frame #49: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] + frame #50: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x00006000032ebb80, (null)=) at unwind_safe.rs:271:9 [opt] + frame #51: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] + frame #52: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] + frame #53: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] + frame #54: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x00000001497085a0, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #55: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] + frame #56: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] + frame #57: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] + frame #58: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] + frame #59: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x00006000032ebd70) at pool.rs:159:9 [opt] + frame #60: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] + frame #61: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] + frame #62: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016baf2f30) at backtrace.rs:154:18 [opt] + frame #63: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] + frame #64: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] + frame #65: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] + frame #66: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] + frame #67: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] + frame #68: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] + frame #69: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a0cc40, (null)=) at function.rs:250:5 [opt] + frame #70: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] + frame #71: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] + frame #72: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] + frame #73: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 + thread #7, name = 'tokio-runtime-worker' + frame #0: 0x0000000104e95ad0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at parking_lot.rs:1114:9 [opt] + frame #1: 0x0000000104e95ad0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] parking_lot::raw_rwlock::RawRwLock::deadlock_acquire::h6d2ed16f2cf77845 at raw_rwlock.rs:1140:18 [opt] + frame #2: 0x0000000104e95ad0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_shared::h75e69a78909e2622(self=0x0000600003418010) at raw_rwlock.rs:112:14 [opt] + frame #3: 0x0000000104e95ab0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at rwlock.rs:459:9 [opt] + frame #4: 0x0000000104e95ab0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::_$u7b$$u7b$closure$u7d$$u7d$::h72b3d81d214d5c52 at torrent_state.rs:533:59 [opt] + frame #5: 0x0000000104e95aa8 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:332:9 [opt] + frame #6: 0x0000000104e95aa8 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::ha7825068a8338bac(self=, reason=&str @ 0x00006000032a5c00) at torrent_state.rs:533:29 [opt] + frame #7: 0x0000000104e95aa8 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1119:20 [opt] + frame #8: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] + frame #9: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] + frame #10: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] + frame #11: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] + frame #12: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] + frame #13: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014a02f220, cx=Context @ 0x000000016bf0a508) at core.rs:317:30 [opt] + frame #14: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] + frame #15: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x0000600003292a50, (null)=) at unwind_safe.rs:271:9 [opt] + frame #16: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] + frame #17: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] + frame #18: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] + frame #19: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014a02f220, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] + frame #21: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] + frame #22: 0x00000001050b0894 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] + frame #23: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] + frame #24: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at worker.rs:640:22 [opt] + frame #25: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] + frame #26: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x0000600003292c40) at coop.rs:73:5 [opt] + frame #27: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016bf0abf0, task=, core=) at worker.rs:576:9 [opt] + frame #28: 0x00000001050b014c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016bf0abf0, core=0x0000600002c08690) at worker.rs:0 [opt] + frame #29: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] + frame #30: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014b008e38, t=, f=) at scoped.rs:40:9 [opt] + frame #31: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] + frame #32: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] + frame #33: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] + frame #34: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016bf0abe8, f={closure_env#0} @ 0x00006000032f8060) at context.rs:176:17 [opt] + frame #35: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] + frame #36: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x00006000032f8140) at runtime.rs:65:16 [opt] + frame #37: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] + frame #38: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] + frame #39: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] + frame #40: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] + frame #41: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] + frame #42: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x000000014bd1a120, cx=) at core.rs:317:30 [opt] + frame #43: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] + frame #44: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x00006000032f82f0, (null)=) at unwind_safe.rs:271:9 [opt] + frame #45: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] + frame #46: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] + frame #47: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] + frame #48: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x000000014bd1a120, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #49: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] + frame #50: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] + frame #51: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] + frame #52: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] + frame #53: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x00006000032f84e0) at pool.rs:159:9 [opt] + frame #54: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] + frame #55: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] + frame #56: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016bf0af30) at backtrace.rs:154:18 [opt] + frame #57: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] + frame #58: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] + frame #59: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] + frame #60: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] + frame #61: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] + frame #62: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] + frame #63: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a0ca40, (null)=) at function.rs:250:5 [opt] + frame #64: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] + frame #65: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] + frame #66: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] + frame #67: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 + thread #8 + frame #0: 0x000000018c11a564 libsystem_kernel.dylib`__workq_kernreturn + 8 + thread #9, name = 'tokio-runtime-worker' + frame #0: 0x000000018c160cc4 libdyld.dylib`tlv_get_addr + 20 + frame #1: 0x00000001050f19f0 rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e at option.rs:674:15 [opt] + frame #2: 0x00000001050f19dc rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e [inlined] std::sys::common::thread_local::lazy::LazyKeyInner$LT$T$GT$::get::h675e54a204ca8b72(self=) at mod.rs:46:42 [opt] + frame #3: 0x00000001050f19dc rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e [inlined] std::sys::common::thread_local::fast_local::Key$LT$T$GT$::get::h18d95d4ca32d0834(self=, init={closure_env#0} @ 0x00006000032f87e0) at fast_local.rs:171:19 [opt] + frame #4: 0x00000001050f19dc rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e [inlined] parking_lot_core::parking_lot::with_thread_data::THREAD_DATA::__getit::h50f1aae5bcdf1454(init=Option<&mut core::option::Option> @ 0x00006000032f8870) at fast_local.rs:91:21 [opt] + frame #5: 0x00000001050f19dc rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e [inlined] std::thread::local::LocalKey$LT$T$GT$::try_with::h4dd06b279f18bb4e(self=, f=) at local.rs:269:32 [opt] + frame #6: 0x00000001050f19dc rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e at parking_lot.rs:203:27 [opt] + frame #7: 0x00000001050f19d8 rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e(key=105553170890768) at parking_lot.rs:1231:9 [opt] + frame #8: 0x0000000104e95b18 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] parking_lot_core::parking_lot::deadlock::release_resource::hb76fc449fd876904 at parking_lot.rs:1130:9 [opt] + frame #9: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] parking_lot::raw_rwlock::RawRwLock::deadlock_release::h9a0f2addf3cf5a39 at raw_rwlock.rs:1146:18 [opt] + frame #10: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::unlock_shared::hea004debead67c32(self=) at raw_rwlock.rs:130:14 [opt] + frame #11: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$lock_api..rwlock..RwLockReadGuard$LT$R$C$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$::drop::h0fa0333e78a156b7(self=) at rwlock.rs:1372:13 [opt] + frame #12: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] core::ptr::drop_in_place$LT$lock_api..rwlock..RwLockReadGuard$LT$parking_lot..raw_rwlock..RawRwLock$C$librqbit..torrent_state..TorrentStateLocked$GT$$GT$::h37e2eada005d8e1e((null)=) at mod.rs:497:1 [opt] + frame #13: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] core::ptr::drop_in_place$LT$librqbit..torrent_state..timed_existence..TimedExistence$LT$lock_api..rwlock..RwLockReadGuard$LT$parking_lot..raw_rwlock..RawRwLock$C$librqbit..torrent_state..TorrentStateLocked$GT$$GT$$GT$::h0cbca05e47c1d35d((null)=) at mod.rs:497:1 [opt] + frame #14: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1123:48 [opt] + frame #15: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] + frame #16: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] + frame #17: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] + frame #18: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] + frame #19: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] + frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014d0ab220, cx=Context @ 0x000000016ccf6508) at core.rs:317:30 [opt] + frame #21: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] + frame #22: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x00006000032a5e70, (null)=) at unwind_safe.rs:271:9 [opt] + frame #23: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] + frame #24: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] + frame #25: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] + frame #26: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014d0ab220, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #27: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] + frame #28: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] + frame #29: 0x00000001050b0894 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] + frame #30: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] + frame #31: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at worker.rs:640:22 [opt] + frame #32: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] + frame #33: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x00006000032e4120) at coop.rs:73:5 [opt] + frame #34: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016ccf6bf0, task=, core=) at worker.rs:576:9 [opt] + frame #35: 0x00000001050b02dc rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016ccf6bf0, core=0x0000600002c08640) at worker.rs:0 [opt] + frame #36: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] + frame #37: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014c840838, t=, f=) at scoped.rs:40:9 [opt] + frame #38: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] + frame #39: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] + frame #40: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] + frame #41: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016ccf6be8, f={closure_env#0} @ 0x00006000032e4350) at context.rs:176:17 [opt] + frame #42: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] + frame #43: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x00006000032e4430) at runtime.rs:65:16 [opt] + frame #44: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] + frame #45: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] + frame #46: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] + frame #47: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] + frame #48: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] + frame #49: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x000000014ba2d8a0, cx=) at core.rs:317:30 [opt] + frame #50: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] + frame #51: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x00006000032e45e0, (null)=) at unwind_safe.rs:271:9 [opt] + frame #52: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] + frame #53: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] + frame #54: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] + frame #55: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x000000014ba2d8a0, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #56: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] + frame #57: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] + frame #58: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] + frame #59: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] + frame #60: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x00006000032e47d0) at pool.rs:159:9 [opt] + frame #61: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] + frame #62: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] + frame #63: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016ccf6f30) at backtrace.rs:154:18 [opt] + frame #64: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] + frame #65: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] + frame #66: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] + frame #67: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] + frame #68: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] + frame #69: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] + frame #70: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a105c0, (null)=) at function.rs:250:5 [opt] + frame #71: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] + frame #72: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] + frame #73: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] + frame #74: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 + thread #10, name = 'tokio-runtime-worker' + frame #0: 0x0000000104e95ab0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] core::sync::atomic::atomic_load::hf120a370de74ca2a(dst=0x0000600003418010, order=Relaxed) at atomic.rs:3187:24 [opt] + frame #1: 0x0000000104e95ab0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at atomic.rs:3148:1 [opt] + frame #2: 0x0000000104e95ab0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] parking_lot::raw_rwlock::RawRwLock::try_lock_shared_fast::hbc23fc918fc25738(self=0x0000600003418010, recursive=false) at raw_rwlock.rs:509:32 [opt] + frame #3: 0x0000000104e95ab0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_shared::h75e69a78909e2622(self=0x0000600003418010) at raw_rwlock.rs:108:13 [opt] + frame #4: 0x0000000104e95ab0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at rwlock.rs:459:9 [opt] + frame #5: 0x0000000104e95ab0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::_$u7b$$u7b$closure$u7d$$u7d$::h72b3d81d214d5c52 at torrent_state.rs:533:59 [opt] + frame #6: 0x0000000104e95aa8 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:332:9 [opt] + frame #7: 0x0000000104e95aa8 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::ha7825068a8338bac(self=0x000000014ba04290, reason=&str @ 0x00006000032e4b40) at torrent_state.rs:533:29 [opt] + frame #8: 0x0000000104e95aa8 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1119:20 [opt] + frame #9: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] + frame #10: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] + frame #11: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] + frame #12: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] + frame #13: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] + frame #14: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014c033220, cx=Context @ 0x000000016d31a508) at core.rs:317:30 [opt] + frame #15: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] + frame #16: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x00006000032f89b0, (null)=) at unwind_safe.rs:271:9 [opt] + frame #17: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] + frame #18: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] + frame #19: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] + frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014c033220, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #21: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] + frame #22: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] + frame #23: 0x00000001050b0828 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] + frame #24: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] + frame #25: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::scheduler::multi_thread::worker::Context::run_task::_$u7b$$u7b$closure$u7d$$u7d$::hdead63aea4a59933 at worker.rs:577:18 [opt] + frame #26: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] + frame #27: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x00006000032f8bb0) at coop.rs:73:5 [opt] + frame #28: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016d31abf0, task=Notified> @ scalar, core=) at worker.rs:576:9 [opt] + frame #29: 0x00000001050b014c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016d31abf0, core=0x0000600002c08230) at worker.rs:0 [opt] + frame #30: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] + frame #31: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014d820e38, t=, f=) at scoped.rs:40:9 [opt] + frame #32: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] + frame #33: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] + frame #34: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] + frame #35: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016d31abe8, f={closure_env#0} @ 0x00006000032e4e10) at context.rs:176:17 [opt] + frame #36: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] + frame #37: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x00006000032e4ef0) at runtime.rs:65:16 [opt] + frame #38: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] + frame #39: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] + frame #40: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] + frame #41: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] + frame #42: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] + frame #43: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x000000014bd0faa0, cx=) at core.rs:317:30 [opt] + frame #44: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] + frame #45: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x00006000032e50a0, (null)=) at unwind_safe.rs:271:9 [opt] + frame #46: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] + frame #47: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] + frame #48: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] + frame #49: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x000000014bd0faa0, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #50: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] + frame #51: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] + frame #52: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] + frame #53: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] + frame #54: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x00006000032e5290) at pool.rs:159:9 [opt] + frame #55: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] + frame #56: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] + frame #57: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016d31af30) at backtrace.rs:154:18 [opt] + frame #58: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] + frame #59: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] + frame #60: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] + frame #61: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] + frame #62: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] + frame #63: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] + frame #64: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a15c40, (null)=) at function.rs:250:5 [opt] + frame #65: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] + frame #66: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] + frame #67: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] + frame #68: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 diff --git a/busy_deadlocked.txt b/busy_deadlocked.txt new file mode 100644 index 0000000..9b917ee --- /dev/null +++ b/busy_deadlocked.txt @@ -0,0 +1,622 @@ +(lldb) command script import "/Users/igor/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/etc/lldb_lookup.py" +(lldb) command source -s 0 '/Users/igor/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/etc/lldb_commands' +(lldb) type synthetic add -l lldb_lookup.synthetic_lookup -x ".*" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)String$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^&(mut )?str$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^&(mut )?\\[.+\\]$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(std::ffi::([a-z_]+::)+)OsString$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)Vec<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)VecDeque<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)BTreeSet<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)BTreeMap<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(std::collections::([a-z_]+::)+)HashMap<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(std::collections::([a-z_]+::)+)HashSet<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)Rc<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)Arc<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(core::([a-z_]+::)+)Cell<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(core::([a-z_]+::)+)Ref<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(core::([a-z_]+::)+)RefMut<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(core::([a-z_]+::)+)RefCell<.+>$" --category Rust +(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^core::num::([a-z_]+::)*NonZero.+$" --category Rust +(lldb) type category enable Rust +(lldb) process attach --pid 70468 +Process 70468 stopped +* thread #1, name = 'main', queue = 'com.apple.main-thread', stop reason = signal SIGSTOP + frame #0: 0x000000018c11c0ac libsystem_kernel.dylib`__psynch_cvwait + 8 +libsystem_kernel.dylib`: +-> 0x18c11c0ac <+8>: b.lo 0x18c11c0cc ; <+40> + 0x18c11c0b0 <+12>: pacibsp + 0x18c11c0b4 <+16>: stp x29, x30, [sp, #-0x10]! + 0x18c11c0b8 <+20>: mov x29, sp +Target 0: (rqbit) stopped. +Executable module set to "/Users/igor/projects/2021-06-rust-qbittorrent/target/release/rqbit". +Architecture set to: arm64-apple-macosx-. +(lldb) bt all +(lldb) thread backtrace all + thread #2, name = 'tokio-runtime-worker' + frame #0: 0x000000018c118908 libsystem_kernel.dylib`swtch_pri + 8 + frame #1: 0x000000018c155ed8 libsystem_pthread.dylib`cthread_yield + 32 + frame #2: 0x00000001051b76c8 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::thread_parker::imp::thread_yield::h227973beb6a1850c at unix.rs:255:5 [opt] + frame #3: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::spinwait::SpinWait::spin::h5cfc83bbc083ea7f(self=) at spinwait.rs:56:13 [opt] + frame #4: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 at raw_rwlock.rs:1078:65 [opt] + frame #5: 0x00000001051b7360 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5(self=0x0000600003418010, recursive=, timeout=) at raw_rwlock.rs:719:9 [opt] + frame #6: 0x0000000104e95d44 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_shared::h75e69a78909e2622(self=0x0000600003418010) at raw_rwlock.rs:109:26 [opt] + frame #7: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at rwlock.rs:459:9 [opt] + frame #8: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::_$u7b$$u7b$closure$u7d$$u7d$::h72b3d81d214d5c52 at torrent_state.rs:533:59 [opt] + frame #9: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:332:9 [opt] + frame #10: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::ha7825068a8338bac(self=, reason=&str @ 0x0000600000cc7430) at torrent_state.rs:533:29 [opt] + frame #11: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1119:20 [opt] + frame #12: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] + frame #13: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] + frame #14: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] + frame #15: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] + frame #16: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] + frame #17: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014c03aa20, cx=Context @ 0x000000016b2c2508) at core.rs:317:30 [opt] + frame #18: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] + frame #19: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x0000600000ccfdf0, (null)=) at unwind_safe.rs:271:9 [opt] + frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] + frame #21: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] + frame #22: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] + frame #23: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014c03aa20, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #24: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] + frame #25: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] + frame #26: 0x00000001050b0828 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] + frame #27: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] + frame #28: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::scheduler::multi_thread::worker::Context::run_task::_$u7b$$u7b$closure$u7d$$u7d$::hdead63aea4a59933 at worker.rs:577:18 [opt] + frame #29: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] + frame #30: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x0000600000cc1810) at coop.rs:73:5 [opt] + frame #31: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016b2c2bf0, task=Notified> @ scalar, core=) at worker.rs:576:9 [opt] + frame #32: 0x00000001050b014c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016b2c2bf0, core=0x0000600002c09360) at worker.rs:0 [opt] + frame #33: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] + frame #34: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014a008238, t=, f=) at scoped.rs:40:9 [opt] + frame #35: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] + frame #36: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] + frame #37: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] + frame #38: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016b2c2be8, f={closure_env#0} @ 0x0000600000cb03b0) at context.rs:176:17 [opt] + frame #39: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] + frame #40: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x0000600000cb0430) at runtime.rs:65:16 [opt] + frame #41: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] + frame #42: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] + frame #43: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] + frame #44: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] + frame #45: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] + frame #46: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x000000014bd287a0, cx=) at core.rs:317:30 [opt] + frame #47: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] + frame #48: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000600000cb8030, (null)=) at unwind_safe.rs:271:9 [opt] + frame #49: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] + frame #50: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] + frame #51: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] + frame #52: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x000000014bd287a0, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #53: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] + frame #54: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] + frame #55: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] + frame #56: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] + frame #57: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x0000600000cb9f80) at pool.rs:159:9 [opt] + frame #58: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] + frame #59: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] + frame #60: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016b2c2f30) at backtrace.rs:154:18 [opt] + frame #61: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] + frame #62: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] + frame #63: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] + frame #64: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] + frame #65: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] + frame #66: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] + frame #67: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a0c700, (null)=) at function.rs:250:5 [opt] + frame #68: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] + frame #69: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] + frame #70: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] + frame #71: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 + thread #3, name = 'tokio-runtime-worker' + frame #0: 0x000000018c118908 libsystem_kernel.dylib`swtch_pri + 8 + frame #1: 0x000000018c155ed8 libsystem_pthread.dylib`cthread_yield + 32 + frame #2: 0x00000001051b76c8 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::thread_parker::imp::thread_yield::h227973beb6a1850c at unix.rs:255:5 [opt] + frame #3: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::spinwait::SpinWait::spin::h5cfc83bbc083ea7f(self=) at spinwait.rs:56:13 [opt] + frame #4: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 at raw_rwlock.rs:1078:65 [opt] + frame #5: 0x00000001051b7360 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5(self=0x0000600003418010, recursive=, timeout=) at raw_rwlock.rs:719:9 [opt] + frame #6: 0x0000000104e95d44 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_shared::h75e69a78909e2622(self=0x0000600003418010) at raw_rwlock.rs:109:26 [opt] + frame #7: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at rwlock.rs:459:9 [opt] + frame #8: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::_$u7b$$u7b$closure$u7d$$u7d$::h72b3d81d214d5c52 at torrent_state.rs:533:59 [opt] + frame #9: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:332:9 [opt] + frame #10: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::ha7825068a8338bac(self=, reason=&str @ 0x0000600000ced550) at torrent_state.rs:533:29 [opt] + frame #11: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1119:20 [opt] + frame #12: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] + frame #13: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] + frame #14: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] + frame #15: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] + frame #16: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] + frame #17: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014d105a20, cx=Context @ 0x000000016b4ce508) at core.rs:317:30 [opt] + frame #18: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] + frame #19: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x0000600000cbeb50, (null)=) at unwind_safe.rs:271:9 [opt] + frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] + frame #21: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] + frame #22: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] + frame #23: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014d105a20, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #24: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] + frame #25: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] + frame #26: 0x00000001050b0894 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] + frame #27: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] + frame #28: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at worker.rs:640:22 [opt] + frame #29: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] + frame #30: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x0000600000cbaa00) at coop.rs:73:5 [opt] + frame #31: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016b4cebf0, task=, core=) at worker.rs:576:9 [opt] + frame #32: 0x00000001050b02dc rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016b4cebf0, core=0x0000600002c085a0) at worker.rs:0 [opt] + frame #33: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] + frame #34: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014a808238, t=, f=) at scoped.rs:40:9 [opt] + frame #35: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] + frame #36: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] + frame #37: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] + frame #38: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016b4cebe8, f={closure_env#0} @ 0x0000600000cb11f0) at context.rs:176:17 [opt] + frame #39: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] + frame #40: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x0000600000cb12d0) at runtime.rs:65:16 [opt] + frame #41: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] + frame #42: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] + frame #43: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] + frame #44: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] + frame #45: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] + frame #46: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x0000000149611ca0, cx=) at core.rs:317:30 [opt] + frame #47: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] + frame #48: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000600000cb1480, (null)=) at unwind_safe.rs:271:9 [opt] + frame #49: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] + frame #50: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] + frame #51: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] + frame #52: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x0000000149611ca0, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #53: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] + frame #54: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] + frame #55: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] + frame #56: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] + frame #57: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x0000600000cb1670) at pool.rs:159:9 [opt] + frame #58: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] + frame #59: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] + frame #60: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016b4cef30) at backtrace.rs:154:18 [opt] + frame #61: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] + frame #62: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] + frame #63: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] + frame #64: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] + frame #65: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] + frame #66: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] + frame #67: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a0ccc0, (null)=) at function.rs:250:5 [opt] + frame #68: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] + frame #69: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] + frame #70: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] + frame #71: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 + thread #4, name = 'tokio-runtime-worker' + frame #0: 0x000000018c118908 libsystem_kernel.dylib`swtch_pri + 8 + frame #1: 0x000000018c155ed8 libsystem_pthread.dylib`cthread_yield + 32 + frame #2: 0x00000001051b76c8 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::thread_parker::imp::thread_yield::h227973beb6a1850c at unix.rs:255:5 [opt] + frame #3: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::spinwait::SpinWait::spin::h5cfc83bbc083ea7f(self=) at spinwait.rs:56:13 [opt] + frame #4: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 at raw_rwlock.rs:1078:65 [opt] + frame #5: 0x00000001051b7360 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5(self=0x0000600003418010, recursive=, timeout=) at raw_rwlock.rs:719:9 [opt] + frame #6: 0x0000000104e95d44 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_shared::h75e69a78909e2622(self=0x0000600003418010) at raw_rwlock.rs:109:26 [opt] + frame #7: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at rwlock.rs:459:9 [opt] + frame #8: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::_$u7b$$u7b$closure$u7d$$u7d$::h72b3d81d214d5c52 at torrent_state.rs:533:59 [opt] + frame #9: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:332:9 [opt] + frame #10: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::ha7825068a8338bac(self=, reason=&str @ 0x0000600000cb1820) at torrent_state.rs:533:29 [opt] + frame #11: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1119:20 [opt] + frame #12: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] + frame #13: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] + frame #14: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] + frame #15: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] + frame #16: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] + frame #17: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014a80c020, cx=Context @ 0x000000016b6da508) at core.rs:317:30 [opt] + frame #18: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] + frame #19: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x0000600000cb1a80, (null)=) at unwind_safe.rs:271:9 [opt] + frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] + frame #21: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] + frame #22: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] + frame #23: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014a80c020, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #24: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] + frame #25: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] + frame #26: 0x00000001050b0828 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] + frame #27: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] + frame #28: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::scheduler::multi_thread::worker::Context::run_task::_$u7b$$u7b$closure$u7d$$u7d$::hdead63aea4a59933 at worker.rs:577:18 [opt] + frame #29: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] + frame #30: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x0000600000cbeea0) at coop.rs:73:5 [opt] + frame #31: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016b6dabf0, task=Notified> @ scalar, core=) at worker.rs:576:9 [opt] + frame #32: 0x00000001050b014c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016b6dabf0, core=0x0000600002c08460) at worker.rs:0 [opt] + frame #33: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] + frame #34: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014b008238, t=, f=) at scoped.rs:40:9 [opt] + frame #35: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] + frame #36: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] + frame #37: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] + frame #38: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016b6dabe8, f={closure_env#0} @ 0x0000600000cb1d70) at context.rs:176:17 [opt] + frame #39: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] + frame #40: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x0000600000cb1e50) at runtime.rs:65:16 [opt] + frame #41: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] + frame #42: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] + frame #43: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] + frame #44: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] + frame #45: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] + frame #46: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x000000014b9122a0, cx=) at core.rs:317:30 [opt] + frame #47: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] + frame #48: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000600000cb2000, (null)=) at unwind_safe.rs:271:9 [opt] + frame #49: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] + frame #50: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] + frame #51: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] + frame #52: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x000000014b9122a0, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #53: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] + frame #54: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] + frame #55: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] + frame #56: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] + frame #57: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x0000600000cbf010) at pool.rs:159:9 [opt] + frame #58: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] + frame #59: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] + frame #60: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016b6daf30) at backtrace.rs:154:18 [opt] + frame #61: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] + frame #62: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] + frame #63: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] + frame #64: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] + frame #65: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] + frame #66: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] + frame #67: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a0c880, (null)=) at function.rs:250:5 [opt] + frame #68: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] + frame #69: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] + frame #70: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] + frame #71: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 + thread #5, name = 'tokio-runtime-worker' + frame #0: 0x0000000104e95ac8 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] core::sync::atomic::atomic_compare_exchange_weak::hb499d92b8580d344(dst=0x0000600003418010, old=32, new=, success=Acquire, failure=Relaxed) at atomic.rs:3297:35 [opt] + frame #1: 0x0000000104e95ac0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at atomic.rs:3148:1 [opt] + frame #2: 0x0000000104e95ac0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at raw_rwlock.rs:531:18 [opt] + frame #3: 0x0000000104e95ab0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_shared::h75e69a78909e2622(self=0x0000600003418010) at raw_rwlock.rs:108:13 [opt] + frame #4: 0x0000000104e95ab0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at rwlock.rs:459:9 [opt] + frame #5: 0x0000000104e95ab0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::_$u7b$$u7b$closure$u7d$$u7d$::h72b3d81d214d5c52 at torrent_state.rs:533:59 [opt] + frame #6: 0x0000000104e95aa8 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:332:9 [opt] + frame #7: 0x0000000104e95aa8 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::ha7825068a8338bac(self=, reason=&str @ 0x0000600000cbf3a0) at torrent_state.rs:533:29 [opt] + frame #8: 0x0000000104e95aa8 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1119:20 [opt] + frame #9: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] + frame #10: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] + frame #11: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] + frame #12: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] + frame #13: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] + frame #14: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014c813020, cx=Context @ 0x000000016b8e6508) at core.rs:317:30 [opt] + frame #15: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] + frame #16: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x0000600000cb1910, (null)=) at unwind_safe.rs:271:9 [opt] + frame #17: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] + frame #18: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] + frame #19: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] + frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014c813020, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #21: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] + frame #22: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] + frame #23: 0x00000001050b0828 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] + frame #24: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] + frame #25: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::scheduler::multi_thread::worker::Context::run_task::_$u7b$$u7b$closure$u7d$$u7d$::hdead63aea4a59933 at worker.rs:577:18 [opt] + frame #26: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] + frame #27: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x0000600000cb2390) at coop.rs:73:5 [opt] + frame #28: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016b8e6bf0, task=Notified> @ scalar, core=) at worker.rs:576:9 [opt] + frame #29: 0x00000001050b014c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016b8e6bf0, core=0x0000600002c08550) at worker.rs:0 [opt] + frame #30: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] + frame #31: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014a808838, t=, f=) at scoped.rs:40:9 [opt] + frame #32: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] + frame #33: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] + frame #34: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] + frame #35: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016b8e6be8, f={closure_env#0} @ 0x0000600000cbf720) at context.rs:176:17 [opt] + frame #36: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] + frame #37: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x0000600000cbf800) at runtime.rs:65:16 [opt] + frame #38: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] + frame #39: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] + frame #40: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] + frame #41: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] + frame #42: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] + frame #43: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x0000000149705a20, cx=) at core.rs:317:30 [opt] + frame #44: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] + frame #45: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000600000cb2570, (null)=) at unwind_safe.rs:271:9 [opt] + frame #46: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] + frame #47: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] + frame #48: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] + frame #49: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x0000000149705a20, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #50: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] + frame #51: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] + frame #52: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] + frame #53: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] + frame #54: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x0000600000cb2760) at pool.rs:159:9 [opt] + frame #55: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] + frame #56: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] + frame #57: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016b8e6f30) at backtrace.rs:154:18 [opt] + frame #58: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] + frame #59: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] + frame #60: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] + frame #61: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] + frame #62: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] + frame #63: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] + frame #64: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a0c580, (null)=) at function.rs:250:5 [opt] + frame #65: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] + frame #66: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] + frame #67: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] + frame #68: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 + thread #6, name = 'tokio-runtime-worker' + frame #0: 0x000000018c160cb4 libdyld.dylib`tlv_get_addr + 4 + frame #1: 0x00000001050f1848 rqbit`parking_lot_core::parking_lot::deadlock_impl::acquire_resource::h4b57e37aaa25ef51 at option.rs:674:15 [opt] + frame #2: 0x00000001050f1834 rqbit`parking_lot_core::parking_lot::deadlock_impl::acquire_resource::h4b57e37aaa25ef51 [inlined] std::sys::common::thread_local::lazy::LazyKeyInner$LT$T$GT$::get::h675e54a204ca8b72(self=) at mod.rs:46:42 [opt] + frame #3: 0x00000001050f1834 rqbit`parking_lot_core::parking_lot::deadlock_impl::acquire_resource::h4b57e37aaa25ef51 [inlined] std::sys::common::thread_local::fast_local::Key$LT$T$GT$::get::h18d95d4ca32d0834(self=, init={closure_env#0} @ 0x0000600000cb29b0) at fast_local.rs:171:19 [opt] + frame #4: 0x00000001050f1834 rqbit`parking_lot_core::parking_lot::deadlock_impl::acquire_resource::h4b57e37aaa25ef51 [inlined] parking_lot_core::parking_lot::with_thread_data::THREAD_DATA::__getit::h50f1aae5bcdf1454(init=Option<&mut core::option::Option> @ 0x0000600000cb2a40) at fast_local.rs:91:21 [opt] + frame #5: 0x00000001050f1834 rqbit`parking_lot_core::parking_lot::deadlock_impl::acquire_resource::h4b57e37aaa25ef51 [inlined] std::thread::local::LocalKey$LT$T$GT$::try_with::ha92f6a69e500126b(self=, f=) at local.rs:269:32 [opt] + frame #6: 0x00000001050f1834 rqbit`parking_lot_core::parking_lot::deadlock_impl::acquire_resource::h4b57e37aaa25ef51 at parking_lot.rs:203:27 [opt] + frame #7: 0x00000001050f1830 rqbit`parking_lot_core::parking_lot::deadlock_impl::acquire_resource::h4b57e37aaa25ef51(key=105553170890769) at parking_lot.rs:1225:9 [opt] + frame #8: 0x0000000104e95ae4 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at parking_lot.rs:1114:9 [opt] + frame #9: 0x0000000104e95adc rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] parking_lot::raw_rwlock::RawRwLock::deadlock_acquire::h6d2ed16f2cf77845 at raw_rwlock.rs:1141:18 [opt] + frame #10: 0x0000000104e95ad0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_shared::h75e69a78909e2622(self=0x0000600003418010) at raw_rwlock.rs:112:14 [opt] + frame #11: 0x0000000104e95ab0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at rwlock.rs:459:9 [opt] + frame #12: 0x0000000104e95ab0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::_$u7b$$u7b$closure$u7d$$u7d$::h72b3d81d214d5c52 at torrent_state.rs:533:59 [opt] + frame #13: 0x0000000104e95aa8 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:332:9 [opt] + frame #14: 0x0000000104e95aa8 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::ha7825068a8338bac(self=, reason=&str @ 0x0000600000cbf990) at torrent_state.rs:533:29 [opt] + frame #15: 0x0000000104e95aa8 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1119:20 [opt] + frame #16: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] + frame #17: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] + frame #18: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] + frame #19: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] + frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] + frame #21: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014d82ec20, cx=Context @ 0x000000016baf2508) at core.rs:317:30 [opt] + frame #22: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] + frame #23: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x0000600000cbfbb0, (null)=) at unwind_safe.rs:271:9 [opt] + frame #24: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] + frame #25: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] + frame #26: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] + frame #27: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014d82ec20, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #28: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] + frame #29: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] + frame #30: 0x00000001050b0894 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] + frame #31: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] + frame #32: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at worker.rs:640:22 [opt] + frame #33: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] + frame #34: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x0000600000cbfda0) at coop.rs:73:5 [opt] + frame #35: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016baf2bf0, task=, core=) at worker.rs:576:9 [opt] + frame #36: 0x00000001050b014c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016baf2bf0, core=0x0000600002c085f0) at worker.rs:0 [opt] + frame #37: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] + frame #38: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014a008838, t=, f=) at scoped.rs:40:9 [opt] + frame #39: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] + frame #40: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] + frame #41: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] + frame #42: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016baf2be8, f={closure_env#0} @ 0x0000600000cb2c50) at context.rs:176:17 [opt] + frame #43: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] + frame #44: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x0000600000cb2d30) at runtime.rs:65:16 [opt] + frame #45: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] + frame #46: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] + frame #47: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] + frame #48: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] + frame #49: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] + frame #50: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x00000001497085a0, cx=) at core.rs:317:30 [opt] + frame #51: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] + frame #52: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000600000ced720, (null)=) at unwind_safe.rs:271:9 [opt] + frame #53: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] + frame #54: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] + frame #55: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] + frame #56: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x00000001497085a0, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #57: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] + frame #58: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] + frame #59: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] + frame #60: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] + frame #61: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x0000600000ced910) at pool.rs:159:9 [opt] + frame #62: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] + frame #63: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] + frame #64: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016baf2f30) at backtrace.rs:154:18 [opt] + frame #65: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] + frame #66: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] + frame #67: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] + frame #68: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] + frame #69: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] + frame #70: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] + frame #71: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a0cc40, (null)=) at function.rs:250:5 [opt] + frame #72: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] + frame #73: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] + frame #74: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] + frame #75: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 + thread #7, name = 'tokio-runtime-worker' + frame #0: 0x00000001050f1a6c rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e at intrinsics.rs:2778:9 [opt] + frame #1: 0x00000001050f1a6c rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e at mod.rs:1465:13 [opt] + frame #2: 0x00000001050f1a68 rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e at parking_lot.rs:1239:17 [opt] + frame #3: 0x00000001050f1a3c rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e at parking_lot.rs:207:5 [opt] + frame #4: 0x00000001050f19d8 rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e(key=105553170890768) at parking_lot.rs:1231:9 [opt] + frame #5: 0x0000000104e95b18 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] parking_lot_core::parking_lot::deadlock::release_resource::hb76fc449fd876904 at parking_lot.rs:1130:9 [opt] + frame #6: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] parking_lot::raw_rwlock::RawRwLock::deadlock_release::h9a0f2addf3cf5a39 at raw_rwlock.rs:1146:18 [opt] + frame #7: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::unlock_shared::hea004debead67c32(self=) at raw_rwlock.rs:130:14 [opt] + frame #8: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$lock_api..rwlock..RwLockReadGuard$LT$R$C$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$::drop::h0fa0333e78a156b7(self=) at rwlock.rs:1372:13 [opt] + frame #9: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] core::ptr::drop_in_place$LT$lock_api..rwlock..RwLockReadGuard$LT$parking_lot..raw_rwlock..RawRwLock$C$librqbit..torrent_state..TorrentStateLocked$GT$$GT$::h37e2eada005d8e1e((null)=) at mod.rs:497:1 [opt] + frame #10: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] core::ptr::drop_in_place$LT$librqbit..torrent_state..timed_existence..TimedExistence$LT$lock_api..rwlock..RwLockReadGuard$LT$parking_lot..raw_rwlock..RawRwLock$C$librqbit..torrent_state..TorrentStateLocked$GT$$GT$$GT$::h0cbca05e47c1d35d((null)=) at mod.rs:497:1 [opt] + frame #11: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1123:48 [opt] + frame #12: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] + frame #13: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] + frame #14: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] + frame #15: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] + frame #16: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] + frame #17: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014a02f220, cx=Context @ 0x000000016bf0a508) at core.rs:317:30 [opt] + frame #18: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] + frame #19: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x0000600000cb2fc0, (null)=) at unwind_safe.rs:271:9 [opt] + frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] + frame #21: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] + frame #22: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] + frame #23: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014a02f220, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #24: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] + frame #25: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] + frame #26: 0x00000001050b0894 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] + frame #27: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] + frame #28: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at worker.rs:640:22 [opt] + frame #29: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] + frame #30: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x0000600000cb31c0) at coop.rs:73:5 [opt] + frame #31: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016bf0abf0, task=, core=) at worker.rs:576:9 [opt] + frame #32: 0x00000001050b014c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016bf0abf0, core=0x0000600002c08690) at worker.rs:0 [opt] + frame #33: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] + frame #34: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014b008e38, t=, f=) at scoped.rs:40:9 [opt] + frame #35: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] + frame #36: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] + frame #37: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] + frame #38: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016bf0abe8, f={closure_env#0} @ 0x0000600000cac5f0) at context.rs:176:17 [opt] + frame #39: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] + frame #40: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x0000600000cac6d0) at runtime.rs:65:16 [opt] + frame #41: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] + frame #42: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] + frame #43: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] + frame #44: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] + frame #45: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] + frame #46: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x000000014bd1a120, cx=) at core.rs:317:30 [opt] + frame #47: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] + frame #48: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000600000cac880, (null)=) at unwind_safe.rs:271:9 [opt] + frame #49: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] + frame #50: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] + frame #51: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] + frame #52: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x000000014bd1a120, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #53: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] + frame #54: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] + frame #55: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] + frame #56: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] + frame #57: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x0000600000caca70) at pool.rs:159:9 [opt] + frame #58: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] + frame #59: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] + frame #60: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016bf0af30) at backtrace.rs:154:18 [opt] + frame #61: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] + frame #62: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] + frame #63: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] + frame #64: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] + frame #65: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] + frame #66: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] + frame #67: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a0ca40, (null)=) at function.rs:250:5 [opt] + frame #68: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] + frame #69: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] + frame #70: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] + frame #71: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 + thread #8 + frame #0: 0x000000018c11a564 libsystem_kernel.dylib`__workq_kernreturn + 8 + thread #9, name = 'tokio-runtime-worker' + frame #0: 0x000000018c118908 libsystem_kernel.dylib`swtch_pri + 8 + frame #1: 0x000000018c155ed8 libsystem_pthread.dylib`cthread_yield + 32 + frame #2: 0x00000001051b76c8 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::thread_parker::imp::thread_yield::h227973beb6a1850c at unix.rs:255:5 [opt] + frame #3: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::spinwait::SpinWait::spin::h5cfc83bbc083ea7f(self=) at spinwait.rs:56:13 [opt] + frame #4: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 at raw_rwlock.rs:1078:65 [opt] + frame #5: 0x00000001051b7360 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5(self=0x0000600003418010, recursive=, timeout=) at raw_rwlock.rs:719:9 [opt] + frame #6: 0x0000000104e95d44 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_shared::h75e69a78909e2622(self=0x0000600003418010) at raw_rwlock.rs:109:26 [opt] + frame #7: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at rwlock.rs:459:9 [opt] + frame #8: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::_$u7b$$u7b$closure$u7d$$u7d$::h72b3d81d214d5c52 at torrent_state.rs:533:59 [opt] + frame #9: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:332:9 [opt] + frame #10: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::ha7825068a8338bac(self=, reason=&str @ 0x0000600000cb3320) at torrent_state.rs:533:29 [opt] + frame #11: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1119:20 [opt] + frame #12: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] + frame #13: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] + frame #14: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] + frame #15: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] + frame #16: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] + frame #17: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014d0ab220, cx=Context @ 0x000000016ccf6508) at core.rs:317:30 [opt] + frame #18: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] + frame #19: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x0000600000cb34d0, (null)=) at unwind_safe.rs:271:9 [opt] + frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] + frame #21: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] + frame #22: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] + frame #23: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014d0ab220, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #24: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] + frame #25: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] + frame #26: 0x00000001050b0894 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] + frame #27: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] + frame #28: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at worker.rs:640:22 [opt] + frame #29: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] + frame #30: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x0000600000cb36c0) at coop.rs:73:5 [opt] + frame #31: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016ccf6bf0, task=, core=) at worker.rs:576:9 [opt] + frame #32: 0x00000001050b02dc rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016ccf6bf0, core=0x0000600002c08640) at worker.rs:0 [opt] + frame #33: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] + frame #34: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014c840838, t=, f=) at scoped.rs:40:9 [opt] + frame #35: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] + frame #36: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] + frame #37: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] + frame #38: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016ccf6be8, f={closure_env#0} @ 0x0000600000cacec0) at context.rs:176:17 [opt] + frame #39: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] + frame #40: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x0000600000cacfa0) at runtime.rs:65:16 [opt] + frame #41: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] + frame #42: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] + frame #43: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] + frame #44: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] + frame #45: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] + frame #46: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x000000014ba2d8a0, cx=) at core.rs:317:30 [opt] + frame #47: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] + frame #48: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000600000cad150, (null)=) at unwind_safe.rs:271:9 [opt] + frame #49: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] + frame #50: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] + frame #51: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] + frame #52: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x000000014ba2d8a0, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #53: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] + frame #54: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] + frame #55: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] + frame #56: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] + frame #57: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x0000600000cad340) at pool.rs:159:9 [opt] + frame #58: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] + frame #59: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] + frame #60: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016ccf6f30) at backtrace.rs:154:18 [opt] + frame #61: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] + frame #62: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] + frame #63: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] + frame #64: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] + frame #65: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] + frame #66: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] + frame #67: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a105c0, (null)=) at function.rs:250:5 [opt] + frame #68: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] + frame #69: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] + frame #70: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] + frame #71: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 + thread #10, name = 'tokio-runtime-worker' + frame #0: 0x000000018c118908 libsystem_kernel.dylib`swtch_pri + 8 + frame #1: 0x000000018c155ed8 libsystem_pthread.dylib`cthread_yield + 32 + frame #2: 0x00000001051b76c8 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::thread_parker::imp::thread_yield::h227973beb6a1850c at unix.rs:255:5 [opt] + frame #3: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::spinwait::SpinWait::spin::h5cfc83bbc083ea7f(self=) at spinwait.rs:56:13 [opt] + frame #4: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 at raw_rwlock.rs:1078:65 [opt] + frame #5: 0x00000001051b7360 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5(self=0x0000600003418010, recursive=, timeout=) at raw_rwlock.rs:719:9 [opt] + frame #6: 0x0000000104e95d44 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_shared::h75e69a78909e2622(self=0x0000600003418010) at raw_rwlock.rs:109:26 [opt] + frame #7: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at rwlock.rs:459:9 [opt] + frame #8: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::_$u7b$$u7b$closure$u7d$$u7d$::h72b3d81d214d5c52 at torrent_state.rs:533:59 [opt] + frame #9: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:332:9 [opt] + frame #10: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::ha7825068a8338bac(self=, reason=&str @ 0x0000600000cb3a10) at torrent_state.rs:533:29 [opt] + frame #11: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1119:20 [opt] + frame #12: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] + frame #13: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] + frame #14: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] + frame #15: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] + frame #16: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] + frame #17: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014c033220, cx=Context @ 0x000000016d31a508) at core.rs:317:30 [opt] + frame #18: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] + frame #19: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x0000600000cb3c10, (null)=) at unwind_safe.rs:271:9 [opt] + frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] + frame #21: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] + frame #22: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] + frame #23: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014c033220, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #24: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] + frame #25: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] + frame #26: 0x00000001050b0828 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] + frame #27: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] + frame #28: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::scheduler::multi_thread::worker::Context::run_task::_$u7b$$u7b$closure$u7d$$u7d$::hdead63aea4a59933 at worker.rs:577:18 [opt] + frame #29: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] + frame #30: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x0000600000cad5d0) at coop.rs:73:5 [opt] + frame #31: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016d31abf0, task=Notified> @ scalar, core=) at worker.rs:576:9 [opt] + frame #32: 0x00000001050b014c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016d31abf0, core=0x0000600002c08230) at worker.rs:0 [opt] + frame #33: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] + frame #34: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014d820e38, t=, f=) at scoped.rs:40:9 [opt] + frame #35: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] + frame #36: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] + frame #37: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] + frame #38: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016d31abe8, f={closure_env#0} @ 0x0000600000cad750) at context.rs:176:17 [opt] + frame #39: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] + frame #40: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x0000600000cad830) at runtime.rs:65:16 [opt] + frame #41: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] + frame #42: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] + frame #43: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] + frame #44: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] + frame #45: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] + frame #46: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x000000014bd0faa0, cx=) at core.rs:317:30 [opt] + frame #47: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] + frame #48: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000600000cad9e0, (null)=) at unwind_safe.rs:271:9 [opt] + frame #49: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] + frame #50: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] + frame #51: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] + frame #52: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x000000014bd0faa0, cx=Context @ scalar) at harness.rs:473:18 [opt] + frame #53: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] + frame #54: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] + frame #55: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] + frame #56: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] + frame #57: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x0000600000cadbd0) at pool.rs:159:9 [opt] + frame #58: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] + frame #59: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] + frame #60: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016d31af30) at backtrace.rs:154:18 [opt] + frame #61: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] + frame #62: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] + frame #63: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] + frame #64: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] + frame #65: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] + frame #66: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] + frame #67: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a15c40, (null)=) at function.rs:250:5 [opt] + frame #68: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] + frame #69: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] + frame #70: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] + frame #71: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 diff --git a/crates/librqbit/src/torrent_state.rs b/crates/librqbit/src/torrent_state.rs index b7b0080..8a8d9dc 100644 --- a/crates/librqbit/src/torrent_state.rs +++ b/crates/librqbit/src/torrent_state.rs @@ -44,7 +44,7 @@ use tokio::{ }, time::timeout, }; -use tracing::{debug, info, span, trace, warn, Level}; +use tracing::{debug, error, info, span, trace, warn, Level}; use crate::{ chunk_tracker::{ChunkMarkingResult, ChunkTracker}, @@ -1175,6 +1175,9 @@ impl PeerHandler { .with_context(|| format!("error opening {}", DEVNULL)) } + // Lock exclusive just in case to ensure in-flight operations finish.?? + let _guard = self.state.lock_write("reopen_read_only"); + for (file, filename) in self.state.files.iter().zip(self.state.filenames.iter()) { let mut g = file.lock(); // this should close the original file @@ -1188,6 +1191,7 @@ impl PeerHandler { .with_context(|| format!("error re-opening {:?} readonly", filename))?; debug!("reopened {:?} read-only", filename); } + info!("reopened all torrent files in read-only mode"); Ok(()) } @@ -1271,10 +1275,17 @@ impl PeerHandler { // should we really do? If we unmark it, it will get requested forever... // // So let's just unwrap and abort. - self.state + match self + .state .file_ops() .write_chunk(handle, &piece, &chunk_info) - .expect("expected to be able to write to disk"); + { + Ok(()) => {} + Err(e) => { + error!("FATAL: error writing chunk to disk: {:?}", e); + panic!("{:?}", e); + } + } let full_piece_download_time = match full_piece_download_time { Some(t) => t, @@ -1322,6 +1333,7 @@ impl PeerHandler { debug!("piece={} successfully downloaded and verified", index); if self.state.is_finished() { + info!("torrent finished downloading"); self.state.finished_notify.notify_waiters(); self.disconnect_all_peers_that_have_full_torrent(); self.reopen_read_only()?; From 1de690a74bc7fbe899f2a68f41b5efe5ad3835ec Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Mon, 20 Nov 2023 01:55:27 +0000 Subject: [PATCH 35/40] nothing --- crates/librqbit/src/torrent_state.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/librqbit/src/torrent_state.rs b/crates/librqbit/src/torrent_state.rs index 8a8d9dc..12ba450 100644 --- a/crates/librqbit/src/torrent_state.rs +++ b/crates/librqbit/src/torrent_state.rs @@ -1086,7 +1086,7 @@ impl PeerHandler { None => match self.state.reserve_next_needed_piece(handle) { Some(next) => next, None => { - if self.state.get_left_to_download() == 0 { + if self.state.is_finished() { debug!("nothing left to download, closing requester"); return Ok(()); } From 34ee9d9bd979b883beb91ef535d1b59d49ba3306 Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Mon, 20 Nov 2023 09:17:42 +0000 Subject: [PATCH 36/40] Remove Option to just BF --- crates/librqbit/src/peer_state.rs | 27 ++++++++++++++++++++------- crates/librqbit/src/torrent_state.rs | 28 ++++++++++++---------------- 2 files changed, 32 insertions(+), 23 deletions(-) diff --git a/crates/librqbit/src/peer_state.rs b/crates/librqbit/src/peer_state.rs index 4fc59ae..874146e 100644 --- a/crates/librqbit/src/peer_state.rs +++ b/crates/librqbit/src/peer_state.rs @@ -223,10 +223,24 @@ pub struct LivePeerState { pub peer_id: Id20, pub i_am_choked: bool, pub peer_interested: bool, + + // This is used to limit the number of requests we send to a peer at a time. pub requests_sem: Arc, + + // This is used to unpause processes after we were choked. pub have_notify: Arc, - pub bitfield: Option, + + // This is used to track the pieces the peer has. + pub bitfield: BF, + + // This is used to only request a piece from a peer once when stealing from others. + // So that you don't steal then re-steal the same piece in a loop. + pub previously_requested_pieces: BF, + + // When the peer sends us data this is used to track if we asked for it. pub inflight_requests: HashSet, + + // The main channel to send requests to peer. pub tx: PeerTx, } @@ -236,7 +250,8 @@ impl LivePeerState { peer_id, i_am_choked: true, peer_interested: false, - bitfield: None, + bitfield: BF::new(), + previously_requested_pieces: BF::new(), have_notify: Arc::new(Notify::new()), requests_sem: Arc::new(Semaphore::new(0)), inflight_requests: Default::default(), @@ -245,10 +260,8 @@ impl LivePeerState { } pub fn has_full_torrent(&self, total_pieces: usize) -> bool { - let bf = match self.bitfield.as_ref() { - Some(bf) => bf, - None => return false, - }; - bf.get(0..total_pieces).map_or(false, |s| s.all()) + self.bitfield + .get(0..total_pieces) + .map_or(false, |s| s.all()) } } diff --git a/crates/librqbit/src/torrent_state.rs b/crates/librqbit/src/torrent_state.rs index 12ba450..ee7affd 100644 --- a/crates/librqbit/src/torrent_state.rs +++ b/crates/librqbit/src/torrent_state.rs @@ -168,16 +168,11 @@ impl PeerStates { prev }) } - pub fn update_bitfield_from_vec( - &self, - handle: PeerHandle, - bitfield: Vec, - ) -> Option> { + pub fn update_bitfield_from_vec(&self, handle: PeerHandle, bitfield: Vec) -> Option<()> { self.with_live_mut(handle, "update_bitfield_from_vec", |live| { let bitfield = BF::from_vec(bitfield); - let prev = live.bitfield.take(); - live.bitfield = Some(bitfield); - prev + live.previously_requested_pieces = BF::with_capacity(bitfield.len()); + live.bitfield = bitfield; }) } pub fn mark_peer_connecting(&self, h: PeerHandle) -> anyhow::Result { @@ -543,7 +538,7 @@ impl TorrentState { self.peers .with_live_mut(peer_handle, "l(get_next_needed_piece)", |live| { let g = self.lock_read("g(get_next_needed_piece)"); - let bf = live.bitfield.as_ref()?; + let bf = &live.bitfield; for n in g.chunks.iter_needed_pieces() { if bf.get(n).map(|v| *v) == Some(true) { // in theory it should be safe without validation, but whatever. @@ -567,9 +562,10 @@ impl TorrentState { return None; } let mut g = self.lock_write("reserve_next_needed_piece"); + let n = { let mut n_opt = None; - let bf = live.bitfield.as_ref()?; + let bf = &live.bitfield; for n in g.chunks.iter_needed_pieces() { if bf.get(n).map(|v| *v) == Some(true) { n_opt = Some(n); @@ -627,6 +623,7 @@ impl TorrentState { None } + // TODO: need to throttle this or make it smarter as it may loop and steal pieces forever from each other. fn try_steal_piece(&self, handle: PeerHandle) -> Option { let mut rng = rand::thread_rng(); use rand::seq::IteratorRandom; @@ -782,8 +779,8 @@ impl TorrentState { if live .bitfield - .as_ref() - .and_then(|b| b.get(index.get() as usize).map(|v| *v)) + .get(index.get() as usize) + .map(|v| *v) .unwrap_or(false) { continue; @@ -986,10 +983,8 @@ impl PeerHandler { fn on_have(&self, handle: PeerHandle, have: u32) { self.state.peers.with_live_mut(handle, "on_have", |live| { - if let Some(bitfield) = live.bitfield.as_mut() { - bitfield.set(have as usize, true); - debug!("updated bitfield with have={}", have); - } + live.bitfield.set(have as usize, true); + debug!("updated bitfield with have={}", have); }); } @@ -1081,6 +1076,7 @@ impl PeerHandler { None => return Ok(()), } + // Try steal a pice from a very slow peer first. let next = match self.state.try_steal_old_slow_piece(handle) { Some(next) => next, None => match self.state.reserve_next_needed_piece(handle) { From 2695a8ec268b0e8f1b005e674884a3585f9ac779 Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Mon, 20 Nov 2023 10:14:08 +0000 Subject: [PATCH 37/40] Preventively fixed other race conditions --- crates/librqbit/src/chunk_tracker.rs | 17 +---- crates/librqbit/src/peer_state.rs | 2 +- crates/librqbit/src/torrent_state.rs | 107 +++++++++++++++++---------- 3 files changed, 73 insertions(+), 53 deletions(-) diff --git a/crates/librqbit/src/chunk_tracker.rs b/crates/librqbit/src/chunk_tracker.rs index a0ea3bc..e223d06 100644 --- a/crates/librqbit/src/chunk_tracker.rs +++ b/crates/librqbit/src/chunk_tracker.rs @@ -8,8 +8,9 @@ pub struct ChunkTracker { // This forms the basis of a "queue" to pull from. // It's set to 1 if we need a piece, but the moment we start requesting a peer, // it's set to 0. - - // Better to rename into piece_queue or smth, and maybe use some other form of a queue. + // + // Initially this is the opposite of "have", until we start making requests. + // An in-flight request is not in "needed", and not in "have". needed_pieces: BF, // This has a bit set per each chunk (block) that we have written to the output file. @@ -21,6 +22,7 @@ pub struct ChunkTracker { lengths: Lengths, + // What pieces to download first. priority_piece_ids: Vec, } @@ -168,17 +170,6 @@ impl ChunkTracker { piece.index, chunk_info, chunk_range, ); - // TODO: remove me, it's for debugging - // { - // use std::io::Write; - // let mut f = std::fs::OpenOptions::new() - // .write(true) - // .create(true) - // .open("/tmp/chunks") - // .unwrap(); - // write!(f, "{:?}", &self.have).unwrap(); - // } - if chunk_range.all() { return Some(ChunkMarkingResult::Completed); } diff --git a/crates/librqbit/src/peer_state.rs b/crates/librqbit/src/peer_state.rs index 874146e..d076e2f 100644 --- a/crates/librqbit/src/peer_state.rs +++ b/crates/librqbit/src/peer_state.rs @@ -224,7 +224,7 @@ pub struct LivePeerState { pub i_am_choked: bool, pub peer_interested: bool, - // This is used to limit the number of requests we send to a peer at a time. + // This is used to limit the number of chunk requests we send to a peer at a time. pub requests_sem: Arc, // This is used to unpause processes after we were choked. diff --git a/crates/librqbit/src/torrent_state.rs b/crates/librqbit/src/torrent_state.rs index ee7affd..b5aa72b 100644 --- a/crates/librqbit/src/torrent_state.rs +++ b/crates/librqbit/src/torrent_state.rs @@ -170,9 +170,8 @@ impl PeerStates { } pub fn update_bitfield_from_vec(&self, handle: PeerHandle, bitfield: Vec) -> Option<()> { self.with_live_mut(handle, "update_bitfield_from_vec", |live| { - let bitfield = BF::from_vec(bitfield); - live.previously_requested_pieces = BF::with_capacity(bitfield.len()); - live.bitfield = bitfield; + live.previously_requested_pieces = BF::from_vec(vec![0; bitfield.len()]); + live.bitfield = BF::from_vec(bitfield); }) } pub fn mark_peer_connecting(&self, h: PeerHandle) -> anyhow::Result { @@ -205,14 +204,12 @@ impl PeerStates { } pub struct TorrentStateLocked { + // What chunks we have and need. pub chunks: ChunkTracker, - pub inflight_pieces: HashMap, -} -impl TorrentStateLocked { - pub fn remove_inflight_piece(&mut self, piece: ValidPieceIndex) -> Option { - self.inflight_pieces.remove(&piece) - } + // At a moment in time, we are expecting a piece from only one peer. + // inflight_pieces stores this information. + pub inflight_pieces: HashMap, } #[derive(Default, Debug)] @@ -623,15 +620,22 @@ impl TorrentState { None } - // TODO: need to throttle this or make it smarter as it may loop and steal pieces forever from each other. + // NOTE: this doesn't actually "steal" it, but only returns an id we might steal. fn try_steal_piece(&self, handle: PeerHandle) -> Option { let mut rng = rand::thread_rng(); use rand::seq::IteratorRandom; + self.peers .with_live(handle, |live| { let g = self.lock_read("try_steal_piece"); g.inflight_pieces .keys() + .filter(|p| { + live.previously_requested_pieces + .get(p.get() as usize) + .map(|r| *r) + == Some(false) + }) .filter(|p| !live.inflight_requests.iter().any(|req| req.piece == **p)) .choose(&mut rng) .copied() @@ -1102,45 +1106,46 @@ impl PeerHandler { }, }; - let (tx, sem) = match self - .state - .peers - .with_live(handle, |l| (l.tx.clone(), l.requests_sem.clone())) - { - Some((tx, sem)) => (tx, sem), - None => return Ok(()), - }; - - for chunk in self.state.lengths.iter_chunk_infos(next) { - if self - .state - .lock_read("is_chunk_downloaded") - .chunks - .is_chunk_downloaded(&chunk) - { - continue; - } - + let (tx, sem) = match self .state .peers - .with_live_mut(handle, "inflight_requests.insert", |l| { - l.inflight_requests.insert(InflightRequest::from(&chunk)) + .with_live_mut(handle, "peer_setup_for_piece_request", |l| { + l.previously_requested_pieces.set(next.get() as usize, true); + (l.tx.clone(), l.requests_sem.clone()) }) { - Some(true) => {} - Some(false) => { - warn!("probably a bug, we already requested {:?}", chunk); - continue; - } + Some(res) => res, None => return Ok(()), - } + }; + for chunk in self.state.lengths.iter_chunk_infos(next) { let request = Request { index: next.get(), begin: chunk.offset, length: chunk.size, }; + match self + .state + .peers + .with_live_mut(handle, "add chunk request", |live| { + live.inflight_requests.insert(InflightRequest::from(&chunk)) + }) { + Some(true) => {} + Some(false) => { + // This request was already in-flight for this peer for this chunk. + // This might happen in theory, but not very likely. + // + // Example: + // someone stole a piece from us, and then died, the piece became "needed" again, and we reserved it + // all before the piece request was processed by us. + warn!("we already requested {:?} previously", chunk); + continue; + } + // peer died + None => return Ok(()), + }; + loop { match timeout(Duration::from_secs(10), sem.acquire()).await { Ok(acq) => break acq?.forget(), @@ -1241,12 +1246,33 @@ impl PeerHandler { let full_piece_download_time = { let mut g = self.state.lock_write("mark_chunk_downloaded"); + match g.inflight_pieces.get(&chunk_info.piece_index) { + Some(InflightPiece { peer, .. }) if *peer == handle => {} + Some(InflightPiece { peer, .. }) => { + debug!( + "in-flight piece {} was stolen by {}, ignoring", + chunk_info.piece_index, peer + ); + return Ok(()); + } + None => { + debug!( + "in-flight piece {} not found. it was probably completed by someone else", + chunk_info.piece_index + ); + return Ok(()); + } + }; + match g.chunks.mark_chunk_downloaded(&piece) { Some(ChunkMarkingResult::Completed) => { debug!("piece={} done, will write and checksum", piece.index,); // This will prevent others from stealing it. - g.remove_inflight_piece(chunk_info.piece_index) - .map(|t| t.started.elapsed()) + { + let piece = chunk_info.piece_index; + g.inflight_pieces.remove(&piece) + } + .map(|t| t.started.elapsed()) } Some(ChunkMarkingResult::PreviouslyCompleted) => { // TODO: we might need to send cancellations here. @@ -1263,6 +1289,9 @@ impl PeerHandler { } }; + // By this time we reach here, no other peer can for this piece. All others, even if they steal pieces would + // have fallen off above in one of the defensive checks. + self.spawner .spawn_block_in_place(move || { let index = piece.index; From e2f909ca07f938f9117ef7b2b906a01521d395ba Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Mon, 20 Nov 2023 10:30:21 +0000 Subject: [PATCH 38/40] Add some documentation --- crates/librqbit/src/torrent_state.rs | 44 ++++++++++++++++++++++++---- 1 file changed, 38 insertions(+), 6 deletions(-) diff --git a/crates/librqbit/src/torrent_state.rs b/crates/librqbit/src/torrent_state.rs index b5aa72b..bb46f9f 100644 --- a/crates/librqbit/src/torrent_state.rs +++ b/crates/librqbit/src/torrent_state.rs @@ -1,12 +1,43 @@ // The main logic of rqbit is here - connecting to peers, reading and writing messages // to them, tracking peer state etc. - -// NOTE: deadlock notice: -// peers and stateLocked are behind 2 different locks. -// if you lock them in different order, this may deadlock. // -// so don't lock them both at the same time at all, or at the worst lock them in the -// same order (peers one first, then the global one). +// ## Architecture +// There are many tasks cooperating to download the torrent. Tasks communicate both with message passing +// and shared memory. +// +// ### Shared locked state +// Shared state is access by almost all actors through RwLocks. +// +// There's one source of truth (TorrentStateLocked) for which chunks we have, need, and what peers are we waiting them from. +// +// Peer states that are important to the outsiders (tasks other than manage_peer) are in a sharded hash-map (DashMap) +// +// ### Tasks (actors) +// Peer adder task: +// - spawns new peers as they become known. It pulls them from a queue. The queue is filled in by DHT and torrent trackers. +// Also gets updated when peers are reconnecting after errors. +// +// Each peer has at least 2 tasks: +// - "manage_peer" - this talks to the peer over network and calls callbacks on PeerHandler. The callbacks are not async, +// and are supposed to finish quickly (apart from writing to disk, which is accounted for as "spawn_blocking"). +// - "peer_chunk_requester" - this continuously sends requests for chunks to the peer. +// it MAY steal chunks/pieces from other peers, which +// +// ## Peer lifecycle +// State transitions: +// - queued (initial state) -> connected +// - connected -> live +// - ANY STATE -> dead (on error) +// - ANY STATE -> not_needed (when we don't need to talk to the peer anymore) +// +// When the peer dies, it's rescheduled with exponential backoff. +// +// > NOTE: deadlock notice: +// > peers and stateLocked are behind 2 different locks. +// > if you lock them in different order, this may deadlock. +// > +// > so don't lock them both at the same time at all, or at the worst lock them in the +// > same order (peers one first, then the global one). use std::{ collections::HashMap, @@ -290,6 +321,7 @@ pub struct TorrentState { finished_notify: Notify, } +// Used during debugging to see if some locks take too long. #[cfg(not(feature = "timed_existence"))] mod timed_existence { use std::ops::{Deref, DerefMut}; From b751b98a602e432d941997b195b1f3ca24250bd6 Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Mon, 20 Nov 2023 10:34:43 +0000 Subject: [PATCH 39/40] Update versions to 3.0.0 as theres a lot of changes internally --- Cargo.lock | 10 +++++----- crates/dht/Cargo.toml | 4 ++-- crates/librqbit/Cargo.toml | 8 ++++---- crates/librqbit_core/Cargo.toml | 2 +- crates/peer_binary_protocol/Cargo.toml | 4 ++-- crates/rqbit/Cargo.toml | 6 +++--- 6 files changed, 17 insertions(+), 17 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b5be784..6b7eae7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -830,7 +830,7 @@ dependencies = [ [[package]] name = "librqbit" -version = "2.2.2" +version = "3.0.0-beta.0" dependencies = [ "anyhow", "axum", @@ -894,7 +894,7 @@ version = "2.2.1" [[package]] name = "librqbit-core" -version = "2.2.2" +version = "3.0.0" dependencies = [ "anyhow", "hex 0.4.3", @@ -910,7 +910,7 @@ dependencies = [ [[package]] name = "librqbit-dht" -version = "2.2.2" +version = "3.0.0" dependencies = [ "anyhow", "directories", @@ -932,7 +932,7 @@ dependencies = [ [[package]] name = "librqbit-peer-protocol" -version = "2.2.2" +version = "3.0.0" dependencies = [ "anyhow", "bincode", @@ -1483,7 +1483,7 @@ dependencies = [ [[package]] name = "rqbit" -version = "2.2.2" +version = "3.0.0-beta.0" dependencies = [ "anyhow", "clap", diff --git a/crates/dht/Cargo.toml b/crates/dht/Cargo.toml index 5c40a64..b2f2240 100644 --- a/crates/dht/Cargo.toml +++ b/crates/dht/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "librqbit-dht" -version = "2.2.2" +version = "3.0.0" edition = "2018" description = "DHT implementation, used in rqbit torrent client." license = "Apache-2.0" @@ -32,7 +32,7 @@ indexmap = "2" directories = "5" clone_to_owned = {path="../clone_to_owned", package="librqbit-clone-to-owned", version = "2.2.1"} -librqbit-core = {path="../librqbit_core", version = "2.2.1"} +librqbit-core = {path="../librqbit_core", version = "3.0.0"} [dev-dependencies] tracing-subscriber = "0.3" \ No newline at end of file diff --git a/crates/librqbit/Cargo.toml b/crates/librqbit/Cargo.toml index 4095553..46c1c15 100644 --- a/crates/librqbit/Cargo.toml +++ b/crates/librqbit/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "librqbit" -version = "2.2.2" +version = "3.0.0-beta.0" authors = ["Igor Katson "] edition = "2018" description = "The main library used by rqbit torrent client. The binary is just a small wrapper on top of it." @@ -23,11 +23,11 @@ rust-tls = ["reqwest/rustls-tls"] [dependencies] bencode = {path = "../bencode", default-features=false, package="librqbit-bencode", version="2.2.1"} buffers = {path = "../buffers", package="librqbit-buffers", version = "2.2.1"} -librqbit-core = {path = "../librqbit_core", version = "2.2.2"} +librqbit-core = {path = "../librqbit_core", version = "3.0.0"} clone_to_owned = {path = "../clone_to_owned", package="librqbit-clone-to-owned", version = "2.2.1"} -peer_binary_protocol = {path = "../peer_binary_protocol", package="librqbit-peer-protocol", version = "2.2.2"} +peer_binary_protocol = {path = "../peer_binary_protocol", package="librqbit-peer-protocol", version = "3.0.0"} sha1w = {path = "../sha1w", default-features=false, package="librqbit-sha1-wrapper", version="2.2.1"} -dht = {path = "../dht", package="librqbit-dht", version="2.2.2"} +dht = {path = "../dht", package="librqbit-dht", version="3.0.0"} tokio = {version = "1", features = ["macros", "rt-multi-thread"]} axum = {version = "0.6"} diff --git a/crates/librqbit_core/Cargo.toml b/crates/librqbit_core/Cargo.toml index d3f0965..0c10aba 100644 --- a/crates/librqbit_core/Cargo.toml +++ b/crates/librqbit_core/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "librqbit-core" -version = "2.2.2" +version = "3.0.0" edition = "2018" description = "Important utilities used throughout librqbit useful for working with torrents." license = "Apache-2.0" diff --git a/crates/peer_binary_protocol/Cargo.toml b/crates/peer_binary_protocol/Cargo.toml index 0beada2..32f3244 100644 --- a/crates/peer_binary_protocol/Cargo.toml +++ b/crates/peer_binary_protocol/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "librqbit-peer-protocol" -version = "2.2.2" +version = "3.0.0" edition = "2018" description = "Protocol for working with torrent peers. Used in rqbit torrent client." license = "Apache-2.0" @@ -23,6 +23,6 @@ byteorder = "1" buffers = {path="../buffers", package="librqbit-buffers", version = "2.2.1"} bencode = {path = "../bencode", default-features=false, package="librqbit-bencode", version="2.2.1"} clone_to_owned = {path="../clone_to_owned", package="librqbit-clone-to-owned", version = "2.2.1"} -librqbit-core = {path="../librqbit_core", version = "2.2.2"} +librqbit-core = {path="../librqbit_core", version = "3.0.0"} bitvec = "1" anyhow = "1" \ No newline at end of file diff --git a/crates/rqbit/Cargo.toml b/crates/rqbit/Cargo.toml index eaf40ba..eea95d7 100644 --- a/crates/rqbit/Cargo.toml +++ b/crates/rqbit/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rqbit" -version = "2.2.2" +version = "3.0.0-beta.0" authors = ["Igor Katson "] edition = "2018" description = "A bittorrent command line client and server." @@ -21,8 +21,8 @@ default-tls = ["librqbit/default-tls"] rust-tls = ["librqbit/rust-tls"] [dependencies] -librqbit = {path="../librqbit", default-features=false, version = "2.2.2"} -dht = {path="../dht", package="librqbit-dht", version="2.2.2"} +librqbit = {path="../librqbit", default-features=false, version = "3.0.0-beta.0"} +dht = {path="../dht", package="librqbit-dht", version="3.0.0"} tokio = {version = "1", features = ["macros", "rt-multi-thread"]} anyhow = "1" clap = {version = "4", features = ["derive", "deprecated"]} From 1b68b0eac13cf1d88c187170c198e551aff684e1 Mon Sep 17 00:00:00 2001 From: Igor Katson Date: Mon, 20 Nov 2023 10:35:22 +0000 Subject: [PATCH 40/40] Remove unnecessary debugging files --- busy.txt | 610 ------------------------------------- busy_2.txt | 618 ------------------------------------- busy_deadlocked.txt | 622 -------------------------------------- deadlock-2023-11-19.txt | 406 ------------------------- deadlock-2023-11-19_2.txt | 430 -------------------------- deadlock_3.txt | 384 ----------------------- deadlock_4.txt | 389 ------------------------ deadlock_5.txt | 271 ----------------- deadlock_6.txt | 450 --------------------------- 9 files changed, 4180 deletions(-) delete mode 100644 busy.txt delete mode 100644 busy_2.txt delete mode 100644 busy_deadlocked.txt delete mode 100644 deadlock-2023-11-19.txt delete mode 100644 deadlock-2023-11-19_2.txt delete mode 100644 deadlock_3.txt delete mode 100644 deadlock_4.txt delete mode 100644 deadlock_5.txt delete mode 100644 deadlock_6.txt diff --git a/busy.txt b/busy.txt deleted file mode 100644 index df13559..0000000 --- a/busy.txt +++ /dev/null @@ -1,610 +0,0 @@ -(lldb) command script import "/Users/igor/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/etc/lldb_lookup.py" -(lldb) command source -s 0 '/Users/igor/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/etc/lldb_commands' -(lldb) type synthetic add -l lldb_lookup.synthetic_lookup -x ".*" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)String$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^&(mut )?str$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^&(mut )?\\[.+\\]$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(std::ffi::([a-z_]+::)+)OsString$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)Vec<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)VecDeque<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)BTreeSet<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)BTreeMap<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(std::collections::([a-z_]+::)+)HashMap<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(std::collections::([a-z_]+::)+)HashSet<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)Rc<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)Arc<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(core::([a-z_]+::)+)Cell<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(core::([a-z_]+::)+)Ref<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(core::([a-z_]+::)+)RefMut<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(core::([a-z_]+::)+)RefCell<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^core::num::([a-z_]+::)*NonZero.+$" --category Rust -(lldb) type category enable Rust -(lldb) process attach --pid 70468 -Process 70468 stopped -* thread #1, name = 'main', queue = 'com.apple.main-thread', stop reason = signal SIGSTOP - frame #0: 0x000000018c11c0ac libsystem_kernel.dylib`__psynch_cvwait + 8 -libsystem_kernel.dylib`: --> 0x18c11c0ac <+8>: b.lo 0x18c11c0cc ; <+40> - 0x18c11c0b0 <+12>: pacibsp - 0x18c11c0b4 <+16>: stp x29, x30, [sp, #-0x10]! - 0x18c11c0b8 <+20>: mov x29, sp -Target 0: (rqbit) stopped. -Executable module set to "/Users/igor/projects/2021-06-rust-qbittorrent/target/release/rqbit". -Architecture set to: arm64-apple-macosx-. -(lldb) bt all -(lldb) thread backtrace all - thread #2, name = 'tokio-runtime-worker' - frame #0: 0x000000018c118908 libsystem_kernel.dylib`swtch_pri + 8 - frame #1: 0x000000018c155ed8 libsystem_pthread.dylib`cthread_yield + 32 - frame #2: 0x00000001051b76c8 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::thread_parker::imp::thread_yield::h227973beb6a1850c at unix.rs:255:5 [opt] - frame #3: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::spinwait::SpinWait::spin::h5cfc83bbc083ea7f(self=) at spinwait.rs:56:13 [opt] - frame #4: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 at raw_rwlock.rs:1078:65 [opt] - frame #5: 0x00000001051b7360 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5(self=0x0000600003418010, recursive=, timeout=) at raw_rwlock.rs:719:9 [opt] - frame #6: 0x0000000104e95d44 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_shared::h75e69a78909e2622(self=0x0000600003418010) at raw_rwlock.rs:109:26 [opt] - frame #7: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at rwlock.rs:459:9 [opt] - frame #8: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::_$u7b$$u7b$closure$u7d$$u7d$::h72b3d81d214d5c52 at torrent_state.rs:533:59 [opt] - frame #9: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:332:9 [opt] - frame #10: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::ha7825068a8338bac(self=, reason=&str @ 0x0000600000b19560) at torrent_state.rs:533:29 [opt] - frame #11: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1119:20 [opt] - frame #12: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] - frame #13: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] - frame #14: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] - frame #15: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] - frame #16: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] - frame #17: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014c03aa20, cx=Context @ 0x000000016b2c2508) at core.rs:317:30 [opt] - frame #18: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] - frame #19: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x0000600000b197e0, (null)=) at unwind_safe.rs:271:9 [opt] - frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] - frame #21: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] - frame #22: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] - frame #23: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014c03aa20, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #24: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] - frame #25: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] - frame #26: 0x00000001050b0828 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] - frame #27: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] - frame #28: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::scheduler::multi_thread::worker::Context::run_task::_$u7b$$u7b$closure$u7d$$u7d$::hdead63aea4a59933 at worker.rs:577:18 [opt] - frame #29: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] - frame #30: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x0000600000b76e30) at coop.rs:73:5 [opt] - frame #31: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016b2c2bf0, task=Notified> @ scalar, core=) at worker.rs:576:9 [opt] - frame #32: 0x00000001050b014c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016b2c2bf0, core=0x0000600002c09360) at worker.rs:0 [opt] - frame #33: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] - frame #34: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014a008238, t=, f=) at scoped.rs:40:9 [opt] - frame #35: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] - frame #36: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] - frame #37: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] - frame #38: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016b2c2be8, f={closure_env#0} @ 0x0000600000b19c00) at context.rs:176:17 [opt] - frame #39: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] - frame #40: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x0000600000b19c70) at runtime.rs:65:16 [opt] - frame #41: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] - frame #42: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] - frame #43: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] - frame #44: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] - frame #45: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] - frame #46: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x000000014bd287a0, cx=) at core.rs:317:30 [opt] - frame #47: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] - frame #48: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000600000b1a1d0, (null)=) at unwind_safe.rs:271:9 [opt] - frame #49: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] - frame #50: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] - frame #51: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] - frame #52: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x000000014bd287a0, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #53: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] - frame #54: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] - frame #55: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] - frame #56: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] - frame #57: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x0000600000b64140) at pool.rs:159:9 [opt] - frame #58: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] - frame #59: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] - frame #60: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016b2c2f30) at backtrace.rs:154:18 [opt] - frame #61: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] - frame #62: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] - frame #63: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] - frame #64: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] - frame #65: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] - frame #66: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] - frame #67: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a0c700, (null)=) at function.rs:250:5 [opt] - frame #68: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] - frame #69: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] - frame #70: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] - frame #71: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 - thread #3, name = 'tokio-runtime-worker' - frame #0: 0x000000018c118908 libsystem_kernel.dylib`swtch_pri + 8 - frame #1: 0x000000018c155ed8 libsystem_pthread.dylib`cthread_yield + 32 - frame #2: 0x00000001051b76c8 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::thread_parker::imp::thread_yield::h227973beb6a1850c at unix.rs:255:5 [opt] - frame #3: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::spinwait::SpinWait::spin::h5cfc83bbc083ea7f(self=) at spinwait.rs:56:13 [opt] - frame #4: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 at raw_rwlock.rs:1078:65 [opt] - frame #5: 0x00000001051b7360 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5(self=0x0000600003418010, recursive=, timeout=) at raw_rwlock.rs:719:9 [opt] - frame #6: 0x0000000104e95d44 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_shared::h75e69a78909e2622(self=0x0000600003418010) at raw_rwlock.rs:109:26 [opt] - frame #7: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at rwlock.rs:459:9 [opt] - frame #8: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::_$u7b$$u7b$closure$u7d$$u7d$::h72b3d81d214d5c52 at torrent_state.rs:533:59 [opt] - frame #9: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:332:9 [opt] - frame #10: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::ha7825068a8338bac(self=, reason=&str @ 0x0000600000b647e0) at torrent_state.rs:533:29 [opt] - frame #11: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1119:20 [opt] - frame #12: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] - frame #13: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] - frame #14: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] - frame #15: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] - frame #16: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] - frame #17: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014d105a20, cx=Context @ 0x000000016b4ce508) at core.rs:317:30 [opt] - frame #18: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] - frame #19: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x0000600000b64a40, (null)=) at unwind_safe.rs:271:9 [opt] - frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] - frame #21: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] - frame #22: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] - frame #23: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014d105a20, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #24: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] - frame #25: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] - frame #26: 0x00000001050b0894 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] - frame #27: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] - frame #28: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at worker.rs:640:22 [opt] - frame #29: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] - frame #30: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x0000600000b64bc0) at coop.rs:73:5 [opt] - frame #31: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016b4cebf0, task=, core=) at worker.rs:576:9 [opt] - frame #32: 0x00000001050b02dc rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016b4cebf0, core=0x0000600002c085a0) at worker.rs:0 [opt] - frame #33: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] - frame #34: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014a808238, t=, f=) at scoped.rs:40:9 [opt] - frame #35: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] - frame #36: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] - frame #37: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] - frame #38: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016b4cebe8, f={closure_env#0} @ 0x0000600000b79a60) at context.rs:176:17 [opt] - frame #39: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] - frame #40: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x0000600000b79b40) at runtime.rs:65:16 [opt] - frame #41: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] - frame #42: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] - frame #43: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] - frame #44: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] - frame #45: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] - frame #46: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x0000000149611ca0, cx=) at core.rs:317:30 [opt] - frame #47: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] - frame #48: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000600000b79cf0, (null)=) at unwind_safe.rs:271:9 [opt] - frame #49: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] - frame #50: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] - frame #51: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] - frame #52: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x0000000149611ca0, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #53: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] - frame #54: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] - frame #55: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] - frame #56: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] - frame #57: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x0000600000b79ee0) at pool.rs:159:9 [opt] - frame #58: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] - frame #59: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] - frame #60: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016b4cef30) at backtrace.rs:154:18 [opt] - frame #61: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] - frame #62: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] - frame #63: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] - frame #64: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] - frame #65: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] - frame #66: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] - frame #67: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a0ccc0, (null)=) at function.rs:250:5 [opt] - frame #68: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] - frame #69: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] - frame #70: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] - frame #71: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 - thread #4, name = 'tokio-runtime-worker' - frame #0: 0x0000000104e95b24 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::unlock_shared::hea004debead67c32(self=) at raw_rwlock.rs:136:12 [opt] - frame #1: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$lock_api..rwlock..RwLockReadGuard$LT$R$C$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$::drop::h0fa0333e78a156b7(self=) at rwlock.rs:1372:13 [opt] - frame #2: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] core::ptr::drop_in_place$LT$lock_api..rwlock..RwLockReadGuard$LT$parking_lot..raw_rwlock..RawRwLock$C$librqbit..torrent_state..TorrentStateLocked$GT$$GT$::h37e2eada005d8e1e((null)=) at mod.rs:497:1 [opt] - frame #3: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] core::ptr::drop_in_place$LT$librqbit..torrent_state..timed_existence..TimedExistence$LT$lock_api..rwlock..RwLockReadGuard$LT$parking_lot..raw_rwlock..RawRwLock$C$librqbit..torrent_state..TorrentStateLocked$GT$$GT$$GT$::h0cbca05e47c1d35d((null)=) at mod.rs:497:1 [opt] - frame #4: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1123:48 [opt] - frame #5: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] - frame #6: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] - frame #7: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] - frame #8: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] - frame #9: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] - frame #10: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014a80c020, cx=Context @ 0x000000016b6da508) at core.rs:317:30 [opt] - frame #11: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] - frame #12: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x0000600000b7a180, (null)=) at unwind_safe.rs:271:9 [opt] - frame #13: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] - frame #14: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] - frame #15: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] - frame #16: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014a80c020, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #17: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] - frame #18: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] - frame #19: 0x00000001050b0828 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] - frame #20: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] - frame #21: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::scheduler::multi_thread::worker::Context::run_task::_$u7b$$u7b$closure$u7d$$u7d$::hdead63aea4a59933 at worker.rs:577:18 [opt] - frame #22: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] - frame #23: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x0000600000b64de0) at coop.rs:73:5 [opt] - frame #24: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016b6dabf0, task=Notified> @ scalar, core=) at worker.rs:576:9 [opt] - frame #25: 0x00000001050b014c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016b6dabf0, core=0x0000600002c08460) at worker.rs:0 [opt] - frame #26: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] - frame #27: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014b008238, t=, f=) at scoped.rs:40:9 [opt] - frame #28: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] - frame #29: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] - frame #30: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] - frame #31: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016b6dabe8, f={closure_env#0} @ 0x0000600000b7a470) at context.rs:176:17 [opt] - frame #32: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] - frame #33: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x0000600000b7a550) at runtime.rs:65:16 [opt] - frame #34: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] - frame #35: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] - frame #36: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] - frame #37: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] - frame #38: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] - frame #39: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x000000014b9122a0, cx=) at core.rs:317:30 [opt] - frame #40: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] - frame #41: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000600000b7a700, (null)=) at unwind_safe.rs:271:9 [opt] - frame #42: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] - frame #43: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] - frame #44: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] - frame #45: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x000000014b9122a0, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #46: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] - frame #47: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] - frame #48: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] - frame #49: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] - frame #50: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x0000600000b7a8f0) at pool.rs:159:9 [opt] - frame #51: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] - frame #52: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] - frame #53: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016b6daf30) at backtrace.rs:154:18 [opt] - frame #54: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] - frame #55: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] - frame #56: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] - frame #57: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] - frame #58: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] - frame #59: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] - frame #60: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a0c880, (null)=) at function.rs:250:5 [opt] - frame #61: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] - frame #62: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] - frame #63: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] - frame #64: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 - thread #5, name = 'tokio-runtime-worker' - frame #0: 0x0000000104e95b24 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::unlock_shared::hea004debead67c32(self=) at raw_rwlock.rs:136:12 [opt] - frame #1: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$lock_api..rwlock..RwLockReadGuard$LT$R$C$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$::drop::h0fa0333e78a156b7(self=) at rwlock.rs:1372:13 [opt] - frame #2: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] core::ptr::drop_in_place$LT$lock_api..rwlock..RwLockReadGuard$LT$parking_lot..raw_rwlock..RawRwLock$C$librqbit..torrent_state..TorrentStateLocked$GT$$GT$::h37e2eada005d8e1e((null)=) at mod.rs:497:1 [opt] - frame #3: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] core::ptr::drop_in_place$LT$librqbit..torrent_state..timed_existence..TimedExistence$LT$lock_api..rwlock..RwLockReadGuard$LT$parking_lot..raw_rwlock..RawRwLock$C$librqbit..torrent_state..TorrentStateLocked$GT$$GT$$GT$::h0cbca05e47c1d35d((null)=) at mod.rs:497:1 [opt] - frame #4: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1123:48 [opt] - frame #5: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] - frame #6: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] - frame #7: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] - frame #8: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] - frame #9: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] - frame #10: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014c813020, cx=Context @ 0x000000016b8e6508) at core.rs:317:30 [opt] - frame #11: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] - frame #12: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x0000600000b65250, (null)=) at unwind_safe.rs:271:9 [opt] - frame #13: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] - frame #14: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] - frame #15: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] - frame #16: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014c813020, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #17: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] - frame #18: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] - frame #19: 0x00000001050b0828 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] - frame #20: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] - frame #21: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::scheduler::multi_thread::worker::Context::run_task::_$u7b$$u7b$closure$u7d$$u7d$::hdead63aea4a59933 at worker.rs:577:18 [opt] - frame #22: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] - frame #23: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x0000600000b65450) at coop.rs:73:5 [opt] - frame #24: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016b8e6bf0, task=Notified> @ scalar, core=) at worker.rs:576:9 [opt] - frame #25: 0x00000001050b014c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016b8e6bf0, core=0x0000600002c08550) at worker.rs:0 [opt] - frame #26: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] - frame #27: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014a808838, t=, f=) at scoped.rs:40:9 [opt] - frame #28: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] - frame #29: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] - frame #30: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] - frame #31: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016b8e6be8, f={closure_env#0} @ 0x0000600000b7aad0) at context.rs:176:17 [opt] - frame #32: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] - frame #33: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x0000600000b7abb0) at runtime.rs:65:16 [opt] - frame #34: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] - frame #35: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] - frame #36: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] - frame #37: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] - frame #38: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] - frame #39: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x0000000149705a20, cx=) at core.rs:317:30 [opt] - frame #40: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] - frame #41: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000600000b7ad60, (null)=) at unwind_safe.rs:271:9 [opt] - frame #42: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] - frame #43: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] - frame #44: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] - frame #45: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x0000000149705a20, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #46: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] - frame #47: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] - frame #48: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] - frame #49: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] - frame #50: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x0000600000b7af50) at pool.rs:159:9 [opt] - frame #51: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] - frame #52: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] - frame #53: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016b8e6f30) at backtrace.rs:154:18 [opt] - frame #54: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] - frame #55: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] - frame #56: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] - frame #57: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] - frame #58: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] - frame #59: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] - frame #60: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a0c580, (null)=) at function.rs:250:5 [opt] - frame #61: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] - frame #62: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] - frame #63: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] - frame #64: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 - thread #6, name = 'tokio-runtime-worker' - frame #0: 0x000000018c118908 libsystem_kernel.dylib`swtch_pri + 8 - frame #1: 0x000000018c155ed8 libsystem_pthread.dylib`cthread_yield + 32 - frame #2: 0x00000001051b76c8 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::thread_parker::imp::thread_yield::h227973beb6a1850c at unix.rs:255:5 [opt] - frame #3: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::spinwait::SpinWait::spin::h5cfc83bbc083ea7f(self=) at spinwait.rs:56:13 [opt] - frame #4: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 at raw_rwlock.rs:1078:65 [opt] - frame #5: 0x00000001051b7360 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5(self=0x0000600003418010, recursive=, timeout=) at raw_rwlock.rs:719:9 [opt] - frame #6: 0x0000000104e95d44 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_shared::h75e69a78909e2622(self=0x0000600003418010) at raw_rwlock.rs:109:26 [opt] - frame #7: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at rwlock.rs:459:9 [opt] - frame #8: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::_$u7b$$u7b$closure$u7d$$u7d$::h72b3d81d214d5c52 at torrent_state.rs:533:59 [opt] - frame #9: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:332:9 [opt] - frame #10: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::ha7825068a8338bac(self=, reason=&str @ 0x0000600000b7b1e0) at torrent_state.rs:533:29 [opt] - frame #11: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1119:20 [opt] - frame #12: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] - frame #13: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] - frame #14: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] - frame #15: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] - frame #16: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] - frame #17: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014d82ec20, cx=Context @ 0x000000016baf2508) at core.rs:317:30 [opt] - frame #18: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] - frame #19: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x0000600000b7e0c0, (null)=) at unwind_safe.rs:271:9 [opt] - frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] - frame #21: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] - frame #22: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] - frame #23: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014d82ec20, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #24: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] - frame #25: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] - frame #26: 0x00000001050b0894 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] - frame #27: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] - frame #28: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at worker.rs:640:22 [opt] - frame #29: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] - frame #30: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x0000600000b7e240) at coop.rs:73:5 [opt] - frame #31: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016baf2bf0, task=, core=) at worker.rs:576:9 [opt] - frame #32: 0x00000001050b014c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016baf2bf0, core=0x0000600002c085f0) at worker.rs:0 [opt] - frame #33: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] - frame #34: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014a008838, t=, f=) at scoped.rs:40:9 [opt] - frame #35: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] - frame #36: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] - frame #37: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] - frame #38: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016baf2be8, f={closure_env#0} @ 0x0000600000b7b410) at context.rs:176:17 [opt] - frame #39: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] - frame #40: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x0000600000b7b4f0) at runtime.rs:65:16 [opt] - frame #41: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] - frame #42: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] - frame #43: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] - frame #44: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] - frame #45: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] - frame #46: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x00000001497085a0, cx=) at core.rs:317:30 [opt] - frame #47: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] - frame #48: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000600000b7b6a0, (null)=) at unwind_safe.rs:271:9 [opt] - frame #49: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] - frame #50: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] - frame #51: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] - frame #52: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x00000001497085a0, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #53: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] - frame #54: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] - frame #55: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] - frame #56: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] - frame #57: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x0000600000b7b890) at pool.rs:159:9 [opt] - frame #58: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] - frame #59: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] - frame #60: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016baf2f30) at backtrace.rs:154:18 [opt] - frame #61: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] - frame #62: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] - frame #63: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] - frame #64: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] - frame #65: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] - frame #66: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] - frame #67: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a0cc40, (null)=) at function.rs:250:5 [opt] - frame #68: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] - frame #69: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] - frame #70: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] - frame #71: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 - thread #7, name = 'tokio-runtime-worker' - frame #0: 0x000000018c118908 libsystem_kernel.dylib`swtch_pri + 8 - frame #1: 0x000000018c155ed8 libsystem_pthread.dylib`cthread_yield + 32 - frame #2: 0x00000001051b76c8 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::thread_parker::imp::thread_yield::h227973beb6a1850c at unix.rs:255:5 [opt] - frame #3: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::spinwait::SpinWait::spin::h5cfc83bbc083ea7f(self=) at spinwait.rs:56:13 [opt] - frame #4: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 at raw_rwlock.rs:1078:65 [opt] - frame #5: 0x00000001051b7360 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5(self=0x0000600003418010, recursive=, timeout=) at raw_rwlock.rs:719:9 [opt] - frame #6: 0x0000000104e95d44 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_shared::h75e69a78909e2622(self=0x0000600003418010) at raw_rwlock.rs:109:26 [opt] - frame #7: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at rwlock.rs:459:9 [opt] - frame #8: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::_$u7b$$u7b$closure$u7d$$u7d$::h72b3d81d214d5c52 at torrent_state.rs:533:59 [opt] - frame #9: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:332:9 [opt] - frame #10: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::ha7825068a8338bac(self=, reason=&str @ 0x0000600000b7bb20) at torrent_state.rs:533:29 [opt] - frame #11: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1119:20 [opt] - frame #12: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] - frame #13: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] - frame #14: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] - frame #15: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] - frame #16: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] - frame #17: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014a02f220, cx=Context @ 0x000000016bf0a508) at core.rs:317:30 [opt] - frame #18: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] - frame #19: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x0000600000b65700, (null)=) at unwind_safe.rs:271:9 [opt] - frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] - frame #21: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] - frame #22: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] - frame #23: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014a02f220, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #24: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] - frame #25: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] - frame #26: 0x00000001050b0894 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] - frame #27: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] - frame #28: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at worker.rs:640:22 [opt] - frame #29: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] - frame #30: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x0000600000b657c0) at coop.rs:73:5 [opt] - frame #31: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016bf0abf0, task=, core=) at worker.rs:576:9 [opt] - frame #32: 0x00000001050b014c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016bf0abf0, core=0x0000600002c08690) at worker.rs:0 [opt] - frame #33: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] - frame #34: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014b008e38, t=, f=) at scoped.rs:40:9 [opt] - frame #35: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] - frame #36: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] - frame #37: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] - frame #38: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016bf0abe8, f={closure_env#0} @ 0x0000600000b659e0) at context.rs:176:17 [opt] - frame #39: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] - frame #40: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x0000600000b65ac0) at runtime.rs:65:16 [opt] - frame #41: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] - frame #42: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] - frame #43: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] - frame #44: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] - frame #45: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] - frame #46: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x000000014bd1a120, cx=) at core.rs:317:30 [opt] - frame #47: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] - frame #48: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000600000b65c70, (null)=) at unwind_safe.rs:271:9 [opt] - frame #49: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] - frame #50: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] - frame #51: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] - frame #52: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x000000014bd1a120, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #53: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] - frame #54: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] - frame #55: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] - frame #56: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] - frame #57: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x0000600000b65e60) at pool.rs:159:9 [opt] - frame #58: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] - frame #59: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] - frame #60: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016bf0af30) at backtrace.rs:154:18 [opt] - frame #61: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] - frame #62: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] - frame #63: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] - frame #64: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] - frame #65: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] - frame #66: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] - frame #67: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a0ca40, (null)=) at function.rs:250:5 [opt] - frame #68: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] - frame #69: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] - frame #70: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] - frame #71: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 - thread #8 - frame #0: 0x000000018c11a564 libsystem_kernel.dylib`__workq_kernreturn + 8 - thread #9, name = 'tokio-runtime-worker' - frame #0: 0x000000018c160cb4 libdyld.dylib`tlv_get_addr + 4 - frame #1: 0x00000001050f19f0 rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e at option.rs:674:15 [opt] - frame #2: 0x00000001050f19dc rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e [inlined] std::sys::common::thread_local::lazy::LazyKeyInner$LT$T$GT$::get::h675e54a204ca8b72(self=) at mod.rs:46:42 [opt] - frame #3: 0x00000001050f19dc rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e [inlined] std::sys::common::thread_local::fast_local::Key$LT$T$GT$::get::h18d95d4ca32d0834(self=, init={closure_env#0} @ 0x0000600000b60060) at fast_local.rs:171:19 [opt] - frame #4: 0x00000001050f19dc rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e [inlined] parking_lot_core::parking_lot::with_thread_data::THREAD_DATA::__getit::h50f1aae5bcdf1454(init=Option<&mut core::option::Option> @ 0x0000600000b60110) at fast_local.rs:91:21 [opt] - frame #5: 0x00000001050f19dc rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e [inlined] std::thread::local::LocalKey$LT$T$GT$::try_with::h4dd06b279f18bb4e(self=, f=) at local.rs:269:32 [opt] - frame #6: 0x00000001050f19dc rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e at parking_lot.rs:203:27 [opt] - frame #7: 0x00000001050f19d8 rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e(key=105553170890768) at parking_lot.rs:1231:9 [opt] - frame #8: 0x0000000104e95b18 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] parking_lot_core::parking_lot::deadlock::release_resource::hb76fc449fd876904 at parking_lot.rs:1130:9 [opt] - frame #9: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] parking_lot::raw_rwlock::RawRwLock::deadlock_release::h9a0f2addf3cf5a39 at raw_rwlock.rs:1146:18 [opt] - frame #10: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::unlock_shared::hea004debead67c32(self=) at raw_rwlock.rs:130:14 [opt] - frame #11: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$lock_api..rwlock..RwLockReadGuard$LT$R$C$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$::drop::h0fa0333e78a156b7(self=) at rwlock.rs:1372:13 [opt] - frame #12: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] core::ptr::drop_in_place$LT$lock_api..rwlock..RwLockReadGuard$LT$parking_lot..raw_rwlock..RawRwLock$C$librqbit..torrent_state..TorrentStateLocked$GT$$GT$::h37e2eada005d8e1e((null)=) at mod.rs:497:1 [opt] - frame #13: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] core::ptr::drop_in_place$LT$librqbit..torrent_state..timed_existence..TimedExistence$LT$lock_api..rwlock..RwLockReadGuard$LT$parking_lot..raw_rwlock..RawRwLock$C$librqbit..torrent_state..TorrentStateLocked$GT$$GT$$GT$::h0cbca05e47c1d35d((null)=) at mod.rs:497:1 [opt] - frame #14: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1123:48 [opt] - frame #15: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] - frame #16: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] - frame #17: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] - frame #18: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] - frame #19: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] - frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014d0ab220, cx=Context @ 0x000000016ccf6508) at core.rs:317:30 [opt] - frame #21: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] - frame #22: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x0000600000b668c0, (null)=) at unwind_safe.rs:271:9 [opt] - frame #23: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] - frame #24: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] - frame #25: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] - frame #26: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014d0ab220, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #27: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] - frame #28: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] - frame #29: 0x00000001050b0894 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] - frame #30: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] - frame #31: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at worker.rs:640:22 [opt] - frame #32: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] - frame #33: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x0000600000b66ab0) at coop.rs:73:5 [opt] - frame #34: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016ccf6bf0, task=, core=) at worker.rs:576:9 [opt] - frame #35: 0x00000001050b02dc rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016ccf6bf0, core=0x0000600002c08640) at worker.rs:0 [opt] - frame #36: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] - frame #37: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014c840838, t=, f=) at scoped.rs:40:9 [opt] - frame #38: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] - frame #39: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] - frame #40: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] - frame #41: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016ccf6be8, f={closure_env#0} @ 0x0000600000b66cf0) at context.rs:176:17 [opt] - frame #42: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] - frame #43: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x0000600000b60260) at runtime.rs:65:16 [opt] - frame #44: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] - frame #45: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] - frame #46: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] - frame #47: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] - frame #48: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] - frame #49: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x000000014ba2d8a0, cx=) at core.rs:317:30 [opt] - frame #50: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] - frame #51: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000600000b60410, (null)=) at unwind_safe.rs:271:9 [opt] - frame #52: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] - frame #53: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] - frame #54: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] - frame #55: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x000000014ba2d8a0, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #56: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] - frame #57: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] - frame #58: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] - frame #59: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] - frame #60: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x0000600000b60600) at pool.rs:159:9 [opt] - frame #61: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] - frame #62: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] - frame #63: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016ccf6f30) at backtrace.rs:154:18 [opt] - frame #64: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] - frame #65: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] - frame #66: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] - frame #67: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] - frame #68: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] - frame #69: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] - frame #70: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a105c0, (null)=) at function.rs:250:5 [opt] - frame #71: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] - frame #72: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] - frame #73: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] - frame #74: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 - thread #10, name = 'tokio-runtime-worker' - frame #0: 0x000000018c118908 libsystem_kernel.dylib`swtch_pri + 8 - frame #1: 0x000000018c155ed8 libsystem_pthread.dylib`cthread_yield + 32 - frame #2: 0x00000001051b76c8 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::thread_parker::imp::thread_yield::h227973beb6a1850c at unix.rs:255:5 [opt] - frame #3: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::spinwait::SpinWait::spin::h5cfc83bbc083ea7f(self=) at spinwait.rs:56:13 [opt] - frame #4: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 at raw_rwlock.rs:1078:65 [opt] - frame #5: 0x00000001051b7360 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5(self=0x0000600003418010, recursive=, timeout=) at raw_rwlock.rs:719:9 [opt] - frame #6: 0x0000000104e95d44 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_shared::h75e69a78909e2622(self=0x0000600003418010) at raw_rwlock.rs:109:26 [opt] - frame #7: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at rwlock.rs:459:9 [opt] - frame #8: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::_$u7b$$u7b$closure$u7d$$u7d$::h72b3d81d214d5c52 at torrent_state.rs:533:59 [opt] - frame #9: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:332:9 [opt] - frame #10: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::ha7825068a8338bac(self=, reason=&str @ 0x0000600000b66e30) at torrent_state.rs:533:29 [opt] - frame #11: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1119:20 [opt] - frame #12: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] - frame #13: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] - frame #14: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] - frame #15: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] - frame #16: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] - frame #17: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014c033220, cx=Context @ 0x000000016d31a508) at core.rs:317:30 [opt] - frame #18: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] - frame #19: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x0000600000b67000, (null)=) at unwind_safe.rs:271:9 [opt] - frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] - frame #21: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] - frame #22: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] - frame #23: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014c033220, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #24: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] - frame #25: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] - frame #26: 0x00000001050b0828 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] - frame #27: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] - frame #28: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::scheduler::multi_thread::worker::Context::run_task::_$u7b$$u7b$closure$u7d$$u7d$::hdead63aea4a59933 at worker.rs:577:18 [opt] - frame #29: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] - frame #30: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x0000600000b608f0) at coop.rs:73:5 [opt] - frame #31: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016d31abf0, task=Notified> @ scalar, core=) at worker.rs:576:9 [opt] - frame #32: 0x00000001050b014c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016d31abf0, core=0x0000600002c08230) at worker.rs:0 [opt] - frame #33: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] - frame #34: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014d820e38, t=, f=) at scoped.rs:40:9 [opt] - frame #35: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] - frame #36: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] - frame #37: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] - frame #38: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016d31abe8, f={closure_env#0} @ 0x0000600000b672d0) at context.rs:176:17 [opt] - frame #39: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] - frame #40: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x0000600000b673b0) at runtime.rs:65:16 [opt] - frame #41: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] - frame #42: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] - frame #43: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] - frame #44: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] - frame #45: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] - frame #46: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x000000014bd0faa0, cx=) at core.rs:317:30 [opt] - frame #47: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] - frame #48: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000600000b67560, (null)=) at unwind_safe.rs:271:9 [opt] - frame #49: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] - frame #50: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] - frame #51: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] - frame #52: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x000000014bd0faa0, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #53: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] - frame #54: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] - frame #55: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] - frame #56: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] - frame #57: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x0000600000b67750) at pool.rs:159:9 [opt] - frame #58: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] - frame #59: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] - frame #60: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016d31af30) at backtrace.rs:154:18 [opt] - frame #61: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] - frame #62: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] - frame #63: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] - frame #64: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] - frame #65: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] - frame #66: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] - frame #67: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a15c40, (null)=) at function.rs:250:5 [opt] - frame #68: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] - frame #69: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] - frame #70: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] - frame #71: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 diff --git a/busy_2.txt b/busy_2.txt deleted file mode 100644 index 2a8b86e..0000000 --- a/busy_2.txt +++ /dev/null @@ -1,618 +0,0 @@ -(lldb) command script import "/Users/igor/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/etc/lldb_lookup.py" -(lldb) command source -s 0 '/Users/igor/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/etc/lldb_commands' -(lldb) type synthetic add -l lldb_lookup.synthetic_lookup -x ".*" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)String$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^&(mut )?str$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^&(mut )?\\[.+\\]$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(std::ffi::([a-z_]+::)+)OsString$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)Vec<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)VecDeque<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)BTreeSet<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)BTreeMap<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(std::collections::([a-z_]+::)+)HashMap<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(std::collections::([a-z_]+::)+)HashSet<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)Rc<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)Arc<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(core::([a-z_]+::)+)Cell<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(core::([a-z_]+::)+)Ref<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(core::([a-z_]+::)+)RefMut<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(core::([a-z_]+::)+)RefCell<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^core::num::([a-z_]+::)*NonZero.+$" --category Rust -(lldb) type category enable Rust -(lldb) process attach --pid 70468 -Process 70468 stopped -* thread #1, name = 'main', queue = 'com.apple.main-thread', stop reason = signal SIGSTOP - frame #0: 0x000000018c11c0ac libsystem_kernel.dylib`__psynch_cvwait + 8 -libsystem_kernel.dylib`: --> 0x18c11c0ac <+8>: b.lo 0x18c11c0cc ; <+40> - 0x18c11c0b0 <+12>: pacibsp - 0x18c11c0b4 <+16>: stp x29, x30, [sp, #-0x10]! - 0x18c11c0b8 <+20>: mov x29, sp -Target 0: (rqbit) stopped. -Executable module set to "/Users/igor/projects/2021-06-rust-qbittorrent/target/release/rqbit". -Architecture set to: arm64-apple-macosx-. -(lldb) bt all -(lldb) thread backtrace all - thread #2, name = 'tokio-runtime-worker' - frame #0: 0x00000001050f19fc rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e [inlined] std::sys::common::thread_local::fast_local::Key$LT$T$GT$::get::h18d95d4ca32d0834(self=, init={closure_env#0} @ 0x000060000328ff20) at fast_local.rs:0:13 [opt] - frame #1: 0x00000001050f19dc rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e [inlined] parking_lot_core::parking_lot::with_thread_data::THREAD_DATA::__getit::h50f1aae5bcdf1454(init=Option<&mut core::option::Option> @ 0x000060000328ffd0) at fast_local.rs:91:21 [opt] - frame #2: 0x00000001050f19dc rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e [inlined] std::thread::local::LocalKey$LT$T$GT$::try_with::h4dd06b279f18bb4e(self=, f=) at local.rs:269:32 [opt] - frame #3: 0x00000001050f19dc rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e at parking_lot.rs:203:27 [opt] - frame #4: 0x00000001050f19d8 rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e(key=105553170890769) at parking_lot.rs:1231:9 [opt] - frame #5: 0x0000000104e95b20 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] parking_lot_core::parking_lot::deadlock::release_resource::hb76fc449fd876904 at parking_lot.rs:1130:9 [opt] - frame #6: 0x0000000104e95b18 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] parking_lot::raw_rwlock::RawRwLock::deadlock_release::h9a0f2addf3cf5a39 at raw_rwlock.rs:1147:18 [opt] - frame #7: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::unlock_shared::hea004debead67c32(self=) at raw_rwlock.rs:130:14 [opt] - frame #8: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$lock_api..rwlock..RwLockReadGuard$LT$R$C$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$::drop::h0fa0333e78a156b7(self=) at rwlock.rs:1372:13 [opt] - frame #9: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] core::ptr::drop_in_place$LT$lock_api..rwlock..RwLockReadGuard$LT$parking_lot..raw_rwlock..RawRwLock$C$librqbit..torrent_state..TorrentStateLocked$GT$$GT$::h37e2eada005d8e1e((null)=) at mod.rs:497:1 [opt] - frame #10: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] core::ptr::drop_in_place$LT$librqbit..torrent_state..timed_existence..TimedExistence$LT$lock_api..rwlock..RwLockReadGuard$LT$parking_lot..raw_rwlock..RawRwLock$C$librqbit..torrent_state..TorrentStateLocked$GT$$GT$$GT$::h0cbca05e47c1d35d((null)=) at mod.rs:497:1 [opt] - frame #11: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1123:48 [opt] - frame #12: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] - frame #13: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] - frame #14: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] - frame #15: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] - frame #16: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] - frame #17: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014c03aa20, cx=Context @ 0x000000016b2c2508) at core.rs:317:30 [opt] - frame #18: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] - frame #19: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x000060000329f370, (null)=) at unwind_safe.rs:271:9 [opt] - frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] - frame #21: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] - frame #22: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] - frame #23: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014c03aa20, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #24: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] - frame #25: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] - frame #26: 0x00000001050b0828 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] - frame #27: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] - frame #28: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::scheduler::multi_thread::worker::Context::run_task::_$u7b$$u7b$closure$u7d$$u7d$::hdead63aea4a59933 at worker.rs:577:18 [opt] - frame #29: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] - frame #30: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x0000600003294b10) at coop.rs:73:5 [opt] - frame #31: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016b2c2bf0, task=Notified> @ scalar, core=) at worker.rs:576:9 [opt] - frame #32: 0x00000001050b014c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016b2c2bf0, core=0x0000600002c09360) at worker.rs:0 [opt] - frame #33: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] - frame #34: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014a008238, t=, f=) at scoped.rs:40:9 [opt] - frame #35: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] - frame #36: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] - frame #37: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] - frame #38: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016b2c2be8, f={closure_env#0} @ 0x00006000032ef800) at context.rs:176:17 [opt] - frame #39: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] - frame #40: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x00006000032ef880) at runtime.rs:65:16 [opt] - frame #41: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] - frame #42: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] - frame #43: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] - frame #44: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] - frame #45: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] - frame #46: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x000000014bd287a0, cx=) at core.rs:317:30 [opt] - frame #47: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] - frame #48: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x00006000032e9b90, (null)=) at unwind_safe.rs:271:9 [opt] - frame #49: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] - frame #50: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] - frame #51: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] - frame #52: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x000000014bd287a0, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #53: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] - frame #54: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] - frame #55: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] - frame #56: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] - frame #57: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x00006000032e1dc0) at pool.rs:159:9 [opt] - frame #58: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] - frame #59: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] - frame #60: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016b2c2f30) at backtrace.rs:154:18 [opt] - frame #61: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] - frame #62: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] - frame #63: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] - frame #64: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] - frame #65: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] - frame #66: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] - frame #67: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a0c700, (null)=) at function.rs:250:5 [opt] - frame #68: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] - frame #69: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] - frame #70: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] - frame #71: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 - thread #3, name = 'tokio-runtime-worker' - frame #0: 0x000000018c118908 libsystem_kernel.dylib`swtch_pri + 8 - frame #1: 0x000000018c155ed8 libsystem_pthread.dylib`cthread_yield + 32 - frame #2: 0x00000001051b76c8 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::thread_parker::imp::thread_yield::h227973beb6a1850c at unix.rs:255:5 [opt] - frame #3: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::spinwait::SpinWait::spin::h5cfc83bbc083ea7f(self=) at spinwait.rs:56:13 [opt] - frame #4: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 at raw_rwlock.rs:1078:65 [opt] - frame #5: 0x00000001051b7360 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5(self=0x0000600003418010, recursive=, timeout=) at raw_rwlock.rs:719:9 [opt] - frame #6: 0x0000000104e95d44 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_shared::h75e69a78909e2622(self=0x0000600003418010) at raw_rwlock.rs:109:26 [opt] - frame #7: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at rwlock.rs:459:9 [opt] - frame #8: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::_$u7b$$u7b$closure$u7d$$u7d$::h72b3d81d214d5c52 at torrent_state.rs:533:59 [opt] - frame #9: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:332:9 [opt] - frame #10: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::ha7825068a8338bac(self=, reason=&str @ 0x00006000032ea730) at torrent_state.rs:533:29 [opt] - frame #11: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1119:20 [opt] - frame #12: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] - frame #13: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] - frame #14: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] - frame #15: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] - frame #16: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] - frame #17: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014d105a20, cx=Context @ 0x000000016b4ce508) at core.rs:317:30 [opt] - frame #18: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] - frame #19: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x00006000032ea990, (null)=) at unwind_safe.rs:271:9 [opt] - frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] - frame #21: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] - frame #22: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] - frame #23: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014d105a20, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #24: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] - frame #25: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] - frame #26: 0x00000001050b0894 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] - frame #27: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] - frame #28: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at worker.rs:640:22 [opt] - frame #29: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] - frame #30: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x00006000032a59c0) at coop.rs:73:5 [opt] - frame #31: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016b4cebf0, task=, core=) at worker.rs:576:9 [opt] - frame #32: 0x00000001050b02dc rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016b4cebf0, core=0x0000600002c085a0) at worker.rs:0 [opt] - frame #33: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] - frame #34: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014a808238, t=, f=) at scoped.rs:40:9 [opt] - frame #35: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] - frame #36: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] - frame #37: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] - frame #38: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016b4cebe8, f={closure_env#0} @ 0x00006000032eac90) at context.rs:176:17 [opt] - frame #39: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] - frame #40: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x00006000032ead70) at runtime.rs:65:16 [opt] - frame #41: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] - frame #42: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] - frame #43: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] - frame #44: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] - frame #45: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] - frame #46: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x0000000149611ca0, cx=) at core.rs:317:30 [opt] - frame #47: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] - frame #48: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x00006000032eaf20, (null)=) at unwind_safe.rs:271:9 [opt] - frame #49: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] - frame #50: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] - frame #51: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] - frame #52: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x0000000149611ca0, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #53: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] - frame #54: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] - frame #55: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] - frame #56: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] - frame #57: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x00006000032eb110) at pool.rs:159:9 [opt] - frame #58: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] - frame #59: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] - frame #60: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016b4cef30) at backtrace.rs:154:18 [opt] - frame #61: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] - frame #62: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] - frame #63: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] - frame #64: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] - frame #65: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] - frame #66: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] - frame #67: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a0ccc0, (null)=) at function.rs:250:5 [opt] - frame #68: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] - frame #69: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] - frame #70: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] - frame #71: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 - thread #4, name = 'tokio-runtime-worker' - frame #0: 0x00000001051b7430 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] core::cmp::impls::_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$u32$GT$::lt::h0cf347e128ffe5f6 at cmp.rs:1535:5 [opt] - frame #1: 0x00000001051b7430 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] _$LT$core..ops..range..Range$LT$T$GT$$u20$as$u20$core..iter..range..RangeIteratorImpl$GT$::spec_next::h5bf236fbdea6feaf at range.rs:729:12 [opt] - frame #2: 0x00000001051b7430 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] core::iter::range::_$LT$impl$u20$core..iter..traits..iterator..Iterator$u20$for$u20$core..ops..range..Range$LT$A$GT$$GT$::next::hcdb7bde5285cb558 at range.rs:820:14 [opt] - frame #3: 0x00000001051b7430 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 at spinwait.rs:15:14 [opt] - frame #4: 0x00000001051b742c rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::spinwait::SpinWait::spin_no_yield::h26a2f733908044f7 at spinwait.rs:72:9 [opt] - frame #5: 0x00000001051b7420 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 at raw_rwlock.rs:715:33 [opt] - frame #6: 0x00000001051b73a8 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 at raw_rwlock.rs:1073:16 [opt] - frame #7: 0x00000001051b7360 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5(self=0x0000600003418010, recursive=, timeout=) at raw_rwlock.rs:719:9 [opt] - frame #8: 0x0000000104e95d44 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_shared::h75e69a78909e2622(self=0x0000600003418010) at raw_rwlock.rs:109:26 [opt] - frame #9: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at rwlock.rs:459:9 [opt] - frame #10: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::_$u7b$$u7b$closure$u7d$$u7d$::h72b3d81d214d5c52 at torrent_state.rs:533:59 [opt] - frame #11: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:332:9 [opt] - frame #12: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::ha7825068a8338bac(self=, reason=&str @ 0x00006000032e2a50) at torrent_state.rs:533:29 [opt] - frame #13: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1119:20 [opt] - frame #14: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] - frame #15: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] - frame #16: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] - frame #17: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] - frame #18: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] - frame #19: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014a80c020, cx=Context @ 0x000000016b6da508) at core.rs:317:30 [opt] - frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] - frame #21: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x00006000032eb2d0, (null)=) at unwind_safe.rs:271:9 [opt] - frame #22: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] - frame #23: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] - frame #24: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] - frame #25: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014a80c020, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #26: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] - frame #27: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] - frame #28: 0x00000001050b0828 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] - frame #29: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] - frame #30: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::scheduler::multi_thread::worker::Context::run_task::_$u7b$$u7b$closure$u7d$$u7d$::hdead63aea4a59933 at worker.rs:577:18 [opt] - frame #31: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] - frame #32: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x00006000032eb4d0) at coop.rs:73:5 [opt] - frame #33: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016b6dabf0, task=Notified> @ scalar, core=) at worker.rs:576:9 [opt] - frame #34: 0x00000001050b014c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016b6dabf0, core=0x0000600002c08460) at worker.rs:0 [opt] - frame #35: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] - frame #36: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014b008238, t=, f=) at scoped.rs:40:9 [opt] - frame #37: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] - frame #38: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] - frame #39: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] - frame #40: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016b6dabe8, f={closure_env#0} @ 0x00006000032e2d20) at context.rs:176:17 [opt] - frame #41: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] - frame #42: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x00006000032e2e00) at runtime.rs:65:16 [opt] - frame #43: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] - frame #44: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] - frame #45: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] - frame #46: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] - frame #47: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] - frame #48: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x000000014b9122a0, cx=) at core.rs:317:30 [opt] - frame #49: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] - frame #50: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x00006000032e2fb0, (null)=) at unwind_safe.rs:271:9 [opt] - frame #51: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] - frame #52: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] - frame #53: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] - frame #54: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x000000014b9122a0, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #55: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] - frame #56: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] - frame #57: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] - frame #58: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] - frame #59: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x00006000032eb6f0) at pool.rs:159:9 [opt] - frame #60: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] - frame #61: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] - frame #62: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016b6daf30) at backtrace.rs:154:18 [opt] - frame #63: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] - frame #64: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] - frame #65: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] - frame #66: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] - frame #67: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] - frame #68: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] - frame #69: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a0c880, (null)=) at function.rs:250:5 [opt] - frame #70: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] - frame #71: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] - frame #72: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] - frame #73: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 - thread #5, name = 'tokio-runtime-worker' - frame #0: 0x0000000104e95ac8 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] core::sync::atomic::atomic_compare_exchange_weak::hb499d92b8580d344(dst=0x0000600003418010, old=32, new=, success=Acquire, failure=Relaxed) at atomic.rs:3297:35 [opt] - frame #1: 0x0000000104e95ac0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at atomic.rs:3148:1 [opt] - frame #2: 0x0000000104e95ac0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at raw_rwlock.rs:531:18 [opt] - frame #3: 0x0000000104e95ab0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_shared::h75e69a78909e2622(self=0x0000600003418010) at raw_rwlock.rs:108:13 [opt] - frame #4: 0x0000000104e95ab0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at rwlock.rs:459:9 [opt] - frame #5: 0x0000000104e95ab0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::_$u7b$$u7b$closure$u7d$$u7d$::h72b3d81d214d5c52 at torrent_state.rs:533:59 [opt] - frame #6: 0x0000000104e95aa8 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:332:9 [opt] - frame #7: 0x0000000104e95aa8 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::ha7825068a8338bac(self=, reason=&str @ 0x00006000032925b0) at torrent_state.rs:533:29 [opt] - frame #8: 0x0000000104e95aa8 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1119:20 [opt] - frame #9: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] - frame #10: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] - frame #11: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] - frame #12: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] - frame #13: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] - frame #14: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014c813020, cx=Context @ 0x000000016b8e6508) at core.rs:317:30 [opt] - frame #15: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] - frame #16: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x0000600003292820, (null)=) at unwind_safe.rs:271:9 [opt] - frame #17: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] - frame #18: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] - frame #19: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] - frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014c813020, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #21: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] - frame #22: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] - frame #23: 0x00000001050b0828 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] - frame #24: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] - frame #25: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::scheduler::multi_thread::worker::Context::run_task::_$u7b$$u7b$closure$u7d$$u7d$::hdead63aea4a59933 at worker.rs:577:18 [opt] - frame #26: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] - frame #27: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x00006000032e30a0) at coop.rs:73:5 [opt] - frame #28: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016b8e6bf0, task=Notified> @ scalar, core=) at worker.rs:576:9 [opt] - frame #29: 0x00000001050b014c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016b8e6bf0, core=0x0000600002c08550) at worker.rs:0 [opt] - frame #30: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] - frame #31: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014a808838, t=, f=) at scoped.rs:40:9 [opt] - frame #32: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] - frame #33: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] - frame #34: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] - frame #35: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016b8e6be8, f={closure_env#0} @ 0x00006000032e3240) at context.rs:176:17 [opt] - frame #36: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] - frame #37: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x00006000032e3320) at runtime.rs:65:16 [opt] - frame #38: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] - frame #39: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] - frame #40: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] - frame #41: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] - frame #42: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] - frame #43: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x0000000149705a20, cx=) at core.rs:317:30 [opt] - frame #44: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] - frame #45: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x00006000032e34d0, (null)=) at unwind_safe.rs:271:9 [opt] - frame #46: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] - frame #47: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] - frame #48: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] - frame #49: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x0000000149705a20, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #50: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] - frame #51: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] - frame #52: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] - frame #53: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] - frame #54: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x00006000032e36c0) at pool.rs:159:9 [opt] - frame #55: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] - frame #56: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] - frame #57: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016b8e6f30) at backtrace.rs:154:18 [opt] - frame #58: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] - frame #59: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] - frame #60: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] - frame #61: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] - frame #62: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] - frame #63: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] - frame #64: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a0c580, (null)=) at function.rs:250:5 [opt] - frame #65: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] - frame #66: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] - frame #67: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] - frame #68: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 - thread #6, name = 'tokio-runtime-worker' - frame #0: 0x00000001051b742c rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] _$LT$core..core_arch..arm_shared..barrier..common..SY$u20$as$u20$core..core_arch..arm_shared..sealed..Isb$GT$::__isb::hb98a90f157159531(self=) at common.rs:12:9 [opt] - frame #1: 0x00000001051b742c rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] core::core_arch::arm_shared::barrier::__isb::hc9ac4c0a75d7d259(arg=) at mod.rs:122:5 [opt] - frame #2: 0x00000001051b742c rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] core::hint::spin_loop::h78af93d76e7ab5ec at hint.rs:191:18 [opt] - frame #3: 0x00000001051b742c rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 at spinwait.rs:16:9 [opt] - frame #4: 0x00000001051b742c rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::spinwait::SpinWait::spin_no_yield::h26a2f733908044f7 at spinwait.rs:72:9 [opt] - frame #5: 0x00000001051b7420 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 at raw_rwlock.rs:715:33 [opt] - frame #6: 0x00000001051b73a8 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 at raw_rwlock.rs:1073:16 [opt] - frame #7: 0x00000001051b7360 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5(self=0x0000600003418010, recursive=, timeout=) at raw_rwlock.rs:719:9 [opt] - frame #8: 0x0000000104e95d44 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_shared::h75e69a78909e2622(self=0x0000600003418010) at raw_rwlock.rs:109:26 [opt] - frame #9: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at rwlock.rs:459:9 [opt] - frame #10: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::_$u7b$$u7b$closure$u7d$$u7d$::h72b3d81d214d5c52 at torrent_state.rs:533:59 [opt] - frame #11: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:332:9 [opt] - frame #12: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::ha7825068a8338bac(self=, reason=&str @ 0x00006000032eb990) at torrent_state.rs:533:29 [opt] - frame #13: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1119:20 [opt] - frame #14: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] - frame #15: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] - frame #16: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] - frame #17: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] - frame #18: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] - frame #19: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014d82ec20, cx=Context @ 0x000000016baf2508) at core.rs:317:30 [opt] - frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] - frame #21: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x00006000032e3ab0, (null)=) at unwind_safe.rs:271:9 [opt] - frame #22: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] - frame #23: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] - frame #24: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] - frame #25: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014d82ec20, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #26: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] - frame #27: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] - frame #28: 0x00000001050b0894 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] - frame #29: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] - frame #30: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at worker.rs:640:22 [opt] - frame #31: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] - frame #32: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x00006000032e3c60) at coop.rs:73:5 [opt] - frame #33: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016baf2bf0, task=, core=) at worker.rs:576:9 [opt] - frame #34: 0x00000001050b014c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016baf2bf0, core=0x0000600002c085f0) at worker.rs:0 [opt] - frame #35: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] - frame #36: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014a008838, t=, f=) at scoped.rs:40:9 [opt] - frame #37: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] - frame #38: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] - frame #39: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] - frame #40: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016baf2be8, f={closure_env#0} @ 0x00006000032e3e90) at context.rs:176:17 [opt] - frame #41: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] - frame #42: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x00006000032e3f70) at runtime.rs:65:16 [opt] - frame #43: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] - frame #44: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] - frame #45: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] - frame #46: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] - frame #47: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] - frame #48: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x00000001497085a0, cx=) at core.rs:317:30 [opt] - frame #49: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] - frame #50: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x00006000032ebb80, (null)=) at unwind_safe.rs:271:9 [opt] - frame #51: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] - frame #52: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] - frame #53: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] - frame #54: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x00000001497085a0, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #55: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] - frame #56: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] - frame #57: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] - frame #58: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] - frame #59: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x00006000032ebd70) at pool.rs:159:9 [opt] - frame #60: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] - frame #61: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] - frame #62: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016baf2f30) at backtrace.rs:154:18 [opt] - frame #63: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] - frame #64: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] - frame #65: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] - frame #66: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] - frame #67: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] - frame #68: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] - frame #69: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a0cc40, (null)=) at function.rs:250:5 [opt] - frame #70: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] - frame #71: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] - frame #72: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] - frame #73: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 - thread #7, name = 'tokio-runtime-worker' - frame #0: 0x0000000104e95ad0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at parking_lot.rs:1114:9 [opt] - frame #1: 0x0000000104e95ad0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] parking_lot::raw_rwlock::RawRwLock::deadlock_acquire::h6d2ed16f2cf77845 at raw_rwlock.rs:1140:18 [opt] - frame #2: 0x0000000104e95ad0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_shared::h75e69a78909e2622(self=0x0000600003418010) at raw_rwlock.rs:112:14 [opt] - frame #3: 0x0000000104e95ab0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at rwlock.rs:459:9 [opt] - frame #4: 0x0000000104e95ab0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::_$u7b$$u7b$closure$u7d$$u7d$::h72b3d81d214d5c52 at torrent_state.rs:533:59 [opt] - frame #5: 0x0000000104e95aa8 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:332:9 [opt] - frame #6: 0x0000000104e95aa8 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::ha7825068a8338bac(self=, reason=&str @ 0x00006000032a5c00) at torrent_state.rs:533:29 [opt] - frame #7: 0x0000000104e95aa8 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1119:20 [opt] - frame #8: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] - frame #9: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] - frame #10: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] - frame #11: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] - frame #12: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] - frame #13: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014a02f220, cx=Context @ 0x000000016bf0a508) at core.rs:317:30 [opt] - frame #14: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] - frame #15: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x0000600003292a50, (null)=) at unwind_safe.rs:271:9 [opt] - frame #16: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] - frame #17: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] - frame #18: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] - frame #19: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014a02f220, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] - frame #21: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] - frame #22: 0x00000001050b0894 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] - frame #23: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] - frame #24: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at worker.rs:640:22 [opt] - frame #25: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] - frame #26: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x0000600003292c40) at coop.rs:73:5 [opt] - frame #27: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016bf0abf0, task=, core=) at worker.rs:576:9 [opt] - frame #28: 0x00000001050b014c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016bf0abf0, core=0x0000600002c08690) at worker.rs:0 [opt] - frame #29: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] - frame #30: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014b008e38, t=, f=) at scoped.rs:40:9 [opt] - frame #31: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] - frame #32: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] - frame #33: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] - frame #34: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016bf0abe8, f={closure_env#0} @ 0x00006000032f8060) at context.rs:176:17 [opt] - frame #35: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] - frame #36: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x00006000032f8140) at runtime.rs:65:16 [opt] - frame #37: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] - frame #38: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] - frame #39: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] - frame #40: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] - frame #41: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] - frame #42: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x000000014bd1a120, cx=) at core.rs:317:30 [opt] - frame #43: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] - frame #44: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x00006000032f82f0, (null)=) at unwind_safe.rs:271:9 [opt] - frame #45: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] - frame #46: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] - frame #47: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] - frame #48: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x000000014bd1a120, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #49: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] - frame #50: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] - frame #51: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] - frame #52: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] - frame #53: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x00006000032f84e0) at pool.rs:159:9 [opt] - frame #54: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] - frame #55: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] - frame #56: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016bf0af30) at backtrace.rs:154:18 [opt] - frame #57: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] - frame #58: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] - frame #59: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] - frame #60: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] - frame #61: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] - frame #62: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] - frame #63: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a0ca40, (null)=) at function.rs:250:5 [opt] - frame #64: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] - frame #65: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] - frame #66: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] - frame #67: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 - thread #8 - frame #0: 0x000000018c11a564 libsystem_kernel.dylib`__workq_kernreturn + 8 - thread #9, name = 'tokio-runtime-worker' - frame #0: 0x000000018c160cc4 libdyld.dylib`tlv_get_addr + 20 - frame #1: 0x00000001050f19f0 rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e at option.rs:674:15 [opt] - frame #2: 0x00000001050f19dc rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e [inlined] std::sys::common::thread_local::lazy::LazyKeyInner$LT$T$GT$::get::h675e54a204ca8b72(self=) at mod.rs:46:42 [opt] - frame #3: 0x00000001050f19dc rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e [inlined] std::sys::common::thread_local::fast_local::Key$LT$T$GT$::get::h18d95d4ca32d0834(self=, init={closure_env#0} @ 0x00006000032f87e0) at fast_local.rs:171:19 [opt] - frame #4: 0x00000001050f19dc rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e [inlined] parking_lot_core::parking_lot::with_thread_data::THREAD_DATA::__getit::h50f1aae5bcdf1454(init=Option<&mut core::option::Option> @ 0x00006000032f8870) at fast_local.rs:91:21 [opt] - frame #5: 0x00000001050f19dc rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e [inlined] std::thread::local::LocalKey$LT$T$GT$::try_with::h4dd06b279f18bb4e(self=, f=) at local.rs:269:32 [opt] - frame #6: 0x00000001050f19dc rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e at parking_lot.rs:203:27 [opt] - frame #7: 0x00000001050f19d8 rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e(key=105553170890768) at parking_lot.rs:1231:9 [opt] - frame #8: 0x0000000104e95b18 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] parking_lot_core::parking_lot::deadlock::release_resource::hb76fc449fd876904 at parking_lot.rs:1130:9 [opt] - frame #9: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] parking_lot::raw_rwlock::RawRwLock::deadlock_release::h9a0f2addf3cf5a39 at raw_rwlock.rs:1146:18 [opt] - frame #10: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::unlock_shared::hea004debead67c32(self=) at raw_rwlock.rs:130:14 [opt] - frame #11: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$lock_api..rwlock..RwLockReadGuard$LT$R$C$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$::drop::h0fa0333e78a156b7(self=) at rwlock.rs:1372:13 [opt] - frame #12: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] core::ptr::drop_in_place$LT$lock_api..rwlock..RwLockReadGuard$LT$parking_lot..raw_rwlock..RawRwLock$C$librqbit..torrent_state..TorrentStateLocked$GT$$GT$::h37e2eada005d8e1e((null)=) at mod.rs:497:1 [opt] - frame #13: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] core::ptr::drop_in_place$LT$librqbit..torrent_state..timed_existence..TimedExistence$LT$lock_api..rwlock..RwLockReadGuard$LT$parking_lot..raw_rwlock..RawRwLock$C$librqbit..torrent_state..TorrentStateLocked$GT$$GT$$GT$::h0cbca05e47c1d35d((null)=) at mod.rs:497:1 [opt] - frame #14: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1123:48 [opt] - frame #15: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] - frame #16: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] - frame #17: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] - frame #18: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] - frame #19: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] - frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014d0ab220, cx=Context @ 0x000000016ccf6508) at core.rs:317:30 [opt] - frame #21: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] - frame #22: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x00006000032a5e70, (null)=) at unwind_safe.rs:271:9 [opt] - frame #23: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] - frame #24: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] - frame #25: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] - frame #26: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014d0ab220, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #27: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] - frame #28: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] - frame #29: 0x00000001050b0894 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] - frame #30: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] - frame #31: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at worker.rs:640:22 [opt] - frame #32: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] - frame #33: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x00006000032e4120) at coop.rs:73:5 [opt] - frame #34: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016ccf6bf0, task=, core=) at worker.rs:576:9 [opt] - frame #35: 0x00000001050b02dc rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016ccf6bf0, core=0x0000600002c08640) at worker.rs:0 [opt] - frame #36: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] - frame #37: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014c840838, t=, f=) at scoped.rs:40:9 [opt] - frame #38: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] - frame #39: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] - frame #40: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] - frame #41: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016ccf6be8, f={closure_env#0} @ 0x00006000032e4350) at context.rs:176:17 [opt] - frame #42: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] - frame #43: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x00006000032e4430) at runtime.rs:65:16 [opt] - frame #44: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] - frame #45: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] - frame #46: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] - frame #47: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] - frame #48: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] - frame #49: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x000000014ba2d8a0, cx=) at core.rs:317:30 [opt] - frame #50: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] - frame #51: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x00006000032e45e0, (null)=) at unwind_safe.rs:271:9 [opt] - frame #52: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] - frame #53: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] - frame #54: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] - frame #55: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x000000014ba2d8a0, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #56: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] - frame #57: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] - frame #58: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] - frame #59: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] - frame #60: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x00006000032e47d0) at pool.rs:159:9 [opt] - frame #61: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] - frame #62: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] - frame #63: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016ccf6f30) at backtrace.rs:154:18 [opt] - frame #64: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] - frame #65: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] - frame #66: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] - frame #67: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] - frame #68: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] - frame #69: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] - frame #70: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a105c0, (null)=) at function.rs:250:5 [opt] - frame #71: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] - frame #72: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] - frame #73: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] - frame #74: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 - thread #10, name = 'tokio-runtime-worker' - frame #0: 0x0000000104e95ab0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] core::sync::atomic::atomic_load::hf120a370de74ca2a(dst=0x0000600003418010, order=Relaxed) at atomic.rs:3187:24 [opt] - frame #1: 0x0000000104e95ab0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at atomic.rs:3148:1 [opt] - frame #2: 0x0000000104e95ab0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] parking_lot::raw_rwlock::RawRwLock::try_lock_shared_fast::hbc23fc918fc25738(self=0x0000600003418010, recursive=false) at raw_rwlock.rs:509:32 [opt] - frame #3: 0x0000000104e95ab0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_shared::h75e69a78909e2622(self=0x0000600003418010) at raw_rwlock.rs:108:13 [opt] - frame #4: 0x0000000104e95ab0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at rwlock.rs:459:9 [opt] - frame #5: 0x0000000104e95ab0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::_$u7b$$u7b$closure$u7d$$u7d$::h72b3d81d214d5c52 at torrent_state.rs:533:59 [opt] - frame #6: 0x0000000104e95aa8 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:332:9 [opt] - frame #7: 0x0000000104e95aa8 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::ha7825068a8338bac(self=0x000000014ba04290, reason=&str @ 0x00006000032e4b40) at torrent_state.rs:533:29 [opt] - frame #8: 0x0000000104e95aa8 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1119:20 [opt] - frame #9: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] - frame #10: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] - frame #11: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] - frame #12: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] - frame #13: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] - frame #14: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014c033220, cx=Context @ 0x000000016d31a508) at core.rs:317:30 [opt] - frame #15: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] - frame #16: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x00006000032f89b0, (null)=) at unwind_safe.rs:271:9 [opt] - frame #17: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] - frame #18: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] - frame #19: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] - frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014c033220, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #21: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] - frame #22: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] - frame #23: 0x00000001050b0828 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] - frame #24: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] - frame #25: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::scheduler::multi_thread::worker::Context::run_task::_$u7b$$u7b$closure$u7d$$u7d$::hdead63aea4a59933 at worker.rs:577:18 [opt] - frame #26: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] - frame #27: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x00006000032f8bb0) at coop.rs:73:5 [opt] - frame #28: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016d31abf0, task=Notified> @ scalar, core=) at worker.rs:576:9 [opt] - frame #29: 0x00000001050b014c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016d31abf0, core=0x0000600002c08230) at worker.rs:0 [opt] - frame #30: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] - frame #31: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014d820e38, t=, f=) at scoped.rs:40:9 [opt] - frame #32: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] - frame #33: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] - frame #34: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] - frame #35: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016d31abe8, f={closure_env#0} @ 0x00006000032e4e10) at context.rs:176:17 [opt] - frame #36: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] - frame #37: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x00006000032e4ef0) at runtime.rs:65:16 [opt] - frame #38: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] - frame #39: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] - frame #40: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] - frame #41: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] - frame #42: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] - frame #43: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x000000014bd0faa0, cx=) at core.rs:317:30 [opt] - frame #44: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] - frame #45: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x00006000032e50a0, (null)=) at unwind_safe.rs:271:9 [opt] - frame #46: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] - frame #47: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] - frame #48: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] - frame #49: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x000000014bd0faa0, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #50: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] - frame #51: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] - frame #52: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] - frame #53: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] - frame #54: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x00006000032e5290) at pool.rs:159:9 [opt] - frame #55: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] - frame #56: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] - frame #57: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016d31af30) at backtrace.rs:154:18 [opt] - frame #58: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] - frame #59: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] - frame #60: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] - frame #61: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] - frame #62: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] - frame #63: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] - frame #64: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a15c40, (null)=) at function.rs:250:5 [opt] - frame #65: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] - frame #66: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] - frame #67: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] - frame #68: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 diff --git a/busy_deadlocked.txt b/busy_deadlocked.txt deleted file mode 100644 index 9b917ee..0000000 --- a/busy_deadlocked.txt +++ /dev/null @@ -1,622 +0,0 @@ -(lldb) command script import "/Users/igor/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/etc/lldb_lookup.py" -(lldb) command source -s 0 '/Users/igor/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/etc/lldb_commands' -(lldb) type synthetic add -l lldb_lookup.synthetic_lookup -x ".*" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)String$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^&(mut )?str$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^&(mut )?\\[.+\\]$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(std::ffi::([a-z_]+::)+)OsString$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)Vec<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)VecDeque<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)BTreeSet<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)BTreeMap<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(std::collections::([a-z_]+::)+)HashMap<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(std::collections::([a-z_]+::)+)HashSet<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)Rc<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)Arc<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(core::([a-z_]+::)+)Cell<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(core::([a-z_]+::)+)Ref<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(core::([a-z_]+::)+)RefMut<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(core::([a-z_]+::)+)RefCell<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^core::num::([a-z_]+::)*NonZero.+$" --category Rust -(lldb) type category enable Rust -(lldb) process attach --pid 70468 -Process 70468 stopped -* thread #1, name = 'main', queue = 'com.apple.main-thread', stop reason = signal SIGSTOP - frame #0: 0x000000018c11c0ac libsystem_kernel.dylib`__psynch_cvwait + 8 -libsystem_kernel.dylib`: --> 0x18c11c0ac <+8>: b.lo 0x18c11c0cc ; <+40> - 0x18c11c0b0 <+12>: pacibsp - 0x18c11c0b4 <+16>: stp x29, x30, [sp, #-0x10]! - 0x18c11c0b8 <+20>: mov x29, sp -Target 0: (rqbit) stopped. -Executable module set to "/Users/igor/projects/2021-06-rust-qbittorrent/target/release/rqbit". -Architecture set to: arm64-apple-macosx-. -(lldb) bt all -(lldb) thread backtrace all - thread #2, name = 'tokio-runtime-worker' - frame #0: 0x000000018c118908 libsystem_kernel.dylib`swtch_pri + 8 - frame #1: 0x000000018c155ed8 libsystem_pthread.dylib`cthread_yield + 32 - frame #2: 0x00000001051b76c8 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::thread_parker::imp::thread_yield::h227973beb6a1850c at unix.rs:255:5 [opt] - frame #3: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::spinwait::SpinWait::spin::h5cfc83bbc083ea7f(self=) at spinwait.rs:56:13 [opt] - frame #4: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 at raw_rwlock.rs:1078:65 [opt] - frame #5: 0x00000001051b7360 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5(self=0x0000600003418010, recursive=, timeout=) at raw_rwlock.rs:719:9 [opt] - frame #6: 0x0000000104e95d44 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_shared::h75e69a78909e2622(self=0x0000600003418010) at raw_rwlock.rs:109:26 [opt] - frame #7: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at rwlock.rs:459:9 [opt] - frame #8: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::_$u7b$$u7b$closure$u7d$$u7d$::h72b3d81d214d5c52 at torrent_state.rs:533:59 [opt] - frame #9: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:332:9 [opt] - frame #10: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::ha7825068a8338bac(self=, reason=&str @ 0x0000600000cc7430) at torrent_state.rs:533:29 [opt] - frame #11: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1119:20 [opt] - frame #12: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] - frame #13: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] - frame #14: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] - frame #15: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] - frame #16: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] - frame #17: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014c03aa20, cx=Context @ 0x000000016b2c2508) at core.rs:317:30 [opt] - frame #18: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] - frame #19: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x0000600000ccfdf0, (null)=) at unwind_safe.rs:271:9 [opt] - frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] - frame #21: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] - frame #22: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] - frame #23: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014c03aa20, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #24: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] - frame #25: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] - frame #26: 0x00000001050b0828 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] - frame #27: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] - frame #28: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::scheduler::multi_thread::worker::Context::run_task::_$u7b$$u7b$closure$u7d$$u7d$::hdead63aea4a59933 at worker.rs:577:18 [opt] - frame #29: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] - frame #30: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x0000600000cc1810) at coop.rs:73:5 [opt] - frame #31: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016b2c2bf0, task=Notified> @ scalar, core=) at worker.rs:576:9 [opt] - frame #32: 0x00000001050b014c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016b2c2bf0, core=0x0000600002c09360) at worker.rs:0 [opt] - frame #33: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] - frame #34: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014a008238, t=, f=) at scoped.rs:40:9 [opt] - frame #35: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] - frame #36: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] - frame #37: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] - frame #38: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016b2c2be8, f={closure_env#0} @ 0x0000600000cb03b0) at context.rs:176:17 [opt] - frame #39: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] - frame #40: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x0000600000cb0430) at runtime.rs:65:16 [opt] - frame #41: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] - frame #42: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] - frame #43: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] - frame #44: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] - frame #45: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] - frame #46: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x000000014bd287a0, cx=) at core.rs:317:30 [opt] - frame #47: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] - frame #48: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000600000cb8030, (null)=) at unwind_safe.rs:271:9 [opt] - frame #49: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] - frame #50: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] - frame #51: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] - frame #52: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x000000014bd287a0, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #53: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] - frame #54: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] - frame #55: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] - frame #56: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] - frame #57: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x0000600000cb9f80) at pool.rs:159:9 [opt] - frame #58: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] - frame #59: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] - frame #60: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016b2c2f30) at backtrace.rs:154:18 [opt] - frame #61: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] - frame #62: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] - frame #63: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] - frame #64: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] - frame #65: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] - frame #66: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] - frame #67: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a0c700, (null)=) at function.rs:250:5 [opt] - frame #68: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] - frame #69: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] - frame #70: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] - frame #71: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 - thread #3, name = 'tokio-runtime-worker' - frame #0: 0x000000018c118908 libsystem_kernel.dylib`swtch_pri + 8 - frame #1: 0x000000018c155ed8 libsystem_pthread.dylib`cthread_yield + 32 - frame #2: 0x00000001051b76c8 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::thread_parker::imp::thread_yield::h227973beb6a1850c at unix.rs:255:5 [opt] - frame #3: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::spinwait::SpinWait::spin::h5cfc83bbc083ea7f(self=) at spinwait.rs:56:13 [opt] - frame #4: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 at raw_rwlock.rs:1078:65 [opt] - frame #5: 0x00000001051b7360 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5(self=0x0000600003418010, recursive=, timeout=) at raw_rwlock.rs:719:9 [opt] - frame #6: 0x0000000104e95d44 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_shared::h75e69a78909e2622(self=0x0000600003418010) at raw_rwlock.rs:109:26 [opt] - frame #7: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at rwlock.rs:459:9 [opt] - frame #8: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::_$u7b$$u7b$closure$u7d$$u7d$::h72b3d81d214d5c52 at torrent_state.rs:533:59 [opt] - frame #9: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:332:9 [opt] - frame #10: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::ha7825068a8338bac(self=, reason=&str @ 0x0000600000ced550) at torrent_state.rs:533:29 [opt] - frame #11: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1119:20 [opt] - frame #12: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] - frame #13: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] - frame #14: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] - frame #15: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] - frame #16: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] - frame #17: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014d105a20, cx=Context @ 0x000000016b4ce508) at core.rs:317:30 [opt] - frame #18: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] - frame #19: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x0000600000cbeb50, (null)=) at unwind_safe.rs:271:9 [opt] - frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] - frame #21: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] - frame #22: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] - frame #23: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014d105a20, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #24: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] - frame #25: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] - frame #26: 0x00000001050b0894 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] - frame #27: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] - frame #28: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at worker.rs:640:22 [opt] - frame #29: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] - frame #30: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x0000600000cbaa00) at coop.rs:73:5 [opt] - frame #31: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016b4cebf0, task=, core=) at worker.rs:576:9 [opt] - frame #32: 0x00000001050b02dc rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016b4cebf0, core=0x0000600002c085a0) at worker.rs:0 [opt] - frame #33: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] - frame #34: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014a808238, t=, f=) at scoped.rs:40:9 [opt] - frame #35: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] - frame #36: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] - frame #37: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] - frame #38: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016b4cebe8, f={closure_env#0} @ 0x0000600000cb11f0) at context.rs:176:17 [opt] - frame #39: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] - frame #40: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x0000600000cb12d0) at runtime.rs:65:16 [opt] - frame #41: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] - frame #42: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] - frame #43: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] - frame #44: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] - frame #45: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] - frame #46: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x0000000149611ca0, cx=) at core.rs:317:30 [opt] - frame #47: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] - frame #48: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000600000cb1480, (null)=) at unwind_safe.rs:271:9 [opt] - frame #49: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] - frame #50: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] - frame #51: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] - frame #52: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x0000000149611ca0, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #53: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] - frame #54: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] - frame #55: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] - frame #56: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] - frame #57: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x0000600000cb1670) at pool.rs:159:9 [opt] - frame #58: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] - frame #59: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] - frame #60: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016b4cef30) at backtrace.rs:154:18 [opt] - frame #61: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] - frame #62: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] - frame #63: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] - frame #64: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] - frame #65: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] - frame #66: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] - frame #67: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a0ccc0, (null)=) at function.rs:250:5 [opt] - frame #68: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] - frame #69: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] - frame #70: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] - frame #71: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 - thread #4, name = 'tokio-runtime-worker' - frame #0: 0x000000018c118908 libsystem_kernel.dylib`swtch_pri + 8 - frame #1: 0x000000018c155ed8 libsystem_pthread.dylib`cthread_yield + 32 - frame #2: 0x00000001051b76c8 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::thread_parker::imp::thread_yield::h227973beb6a1850c at unix.rs:255:5 [opt] - frame #3: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::spinwait::SpinWait::spin::h5cfc83bbc083ea7f(self=) at spinwait.rs:56:13 [opt] - frame #4: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 at raw_rwlock.rs:1078:65 [opt] - frame #5: 0x00000001051b7360 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5(self=0x0000600003418010, recursive=, timeout=) at raw_rwlock.rs:719:9 [opt] - frame #6: 0x0000000104e95d44 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_shared::h75e69a78909e2622(self=0x0000600003418010) at raw_rwlock.rs:109:26 [opt] - frame #7: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at rwlock.rs:459:9 [opt] - frame #8: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::_$u7b$$u7b$closure$u7d$$u7d$::h72b3d81d214d5c52 at torrent_state.rs:533:59 [opt] - frame #9: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:332:9 [opt] - frame #10: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::ha7825068a8338bac(self=, reason=&str @ 0x0000600000cb1820) at torrent_state.rs:533:29 [opt] - frame #11: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1119:20 [opt] - frame #12: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] - frame #13: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] - frame #14: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] - frame #15: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] - frame #16: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] - frame #17: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014a80c020, cx=Context @ 0x000000016b6da508) at core.rs:317:30 [opt] - frame #18: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] - frame #19: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x0000600000cb1a80, (null)=) at unwind_safe.rs:271:9 [opt] - frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] - frame #21: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] - frame #22: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] - frame #23: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014a80c020, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #24: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] - frame #25: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] - frame #26: 0x00000001050b0828 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] - frame #27: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] - frame #28: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::scheduler::multi_thread::worker::Context::run_task::_$u7b$$u7b$closure$u7d$$u7d$::hdead63aea4a59933 at worker.rs:577:18 [opt] - frame #29: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] - frame #30: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x0000600000cbeea0) at coop.rs:73:5 [opt] - frame #31: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016b6dabf0, task=Notified> @ scalar, core=) at worker.rs:576:9 [opt] - frame #32: 0x00000001050b014c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016b6dabf0, core=0x0000600002c08460) at worker.rs:0 [opt] - frame #33: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] - frame #34: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014b008238, t=, f=) at scoped.rs:40:9 [opt] - frame #35: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] - frame #36: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] - frame #37: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] - frame #38: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016b6dabe8, f={closure_env#0} @ 0x0000600000cb1d70) at context.rs:176:17 [opt] - frame #39: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] - frame #40: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x0000600000cb1e50) at runtime.rs:65:16 [opt] - frame #41: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] - frame #42: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] - frame #43: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] - frame #44: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] - frame #45: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] - frame #46: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x000000014b9122a0, cx=) at core.rs:317:30 [opt] - frame #47: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] - frame #48: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000600000cb2000, (null)=) at unwind_safe.rs:271:9 [opt] - frame #49: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] - frame #50: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] - frame #51: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] - frame #52: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x000000014b9122a0, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #53: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] - frame #54: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] - frame #55: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] - frame #56: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] - frame #57: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x0000600000cbf010) at pool.rs:159:9 [opt] - frame #58: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] - frame #59: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] - frame #60: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016b6daf30) at backtrace.rs:154:18 [opt] - frame #61: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] - frame #62: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] - frame #63: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] - frame #64: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] - frame #65: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] - frame #66: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] - frame #67: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a0c880, (null)=) at function.rs:250:5 [opt] - frame #68: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] - frame #69: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] - frame #70: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] - frame #71: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 - thread #5, name = 'tokio-runtime-worker' - frame #0: 0x0000000104e95ac8 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] core::sync::atomic::atomic_compare_exchange_weak::hb499d92b8580d344(dst=0x0000600003418010, old=32, new=, success=Acquire, failure=Relaxed) at atomic.rs:3297:35 [opt] - frame #1: 0x0000000104e95ac0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at atomic.rs:3148:1 [opt] - frame #2: 0x0000000104e95ac0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at raw_rwlock.rs:531:18 [opt] - frame #3: 0x0000000104e95ab0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_shared::h75e69a78909e2622(self=0x0000600003418010) at raw_rwlock.rs:108:13 [opt] - frame #4: 0x0000000104e95ab0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at rwlock.rs:459:9 [opt] - frame #5: 0x0000000104e95ab0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::_$u7b$$u7b$closure$u7d$$u7d$::h72b3d81d214d5c52 at torrent_state.rs:533:59 [opt] - frame #6: 0x0000000104e95aa8 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:332:9 [opt] - frame #7: 0x0000000104e95aa8 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::ha7825068a8338bac(self=, reason=&str @ 0x0000600000cbf3a0) at torrent_state.rs:533:29 [opt] - frame #8: 0x0000000104e95aa8 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1119:20 [opt] - frame #9: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] - frame #10: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] - frame #11: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] - frame #12: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] - frame #13: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] - frame #14: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014c813020, cx=Context @ 0x000000016b8e6508) at core.rs:317:30 [opt] - frame #15: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] - frame #16: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x0000600000cb1910, (null)=) at unwind_safe.rs:271:9 [opt] - frame #17: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] - frame #18: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] - frame #19: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] - frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014c813020, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #21: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] - frame #22: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] - frame #23: 0x00000001050b0828 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] - frame #24: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] - frame #25: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::scheduler::multi_thread::worker::Context::run_task::_$u7b$$u7b$closure$u7d$$u7d$::hdead63aea4a59933 at worker.rs:577:18 [opt] - frame #26: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] - frame #27: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x0000600000cb2390) at coop.rs:73:5 [opt] - frame #28: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016b8e6bf0, task=Notified> @ scalar, core=) at worker.rs:576:9 [opt] - frame #29: 0x00000001050b014c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016b8e6bf0, core=0x0000600002c08550) at worker.rs:0 [opt] - frame #30: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] - frame #31: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014a808838, t=, f=) at scoped.rs:40:9 [opt] - frame #32: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] - frame #33: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] - frame #34: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] - frame #35: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016b8e6be8, f={closure_env#0} @ 0x0000600000cbf720) at context.rs:176:17 [opt] - frame #36: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] - frame #37: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x0000600000cbf800) at runtime.rs:65:16 [opt] - frame #38: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] - frame #39: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] - frame #40: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] - frame #41: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] - frame #42: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] - frame #43: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x0000000149705a20, cx=) at core.rs:317:30 [opt] - frame #44: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] - frame #45: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000600000cb2570, (null)=) at unwind_safe.rs:271:9 [opt] - frame #46: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] - frame #47: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] - frame #48: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] - frame #49: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x0000000149705a20, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #50: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] - frame #51: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] - frame #52: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] - frame #53: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] - frame #54: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x0000600000cb2760) at pool.rs:159:9 [opt] - frame #55: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] - frame #56: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] - frame #57: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016b8e6f30) at backtrace.rs:154:18 [opt] - frame #58: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] - frame #59: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] - frame #60: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] - frame #61: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] - frame #62: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] - frame #63: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] - frame #64: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a0c580, (null)=) at function.rs:250:5 [opt] - frame #65: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] - frame #66: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] - frame #67: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] - frame #68: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 - thread #6, name = 'tokio-runtime-worker' - frame #0: 0x000000018c160cb4 libdyld.dylib`tlv_get_addr + 4 - frame #1: 0x00000001050f1848 rqbit`parking_lot_core::parking_lot::deadlock_impl::acquire_resource::h4b57e37aaa25ef51 at option.rs:674:15 [opt] - frame #2: 0x00000001050f1834 rqbit`parking_lot_core::parking_lot::deadlock_impl::acquire_resource::h4b57e37aaa25ef51 [inlined] std::sys::common::thread_local::lazy::LazyKeyInner$LT$T$GT$::get::h675e54a204ca8b72(self=) at mod.rs:46:42 [opt] - frame #3: 0x00000001050f1834 rqbit`parking_lot_core::parking_lot::deadlock_impl::acquire_resource::h4b57e37aaa25ef51 [inlined] std::sys::common::thread_local::fast_local::Key$LT$T$GT$::get::h18d95d4ca32d0834(self=, init={closure_env#0} @ 0x0000600000cb29b0) at fast_local.rs:171:19 [opt] - frame #4: 0x00000001050f1834 rqbit`parking_lot_core::parking_lot::deadlock_impl::acquire_resource::h4b57e37aaa25ef51 [inlined] parking_lot_core::parking_lot::with_thread_data::THREAD_DATA::__getit::h50f1aae5bcdf1454(init=Option<&mut core::option::Option> @ 0x0000600000cb2a40) at fast_local.rs:91:21 [opt] - frame #5: 0x00000001050f1834 rqbit`parking_lot_core::parking_lot::deadlock_impl::acquire_resource::h4b57e37aaa25ef51 [inlined] std::thread::local::LocalKey$LT$T$GT$::try_with::ha92f6a69e500126b(self=, f=) at local.rs:269:32 [opt] - frame #6: 0x00000001050f1834 rqbit`parking_lot_core::parking_lot::deadlock_impl::acquire_resource::h4b57e37aaa25ef51 at parking_lot.rs:203:27 [opt] - frame #7: 0x00000001050f1830 rqbit`parking_lot_core::parking_lot::deadlock_impl::acquire_resource::h4b57e37aaa25ef51(key=105553170890769) at parking_lot.rs:1225:9 [opt] - frame #8: 0x0000000104e95ae4 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at parking_lot.rs:1114:9 [opt] - frame #9: 0x0000000104e95adc rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] parking_lot::raw_rwlock::RawRwLock::deadlock_acquire::h6d2ed16f2cf77845 at raw_rwlock.rs:1141:18 [opt] - frame #10: 0x0000000104e95ad0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_shared::h75e69a78909e2622(self=0x0000600003418010) at raw_rwlock.rs:112:14 [opt] - frame #11: 0x0000000104e95ab0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at rwlock.rs:459:9 [opt] - frame #12: 0x0000000104e95ab0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::_$u7b$$u7b$closure$u7d$$u7d$::h72b3d81d214d5c52 at torrent_state.rs:533:59 [opt] - frame #13: 0x0000000104e95aa8 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:332:9 [opt] - frame #14: 0x0000000104e95aa8 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::ha7825068a8338bac(self=, reason=&str @ 0x0000600000cbf990) at torrent_state.rs:533:29 [opt] - frame #15: 0x0000000104e95aa8 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1119:20 [opt] - frame #16: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] - frame #17: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] - frame #18: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] - frame #19: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] - frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] - frame #21: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014d82ec20, cx=Context @ 0x000000016baf2508) at core.rs:317:30 [opt] - frame #22: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] - frame #23: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x0000600000cbfbb0, (null)=) at unwind_safe.rs:271:9 [opt] - frame #24: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] - frame #25: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] - frame #26: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] - frame #27: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014d82ec20, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #28: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] - frame #29: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] - frame #30: 0x00000001050b0894 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] - frame #31: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] - frame #32: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at worker.rs:640:22 [opt] - frame #33: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] - frame #34: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x0000600000cbfda0) at coop.rs:73:5 [opt] - frame #35: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016baf2bf0, task=, core=) at worker.rs:576:9 [opt] - frame #36: 0x00000001050b014c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016baf2bf0, core=0x0000600002c085f0) at worker.rs:0 [opt] - frame #37: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] - frame #38: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014a008838, t=, f=) at scoped.rs:40:9 [opt] - frame #39: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] - frame #40: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] - frame #41: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] - frame #42: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016baf2be8, f={closure_env#0} @ 0x0000600000cb2c50) at context.rs:176:17 [opt] - frame #43: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] - frame #44: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x0000600000cb2d30) at runtime.rs:65:16 [opt] - frame #45: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] - frame #46: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] - frame #47: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] - frame #48: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] - frame #49: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] - frame #50: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x00000001497085a0, cx=) at core.rs:317:30 [opt] - frame #51: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] - frame #52: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000600000ced720, (null)=) at unwind_safe.rs:271:9 [opt] - frame #53: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] - frame #54: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] - frame #55: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] - frame #56: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x00000001497085a0, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #57: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] - frame #58: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] - frame #59: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] - frame #60: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] - frame #61: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x0000600000ced910) at pool.rs:159:9 [opt] - frame #62: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] - frame #63: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] - frame #64: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016baf2f30) at backtrace.rs:154:18 [opt] - frame #65: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] - frame #66: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] - frame #67: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] - frame #68: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] - frame #69: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] - frame #70: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] - frame #71: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a0cc40, (null)=) at function.rs:250:5 [opt] - frame #72: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] - frame #73: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] - frame #74: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] - frame #75: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 - thread #7, name = 'tokio-runtime-worker' - frame #0: 0x00000001050f1a6c rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e at intrinsics.rs:2778:9 [opt] - frame #1: 0x00000001050f1a6c rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e at mod.rs:1465:13 [opt] - frame #2: 0x00000001050f1a68 rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e at parking_lot.rs:1239:17 [opt] - frame #3: 0x00000001050f1a3c rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e at parking_lot.rs:207:5 [opt] - frame #4: 0x00000001050f19d8 rqbit`parking_lot_core::parking_lot::deadlock_impl::release_resource::he933759fd139805e(key=105553170890768) at parking_lot.rs:1231:9 [opt] - frame #5: 0x0000000104e95b18 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] parking_lot_core::parking_lot::deadlock::release_resource::hb76fc449fd876904 at parking_lot.rs:1130:9 [opt] - frame #6: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] parking_lot::raw_rwlock::RawRwLock::deadlock_release::h9a0f2addf3cf5a39 at raw_rwlock.rs:1146:18 [opt] - frame #7: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::unlock_shared::hea004debead67c32(self=) at raw_rwlock.rs:130:14 [opt] - frame #8: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$lock_api..rwlock..RwLockReadGuard$LT$R$C$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$::drop::h0fa0333e78a156b7(self=) at rwlock.rs:1372:13 [opt] - frame #9: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] core::ptr::drop_in_place$LT$lock_api..rwlock..RwLockReadGuard$LT$parking_lot..raw_rwlock..RawRwLock$C$librqbit..torrent_state..TorrentStateLocked$GT$$GT$::h37e2eada005d8e1e((null)=) at mod.rs:497:1 [opt] - frame #10: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] core::ptr::drop_in_place$LT$librqbit..torrent_state..timed_existence..TimedExistence$LT$lock_api..rwlock..RwLockReadGuard$LT$parking_lot..raw_rwlock..RawRwLock$C$librqbit..torrent_state..TorrentStateLocked$GT$$GT$$GT$::h0cbca05e47c1d35d((null)=) at mod.rs:497:1 [opt] - frame #11: 0x0000000104e95b10 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1123:48 [opt] - frame #12: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] - frame #13: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] - frame #14: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] - frame #15: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] - frame #16: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] - frame #17: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014a02f220, cx=Context @ 0x000000016bf0a508) at core.rs:317:30 [opt] - frame #18: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] - frame #19: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x0000600000cb2fc0, (null)=) at unwind_safe.rs:271:9 [opt] - frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] - frame #21: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] - frame #22: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] - frame #23: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014a02f220, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #24: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] - frame #25: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] - frame #26: 0x00000001050b0894 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] - frame #27: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] - frame #28: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at worker.rs:640:22 [opt] - frame #29: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] - frame #30: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x0000600000cb31c0) at coop.rs:73:5 [opt] - frame #31: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016bf0abf0, task=, core=) at worker.rs:576:9 [opt] - frame #32: 0x00000001050b014c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016bf0abf0, core=0x0000600002c08690) at worker.rs:0 [opt] - frame #33: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] - frame #34: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014b008e38, t=, f=) at scoped.rs:40:9 [opt] - frame #35: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] - frame #36: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] - frame #37: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] - frame #38: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016bf0abe8, f={closure_env#0} @ 0x0000600000cac5f0) at context.rs:176:17 [opt] - frame #39: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] - frame #40: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x0000600000cac6d0) at runtime.rs:65:16 [opt] - frame #41: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] - frame #42: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] - frame #43: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] - frame #44: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] - frame #45: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] - frame #46: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x000000014bd1a120, cx=) at core.rs:317:30 [opt] - frame #47: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] - frame #48: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000600000cac880, (null)=) at unwind_safe.rs:271:9 [opt] - frame #49: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] - frame #50: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] - frame #51: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] - frame #52: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x000000014bd1a120, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #53: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] - frame #54: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] - frame #55: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] - frame #56: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] - frame #57: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x0000600000caca70) at pool.rs:159:9 [opt] - frame #58: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] - frame #59: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] - frame #60: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016bf0af30) at backtrace.rs:154:18 [opt] - frame #61: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] - frame #62: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] - frame #63: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] - frame #64: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] - frame #65: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] - frame #66: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] - frame #67: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a0ca40, (null)=) at function.rs:250:5 [opt] - frame #68: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] - frame #69: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] - frame #70: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] - frame #71: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 - thread #8 - frame #0: 0x000000018c11a564 libsystem_kernel.dylib`__workq_kernreturn + 8 - thread #9, name = 'tokio-runtime-worker' - frame #0: 0x000000018c118908 libsystem_kernel.dylib`swtch_pri + 8 - frame #1: 0x000000018c155ed8 libsystem_pthread.dylib`cthread_yield + 32 - frame #2: 0x00000001051b76c8 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::thread_parker::imp::thread_yield::h227973beb6a1850c at unix.rs:255:5 [opt] - frame #3: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::spinwait::SpinWait::spin::h5cfc83bbc083ea7f(self=) at spinwait.rs:56:13 [opt] - frame #4: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 at raw_rwlock.rs:1078:65 [opt] - frame #5: 0x00000001051b7360 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5(self=0x0000600003418010, recursive=, timeout=) at raw_rwlock.rs:719:9 [opt] - frame #6: 0x0000000104e95d44 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_shared::h75e69a78909e2622(self=0x0000600003418010) at raw_rwlock.rs:109:26 [opt] - frame #7: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at rwlock.rs:459:9 [opt] - frame #8: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::_$u7b$$u7b$closure$u7d$$u7d$::h72b3d81d214d5c52 at torrent_state.rs:533:59 [opt] - frame #9: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:332:9 [opt] - frame #10: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::ha7825068a8338bac(self=, reason=&str @ 0x0000600000cb3320) at torrent_state.rs:533:29 [opt] - frame #11: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1119:20 [opt] - frame #12: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] - frame #13: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] - frame #14: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] - frame #15: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] - frame #16: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] - frame #17: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014d0ab220, cx=Context @ 0x000000016ccf6508) at core.rs:317:30 [opt] - frame #18: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] - frame #19: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x0000600000cb34d0, (null)=) at unwind_safe.rs:271:9 [opt] - frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] - frame #21: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] - frame #22: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] - frame #23: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014d0ab220, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #24: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] - frame #25: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] - frame #26: 0x00000001050b0894 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] - frame #27: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] - frame #28: 0x00000001050b0884 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at worker.rs:640:22 [opt] - frame #29: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] - frame #30: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x0000600000cb36c0) at coop.rs:73:5 [opt] - frame #31: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016ccf6bf0, task=, core=) at worker.rs:576:9 [opt] - frame #32: 0x00000001050b02dc rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016ccf6bf0, core=0x0000600002c08640) at worker.rs:0 [opt] - frame #33: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] - frame #34: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014c840838, t=, f=) at scoped.rs:40:9 [opt] - frame #35: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] - frame #36: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] - frame #37: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] - frame #38: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016ccf6be8, f={closure_env#0} @ 0x0000600000cacec0) at context.rs:176:17 [opt] - frame #39: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] - frame #40: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x0000600000cacfa0) at runtime.rs:65:16 [opt] - frame #41: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] - frame #42: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] - frame #43: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] - frame #44: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] - frame #45: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] - frame #46: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x000000014ba2d8a0, cx=) at core.rs:317:30 [opt] - frame #47: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] - frame #48: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000600000cad150, (null)=) at unwind_safe.rs:271:9 [opt] - frame #49: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] - frame #50: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] - frame #51: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] - frame #52: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x000000014ba2d8a0, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #53: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] - frame #54: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] - frame #55: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] - frame #56: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] - frame #57: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x0000600000cad340) at pool.rs:159:9 [opt] - frame #58: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] - frame #59: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] - frame #60: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016ccf6f30) at backtrace.rs:154:18 [opt] - frame #61: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] - frame #62: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] - frame #63: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] - frame #64: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] - frame #65: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] - frame #66: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] - frame #67: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a105c0, (null)=) at function.rs:250:5 [opt] - frame #68: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] - frame #69: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] - frame #70: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] - frame #71: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 - thread #10, name = 'tokio-runtime-worker' - frame #0: 0x000000018c118908 libsystem_kernel.dylib`swtch_pri + 8 - frame #1: 0x000000018c155ed8 libsystem_pthread.dylib`cthread_yield + 32 - frame #2: 0x00000001051b76c8 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::thread_parker::imp::thread_yield::h227973beb6a1850c at unix.rs:255:5 [opt] - frame #3: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 [inlined] parking_lot_core::spinwait::SpinWait::spin::h5cfc83bbc083ea7f(self=) at spinwait.rs:56:13 [opt] - frame #4: 0x00000001051b76c4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5 at raw_rwlock.rs:1078:65 [opt] - frame #5: 0x00000001051b7360 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_shared_slow::h792812c0d93435a5(self=0x0000600003418010, recursive=, timeout=) at raw_rwlock.rs:719:9 [opt] - frame #6: 0x0000000104e95d44 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_shared::h75e69a78909e2622(self=0x0000600003418010) at raw_rwlock.rs:109:26 [opt] - frame #7: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at rwlock.rs:459:9 [opt] - frame #8: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::_$u7b$$u7b$closure$u7d$$u7d$::h72b3d81d214d5c52 at torrent_state.rs:533:59 [opt] - frame #9: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:332:9 [opt] - frame #10: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::TorrentState::lock_read::ha7825068a8338bac(self=, reason=&str @ 0x0000600000cb3a10) at torrent_state.rs:533:29 [opt] - frame #11: 0x0000000104e95d30 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h692f3c4437556b14((null)=) at torrent_state.rs:1119:20 [opt] - frame #12: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 at torrent_state.rs:1040:32 [opt] - frame #13: 0x0000000104e95808 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hcc3e5fa8d786a743((null)=) at spawn_utils.rs:9:19 [opt] - frame #14: 0x0000000104e957f0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hed6fd95344b07d89(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] - frame #15: 0x0000000104edf4ac rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at core.rs:328:17 [opt] - frame #16: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at unsafe_cell.rs:16:9 [opt] - frame #17: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd8084351a648b2e8(self=0x000000014c033220, cx=Context @ 0x000000016d31a508) at core.rs:317:30 [opt] - frame #18: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:485:19 [opt] - frame #19: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::heb85fe2e94fc17f4(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x0000600000cb3c10, (null)=) at unwind_safe.rs:271:9 [opt] - frame #20: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:504:40 [opt] - frame #21: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panicking.rs:468:19 [opt] - frame #22: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at panic.rs:142:14 [opt] - frame #23: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb [inlined] tokio::runtime::task::harness::poll_future::h4b6b1da99765b35e(core=0x000000014c033220, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #24: 0x0000000104edf494 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb at harness.rs:208:27 [opt] - frame #25: 0x0000000104edf44c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h9db827915f8cebbb(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] - frame #26: 0x00000001050b0828 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at raw.rs:201:18 [opt] - frame #27: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at mod.rs:408:9 [opt] - frame #28: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::scheduler::multi_thread::worker::Context::run_task::_$u7b$$u7b$closure$u7d$$u7d$::hdead63aea4a59933 at worker.rs:577:18 [opt] - frame #29: 0x00000001050b0818 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 at coop.rs:107:5 [opt] - frame #30: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0 [inlined] tokio::runtime::coop::budget::hf098506da6b6dcd5(f={closure_env#0} @ 0x0000600000cad5d0) at coop.rs:73:5 [opt] - frame #31: 0x00000001050b07a4 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h8a5df1bcd23551a0(self=0x000000016d31abf0, task=Notified> @ scalar, core=) at worker.rs:576:9 [opt] - frame #32: 0x00000001050b014c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::hb081d14dc80be0e5(self=0x000000016d31abf0, core=0x0000600002c08230) at worker.rs:0 [opt] - frame #33: 0x00000001050ac850 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16 at worker.rs:491:21 [opt] - frame #34: 0x00000001050ac834 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::h94a3d3f5419c2c16(self=0x000000014d820e38, t=, f=) at scoped.rs:40:9 [opt] - frame #35: 0x00000001050aa5f4 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::hd0d4ddd8549e3bc1(c=) at context.rs:176:26 [opt] - frame #36: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:270:16 [opt] - frame #37: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at local.rs:246:9 [opt] - frame #38: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 [inlined] tokio::runtime::context::set_scheduler::he51257910926dd59(v=0x000000016d31abe8, f={closure_env#0} @ 0x0000600000cad750) at context.rs:176:17 [opt] - frame #39: 0x00000001050aa5d8 rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844 at worker.rs:486:9 [opt] - frame #40: 0x00000001050aa57c rqbit`tokio::runtime::context::runtime::enter_runtime::h6d45468550926844(handle=, allow_block_in_place=, f={closure_env#0} @ 0x0000600000cad830) at runtime.rs:65:16 [opt] - frame #41: 0x00000001050af890 rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h605e71e60e13e79e(worker=) at worker.rs:478:5 [opt] - frame #42: 0x0000000104ec3c88 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hed1a198ab1e77cfc at worker.rs:422:41 [opt] - frame #43: 0x0000000104ec3c80 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at task.rs:42:21 [opt] - frame #44: 0x0000000104ec3c70 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at core.rs:328:17 [opt] - frame #45: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff at unsafe_cell.rs:16:9 [opt] - frame #46: 0x0000000104ec3c54 rqbit`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h042122086ede0bff(self=0x000000014bd0faa0, cx=) at core.rs:317:30 [opt] - frame #47: 0x0000000104ede674 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:485:19 [opt] - frame #48: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hafe772827743095f(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000600000cad9e0, (null)=) at unwind_safe.rs:271:9 [opt] - frame #49: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:504:40 [opt] - frame #50: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panicking.rs:468:19 [opt] - frame #51: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at panic.rs:142:14 [opt] - frame #52: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf [inlined] tokio::runtime::task::harness::poll_future::hb998a69004fdf925(core=0x000000014bd0faa0, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #53: 0x0000000104ede668 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf at harness.rs:208:27 [opt] - frame #54: 0x0000000104ede638 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h46f37749b1d53cbf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] - frame #55: 0x00000001050a98ec rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at raw.rs:201:18 [opt] - frame #56: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 at mod.rs:445:9 [opt] - frame #57: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1 [inlined] tokio::runtime::blocking::pool::Task::run::h21911ac38630eb67(self=Task @ 0x0000600000cadbd0) at pool.rs:159:9 [opt] - frame #58: 0x00000001050a98dc rqbit`tokio::runtime::blocking::pool::Inner::run::h02d557f7bc931fb1(self=0x000000014960aba0, worker_thread_id=) at pool.rs:513:17 [opt] - frame #59: 0x00000001050b7a68 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e at pool.rs:471:13 [opt] - frame #60: 0x00000001050b7a18 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbed9fd7bb3637d9e(f={closure_env#0} @ 0x000000016d31af30) at backtrace.rs:154:18 [opt] - frame #61: 0x00000001050b4548 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h7f67dfce3ab31a5d at mod.rs:529:17 [opt] - frame #62: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf75b81ee1f1ecc53(self=, (null)=) at unwind_safe.rs:271:9 [opt] - frame #63: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::do_call::h70fe9debea105e29(data=) at panicking.rs:504:40 [opt] - frame #64: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panicking::try::h8d1b5c81698e17e7(f=) at panicking.rs:468:19 [opt] - frame #65: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::panic::catch_unwind::h6db9dfcd09e26eed at panic.rs:142:14 [opt] - frame #66: 0x00000001050b4540 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hacf5732c0539f8d1 at mod.rs:528:30 [opt] - frame #67: 0x00000001050b44e8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h30833ac8b8597211((null)=0x0000600001a15c40, (null)=) at function.rs:250:5 [opt] - frame #68: 0x0000000105174910 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h1a3369d594f8403a at boxed.rs:2007:9 [opt] - frame #69: 0x0000000105174904 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h28c1deeabe368221 at boxed.rs:2007:9 [opt] - frame #70: 0x0000000105174900 rqbit`std::sys::unix::thread::Thread::new::thread_start::h616a123cfe4994dc at thread.rs:108:17 [opt] - frame #71: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 diff --git a/deadlock-2023-11-19.txt b/deadlock-2023-11-19.txt deleted file mode 100644 index e7c0451..0000000 --- a/deadlock-2023-11-19.txt +++ /dev/null @@ -1,406 +0,0 @@ -Analysis of sampling rqbit (pid 39545) every 1 millisecond -Process: rqbit [39545] -Path: /Users/USER/*/rqbit -Load Address: 0x10264c000 -Identifier: rqbit -Version: 0 -Code Type: ARM64 -Platform: macOS -Parent Process: bash [2715] - -Date/Time: 2023-11-19 16:00:58.811 +0000 -Launch Time: 2023-11-19 15:58:49.276 +0000 -OS Version: macOS 14.1 (23B74) -Report Version: 7 -Analysis Tool: /usr/bin/sample - -Physical footprint: 17.4M -Physical footprint (peak): 17.7M -Idle exit: untracked ----- - -Call graph: - 2496 Thread_2473110 DispatchQueue_1: com.apple.main-thread (serial) - + 2496 start (in dyld) + 2360 [0x18bddd0e0] - + 2496 main (in rqbit) + 32 [0x1026b1f08] - + 2496 std::rt::lang_start::h04f5c4882f962a27 (in rqbit) + 44 [0x1026e2a14] rt.rs:166 - + 2496 std::rt::lang_start_internal::hea4720c823b0b053 (in rqbit) + 648 [0x102a363d0] - + 2496 std::rt::lang_start::_$u7b$$u7b$closure$u7d$$u7d$::h3010a9b861ca5a8b (in rqbit) + 24 [0x1026e2a38] rt.rs:167 - + 2496 std::sys_common::backtrace::__rust_begin_short_backtrace::h8d4be33a1de940de (in rqbit) + 12 [0x10272dcd4] backtrace.rs:154 - + 2496 rqbit::main::ha8e14d406850a710 (in rqbit) + 3604 [0x1026a7148] main.rs:196 - + 2496 tokio::runtime::runtime::Runtime::block_on::hdf2b0630853c50c8 (in rqbit) + 484 [0x102732e94] runtime.rs:350 - + 2496 tokio::runtime::park::CachedParkThread::block_on::hfa756e72f4e8a433 (in rqbit) + 248 [0x1026a1420] park.rs:286 - + 2496 (.llvm.1541039607769432884) (in rqbit) + 256 [0x1029aebe4] - + 2496 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - + 2496 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] - 2496 Thread_2473123: tokio-runtime-worker - + 2496 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] - + 2496 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] - + 2496 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x102a42e44] - + 2496 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x1029b9234] - + 2496 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x1029aa300] - + 2496 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x1029ad9dc] - + 2496 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h0309602a53f0123f (in rqbit) + 84 [0x1027a486c] - + 2496 std::panicking::try::hd618da3145605e84 (in rqbit) + 76 [0x1027a11d8] - + 2496 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x1029b24f8] - + 2496 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x1029b0bcc] - + 2496 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x1029b6e8c] - + 2496 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 1964 [0x1029b2d3c] - + 2496 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x1029b33fc] - + 2496 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h21da183bbda8077a (in rqbit) + 120 [0x1027a4a18] - + 2496 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hbeb184dcc28d7bba (in rqbit) + 2960 [0x102795a94] - + 2496 librqbit::torrent_state::TorrentState::reserve_next_needed_piece::h603430c1fbfa17f1 (in rqbit) + 848 [0x102799bd4] - + 2496 parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h9d3b6f14a0167212 (in rqbit) + 720 [0x102a87a78] - + 2496 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - + 2496 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] - 2496 Thread_2473126: tokio-runtime-worker - + 2496 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] - + 2496 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] - + 2496 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x102a42e44] - + 2496 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x1029b9234] - + 2496 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x1029aa300] - + 2496 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x1029ad9dc] - + 2496 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h0309602a53f0123f (in rqbit) + 84 [0x1027a486c] - + 2496 std::panicking::try::hd618da3145605e84 (in rqbit) + 76 [0x1027a11d8] - + 2496 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x1029b24f8] - + 2496 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x1029b0bcc] - + 2496 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x1029b6e8c] - + 2496 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 2816 [0x1029b3090] - + 2496 tokio::runtime::scheduler::multi_thread::worker::Context::park_timeout::hd0502377b834d526 (in rqbit) + 276 [0x1029b380c] - + 2496 tokio::runtime::scheduler::multi_thread::park::Parker::park::h0192ef6876d96010 (in rqbit) + 328 [0x1029ab774] - + 2496 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - + 2496 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] - 2496 Thread_2473127: tokio-runtime-worker - + 2496 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] - + 2496 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] - + 2496 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x102a42e44] - + 2496 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x1029b9234] - + 2496 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x1029aa300] - + 2496 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x1029ad9dc] - + 2496 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h0309602a53f0123f (in rqbit) + 84 [0x1027a486c] - + 2496 std::panicking::try::hd618da3145605e84 (in rqbit) + 76 [0x1027a11d8] - + 2496 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x1029b24f8] - + 2496 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x1029b0bcc] - + 2496 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x1029b6e8c] - + 2496 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 1964 [0x1029b2d3c] - + 2496 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x1029b33fc] - + 2496 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::heb4f8f45b2e96198 (in rqbit) + 124 [0x1027a6150] - + 2496 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h5ac692615a2018f5 (in rqbit) + 6312 [0x102793858] - + 2496 _$LT$tokio..future..poll_fn..PollFn$LT$F$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h65d688d6310f8157 (in rqbit) + 6372 [0x1027c1994] - + 2496 _$LT$librqbit..torrent_state..PeerHandler$u20$as$u20$librqbit..peer_connection..PeerConnectionHandler$GT$::on_received_message::hf53675e40903f8fe (in rqbit) + 4720 [0x10279d73c] - + 2496 parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h9d3b6f14a0167212 (in rqbit) + 720 [0x102a87a78] - + 2496 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - + 2496 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] - 2496 Thread_2473128: tokio-runtime-worker - + 2496 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] - + 2496 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] - + 2496 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x102a42e44] - + 2496 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x1029b9234] - + 2496 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x1029aa300] - + 2496 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x1029ad9dc] - + 2496 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h0309602a53f0123f (in rqbit) + 84 [0x1027a486c] - + 2496 std::panicking::try::hd618da3145605e84 (in rqbit) + 76 [0x1027a11d8] - + 2496 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x1029b24f8] - + 2496 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x1029b0bcc] - + 2496 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x1029b6e8c] - + 2496 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 2364 [0x1029b2ecc] - + 2496 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x1029b33fc] - + 2496 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::heb4f8f45b2e96198 (in rqbit) + 124 [0x1027a6150] - + 2496 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h5ac692615a2018f5 (in rqbit) + 6312 [0x102793858] - + 2496 _$LT$tokio..future..poll_fn..PollFn$LT$F$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h65d688d6310f8157 (in rqbit) + 6372 [0x1027c1994] - + 2496 _$LT$librqbit..torrent_state..PeerHandler$u20$as$u20$librqbit..peer_connection..PeerConnectionHandler$GT$::on_received_message::hf53675e40903f8fe (in rqbit) + 4720 [0x10279d73c] - + 2496 parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h9d3b6f14a0167212 (in rqbit) + 720 [0x102a87a78] - + 2496 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - + 2496 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] - 2496 Thread_2473132 - + 2496 start_wqthread (in libsystem_pthread.dylib) + 8 [0x18c153e30] - + 2496 _pthread_wqthread (in libsystem_pthread.dylib) + 364 [0x18c155160] - + 2496 __workq_kernreturn (in libsystem_kernel.dylib) + 8 [0x18c11a564] - 2496 Thread_2473133: tokio-runtime-worker - + 2496 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] - + 2496 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] - + 2496 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x102a42e44] - + 2496 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x1029b9234] - + 2496 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x1029aa300] - + 2496 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x1029ad9dc] - + 2496 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h0309602a53f0123f (in rqbit) + 84 [0x1027a486c] - + 2496 std::panicking::try::hd618da3145605e84 (in rqbit) + 76 [0x1027a11d8] - + 2496 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x1029b24f8] - + 2496 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x1029b0bcc] - + 2496 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x1029b6e8c] - + 2496 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 2364 [0x1029b2ecc] - + 2496 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x1029b33fc] - + 2496 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::heb4f8f45b2e96198 (in rqbit) + 124 [0x1027a6150] - + 2496 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h5ac692615a2018f5 (in rqbit) + 6312 [0x102793858] - + 2496 _$LT$tokio..future..poll_fn..PollFn$LT$F$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h65d688d6310f8157 (in rqbit) + 6372 [0x1027c1994] - + 2496 _$LT$librqbit..torrent_state..PeerHandler$u20$as$u20$librqbit..peer_connection..PeerConnectionHandler$GT$::on_received_message::hf53675e40903f8fe (in rqbit) + 4720 [0x10279d73c] - + 2496 parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h9d3b6f14a0167212 (in rqbit) + 720 [0x102a87a78] - + 2496 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - + 2496 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] - 2496 Thread_2473134: tokio-runtime-worker - + 2496 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] - + 2496 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] - + 2496 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x102a42e44] - + 2496 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x1029b9234] - + 2496 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x1029aa300] - + 2496 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x1029ad9dc] - + 2496 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h0309602a53f0123f (in rqbit) + 84 [0x1027a486c] - + 2496 std::panicking::try::hd618da3145605e84 (in rqbit) + 76 [0x1027a11d8] - + 2496 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x1029b24f8] - + 2496 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x1029b0bcc] - + 2496 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x1029b6e8c] - + 2496 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 1964 [0x1029b2d3c] - + 2496 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x1029b33fc] - + 2496 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::heb4f8f45b2e96198 (in rqbit) + 124 [0x1027a6150] - + 2496 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h5ac692615a2018f5 (in rqbit) + 6312 [0x102793858] - + 2496 _$LT$tokio..future..poll_fn..PollFn$LT$F$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h65d688d6310f8157 (in rqbit) + 6372 [0x1027c1994] - + 2496 _$LT$librqbit..torrent_state..PeerHandler$u20$as$u20$librqbit..peer_connection..PeerConnectionHandler$GT$::on_received_message::hf53675e40903f8fe (in rqbit) + 10620 [0x10279ee48] - + 2496 librqbit::spawn_utils::BlockingSpawner::spawn_block_in_place::hf8fc1a4ea261bbba (in rqbit) + 300 [0x1027df6ac] - + 2496 (.llvm.5154940439965986783) (in rqbit) + 996 [0x1027e044c] - + 2496 parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h9d3b6f14a0167212 (in rqbit) + 720 [0x102a87a78] - + 2496 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - + 2496 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] - 2496 Thread_2473284: tokio-runtime-worker - + 2496 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] - + 2496 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] - + 2496 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x102a42e44] - + 2496 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x1029b9234] - + 2496 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x1029aa300] - + 2496 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x1029ad9dc] - + 2496 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h0309602a53f0123f (in rqbit) + 84 [0x1027a486c] - + 2496 std::panicking::try::hd618da3145605e84 (in rqbit) + 76 [0x1027a11d8] - + 2496 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x1029b24f8] - + 2496 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x1029b0bcc] - + 2496 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x1029b6e8c] - + 2496 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 2816 [0x1029b3090] - + 2496 tokio::runtime::scheduler::multi_thread::worker::Context::park_timeout::hd0502377b834d526 (in rqbit) + 276 [0x1029b380c] - + 2496 tokio::runtime::scheduler::multi_thread::park::Parker::park::h0192ef6876d96010 (in rqbit) + 328 [0x1029ab774] - + 2496 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - + 2496 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] - 2496 Thread_2473287: tokio-runtime-worker - + 2496 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] - + 2496 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] - + 2496 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x102a42e44] - + 2496 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x1029b9234] - + 2496 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x1029aa300] - + 2496 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x1029ad9dc] - + 2496 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h0309602a53f0123f (in rqbit) + 84 [0x1027a486c] - + 2496 std::panicking::try::hd618da3145605e84 (in rqbit) + 76 [0x1027a11d8] - + 2496 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x1029b24f8] - + 2496 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x1029b0bcc] - + 2496 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x1029b6e8c] - + 2496 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 1964 [0x1029b2d3c] - + 2496 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x1029b33fc] - + 2496 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::heb4f8f45b2e96198 (in rqbit) + 124 [0x1027a6150] - + 2496 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h5ac692615a2018f5 (in rqbit) + 6312 [0x102793858] - + 2496 _$LT$tokio..future..poll_fn..PollFn$LT$F$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h65d688d6310f8157 (in rqbit) + 6372 [0x1027c1994] - + 2496 _$LT$librqbit..torrent_state..PeerHandler$u20$as$u20$librqbit..peer_connection..PeerConnectionHandler$GT$::on_received_message::hf53675e40903f8fe (in rqbit) + 4736 [0x10279d74c] - + 2496 _$LT$dashmap..DashMap$LT$K$C$V$C$S$GT$$u20$as$u20$dashmap..t..Map$LT$K$C$V$C$S$GT$$GT$::_get_mut::h1a7e6edad4697927 (in rqbit) + 588 [0x1027ad4b4] - + 2496 dashmap::lock::RawRwLock::lock_exclusive_slow::h6fe43bf95e5e3917 (in rqbit) + 1168 [0x102a79b60] - + 2496 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - + 2496 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] - 2496 Thread_2473289: tokio-runtime-worker - 2496 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] - 2496 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] - 2496 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x102a42e44] - 2496 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x1029b9234] - 2496 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x1029aa300] - 2496 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x1029ad9dc] - 2496 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h0309602a53f0123f (in rqbit) + 84 [0x1027a486c] - 2496 std::panicking::try::hd618da3145605e84 (in rqbit) + 76 [0x1027a11d8] - 2496 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x1029b24f8] - 2496 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x1029b0bcc] - 2496 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x1029b6e8c] - 2496 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 1964 [0x1029b2d3c] - 2496 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x1029b33fc] - 2496 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::heb4f8f45b2e96198 (in rqbit) + 124 [0x1027a6150] - 2496 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h5ac692615a2018f5 (in rqbit) + 6312 [0x102793858] - 2496 _$LT$tokio..future..poll_fn..PollFn$LT$F$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h65d688d6310f8157 (in rqbit) + 6372 [0x1027c1994] - 2496 _$LT$librqbit..torrent_state..PeerHandler$u20$as$u20$librqbit..peer_connection..PeerConnectionHandler$GT$::on_received_message::hf53675e40903f8fe (in rqbit) + 4720 [0x10279d73c] - 2496 parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h9d3b6f14a0167212 (in rqbit) + 720 [0x102a87a78] - 2496 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - 2496 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] - -Total number in stack (recursive counted multiple, when >=5): - 10 __psynch_cvwait (in libsystem_kernel.dylib) + 0 [0x18c11c0a4] - 10 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - 9 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] - 9 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x1029b9234] - 9 std::panicking::try::hd618da3145605e84 (in rqbit) + 76 [0x1027a11d8] - 9 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x102a42e44] - 9 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x1029aa300] - 9 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] - 9 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x1029ad9dc] - 9 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x1029b0bcc] - 9 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x1029b6e8c] - 9 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x1029b24f8] - 9 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h0309602a53f0123f (in rqbit) + 84 [0x1027a486c] - 7 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x1029b33fc] - 6 _$LT$tokio..future..poll_fn..PollFn$LT$F$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h65d688d6310f8157 (in rqbit) + 6372 [0x1027c1994] - 6 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h5ac692615a2018f5 (in rqbit) + 6312 [0x102793858] - 6 parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h9d3b6f14a0167212 (in rqbit) + 720 [0x102a87a78] - 6 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::heb4f8f45b2e96198 (in rqbit) + 124 [0x1027a6150] - 5 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 1964 [0x1029b2d3c] - -Sort by top of stack, same collapsed (when >= 5): - __psynch_cvwait (in libsystem_kernel.dylib) 24960 - __workq_kernreturn (in libsystem_kernel.dylib) 2496 - -Binary Images: - 0x10264c000 - 0x102bdbfe3 +rqbit (0) /Users/*/rqbit - 0x18bd88000 - 0x18bdd6f08 libobjc.A.dylib (906) <49E2DCB3-F014-3FCF-949B-F5F57B3EF0A8> /usr/lib/libobjc.A.dylib - 0x18bdd7000 - 0x18be6b317 dyld (1.0.0 - 1122.1.2) /usr/lib/dyld - 0x18be6c000 - 0x18be70ff8 libsystem_blocks.dylib (90) /usr/lib/system/libsystem_blocks.dylib - 0x18be71000 - 0x18beb7fff libxpc.dylib (2679.40.6) <212B4ED6-CBB2-33DE-95C0-7F8A405B3EBD> /usr/lib/system/libxpc.dylib - 0x18beb8000 - 0x18bed2fff libsystem_trace.dylib (1481.40.16) <91ECA044-8462-3293-AEEA-183BF841CBA2> /usr/lib/system/libsystem_trace.dylib - 0x18bed3000 - 0x18bf70ff7 libcorecrypto.dylib (1608.40.12) <5258A992-DC2A-3A90-90F1-A64863C450A7> /usr/lib/system/libcorecrypto.dylib - 0x18bf71000 - 0x18bfa7fff libsystem_malloc.dylib (474.0.13) <901200AA-1016-3DAA-8816-5032588ED460> /usr/lib/system/libsystem_malloc.dylib - 0x18bfa8000 - 0x18bfeefff libdispatch.dylib (1462.0.4) /usr/lib/system/libdispatch.dylib - 0x18bfef000 - 0x18bff1fff libsystem_featureflags.dylib (85) <3282C86B-3BD7-353A-AC3E-09BCC631BB1F> /usr/lib/system/libsystem_featureflags.dylib - 0x18bff2000 - 0x18c070ffb libsystem_c.dylib (1583.40.7) /usr/lib/system/libsystem_c.dylib - 0x18c071000 - 0x18c0feff7 libc++.1.dylib (1600.151) <3702EEDE-997D-38E6-A6A1-C08EB22C375B> /usr/lib/libc++.1.dylib - 0x18c0ff000 - 0x18c116fff libc++abi.dylib (1600.151) /usr/lib/libc++abi.dylib - 0x18c117000 - 0x18c151fef libsystem_kernel.dylib (10002.41.9) /usr/lib/system/libsystem_kernel.dylib - 0x18c152000 - 0x18c15eff3 libsystem_pthread.dylib (519) /usr/lib/system/libsystem_pthread.dylib - 0x18c15f000 - 0x18c183fff libdyld.dylib (1122.1.2) /usr/lib/system/libdyld.dylib - 0x18c184000 - 0x18c18affb libsystem_platform.dylib (306.0.1) /usr/lib/system/libsystem_platform.dylib - 0x18c18b000 - 0x18c1b7ffb libsystem_info.dylib (583.0.1) /usr/lib/system/libsystem_info.dylib - 0x18c1b8000 - 0x18c68ffff com.apple.CoreFoundation (6.9 - 2106) <9F046E36-7286-3A6E-A280-699D6E47CFAF> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation - 0x18c690000 - 0x18c942fff com.apple.LaunchServices (1141.1 - 1141.1) <0C46B08C-2AA0-345C-BF3B-44F28B9DBB86> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices - 0x18ca8e000 - 0x18ce17fff libBLAS.dylib (1447) <25959BCE-50A3-3E96-8DB9-C9E15FD822C1> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib - 0x18ce18000 - 0x18cf04ff7 com.apple.Lexicon-framework (1.0 - 134) /System/Library/PrivateFrameworks/Lexicon.framework/Versions/A/Lexicon - 0x18cf05000 - 0x18cf6bff7 libSparse.dylib (123) /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparse.dylib - 0x18cf6c000 - 0x18cffeffb com.apple.SystemConfiguration (1.21 - 1.21) /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration - 0x18cfff000 - 0x18d033ffb libCRFSuite.dylib (52) /usr/lib/libCRFSuite.dylib - 0x18d2e2000 - 0x18df2ffff com.apple.Foundation (6.9 - 2106) <2126FD9A-52CE-3EB2-8640-B57535E073B8> /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation - 0x18df30000 - 0x18e112fff com.apple.LanguageModeling (1.0 - 366.4.1) <8032B2E5-1A2E-341F-9287-14AD8FE4E8A4> /System/Library/PrivateFrameworks/LanguageModeling.framework/Versions/A/LanguageModeling - 0x18ee80000 - 0x18f241fff com.apple.security (7.0 - 61040.41.1) <90771C8F-3085-3511-B628-31A4E990408B> /System/Library/Frameworks/Security.framework/Versions/A/Security - 0x18f242000 - 0x18f4faff7 libicucore.A.dylib (72123.15) <444D2FE1-A09C-369C-BE2E-929350EA2F0E> /usr/lib/libicucore.A.dylib - 0x18f4fb000 - 0x18f505ff7 libsystem_darwin.dylib (1583.40.7) /usr/lib/system/libsystem_darwin.dylib - 0x18f506000 - 0x18f80afff com.apple.CoreServices.CarbonCore (1333 - 1333) <049CCD7B-4151-3816-8FA8-A0BAD75AE69B> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore - 0x18f80b000 - 0x18f84afff com.apple.CoreServicesInternal (505 - 505) <5774EE20-DF1A-330E-A776-AEC79006908C> /System/Library/PrivateFrameworks/CoreServicesInternal.framework/Versions/A/CoreServicesInternal - 0x18f84b000 - 0x18f88bfff com.apple.CSStore (1141.1 - 1141.1) <75A298B2-F273-3922-97E8-94E19D2517CA> /System/Library/PrivateFrameworks/CoreServicesStore.framework/Versions/A/CoreServicesStore - 0x18f88c000 - 0x18f96cfff com.apple.framework.IOKit (2.0.2 - 100065.40.4) <029AEE72-3595-3815-B603-22F4AAA2D06F> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit - 0x18f96d000 - 0x18f97dfff libsystem_notify.dylib (317) /usr/lib/system/libsystem_notify.dylib - 0x1912f5000 - 0x1913bdff7 libboringssl.dylib (480) <1657C102-7B93-3D24-8A87-8E16222EC9EC> /usr/lib/libboringssl.dylib - 0x1913be000 - 0x1913befff libnetwork.dylib (3762.41.2) <93791E09-CE36-37DE-8897-C32FC6D23F84> /usr/lib/libnetwork.dylib - 0x1913bf000 - 0x19178ffff com.apple.CFNetwork (1.0 - 1485) <1179E11A-65ED-33E1-9278-CC4904207F31> /System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork - 0x191790000 - 0x1917a9ff7 libsystem_networkextension.dylib (1838.40.8) <11D8A745-1F2F-3493-872E-C58F13BBD4D2> /usr/lib/system/libsystem_networkextension.dylib - 0x1917aa000 - 0x1917abfff libenergytrace.dylib (23) <9E6D595D-4E2C-3630-A2DA-1E2586FEF628> /usr/lib/libenergytrace.dylib - 0x1917ac000 - 0x19181ffdf libMobileGestalt.dylib (1291.40.8) <952B56CC-68E9-3C78-A816-E44605605DE5> /usr/lib/libMobileGestalt.dylib - 0x191820000 - 0x191837fff libsystem_asl.dylib (398) <9833954F-A010-3492-810A-70F96E17266E> /usr/lib/system/libsystem_asl.dylib - 0x191838000 - 0x191858ffd com.apple.TCC (1.0 - 1) /System/Library/PrivateFrameworks/TCC.framework/Versions/A/TCC - 0x192dd5000 - 0x192deefff com.apple.ProtocolBuffer (1 - 300.21.8.9.2) /System/Library/PrivateFrameworks/ProtocolBuffer.framework/Versions/A/ProtocolBuffer - 0x192def000 - 0x192f8bffb libsqlite3.dylib (349.3) <567CDD63-191D-36E4-959B-7DE47C7AFD7A> /usr/lib/libsqlite3.dylib - 0x193159000 - 0x1931ccfff com.apple.AE (944 - 944) <9A97FC75-CB6D-309B-845E-56C54B72D6A8> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE - 0x1931cd000 - 0x1931d6ffc libdns_services.dylib (2200.40.37.0.1) /usr/lib/libdns_services.dylib - 0x1931d7000 - 0x1931dfff3 libsystem_symptoms.dylib (1848.40.12) /usr/lib/system/libsystem_symptoms.dylib - 0x1931e0000 - 0x193dc4fff com.apple.Network (1.0 - 1) /System/Library/Frameworks/Network.framework/Versions/A/Network - 0x193dc5000 - 0x193df3fff com.apple.analyticsd (1.0 - 1) /System/Library/PrivateFrameworks/CoreAnalytics.framework/Versions/A/CoreAnalytics - 0x193df4000 - 0x193df5fff libDiagnosticMessagesClient.dylib (113) /usr/lib/libDiagnosticMessagesClient.dylib - 0x193df6000 - 0x193e3cfff com.apple.spotlight.metadata.utilities (1.0 - 2274.3) <0E25C3BA-5220-375A-8F05-6415CA45DD40> /System/Library/PrivateFrameworks/MetadataUtilities.framework/Versions/A/MetadataUtilities - 0x193e3d000 - 0x193ed7fff com.apple.Metadata (14.1 - 2274.3) <17D03259-8852-32B4-9B34-BB973F43FEDE> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata - 0x193ed8000 - 0x193ee0ffb com.apple.DiskArbitration (2.7 - 2.7) <4219AEC5-B906-3E12-BA8D-6847F52AFA0F> /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration - 0x193ee1000 - 0x1942c5ff7 com.apple.vImage (8.1 - 584) /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage - 0x19494b000 - 0x19495afff com.apple.OpenDirectory (14.1 - 642) /System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory - 0x19495b000 - 0x19497affb com.apple.CFOpenDirectory (14.1 - 642) /System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory - 0x19497b000 - 0x194987ff7 com.apple.CoreServices.FSEvents (1376 - 1376) <7D24FA70-0DFF-342C-9D88-FCA31213F8F4> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/FSEvents - 0x194988000 - 0x1949b2fff com.apple.coreservices.SharedFileList (225 - 225) /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SharedFileList.framework/Versions/A/SharedFileList - 0x1949b3000 - 0x1949b9fff libapp_launch_measurement.dylib (17) <3A9DDB7F-800F-3788-A6B5-1B5BCC6343E9> /usr/lib/libapp_launch_measurement.dylib - 0x1949ba000 - 0x194a03fff com.apple.CoreAutoLayout (1.0 - 32) /System/Library/PrivateFrameworks/CoreAutoLayout.framework/Versions/A/CoreAutoLayout - 0x194a04000 - 0x194aecffb libxml2.2.dylib (37.8) <236C8BF2-0800-396C-AF03-B5328CAD1FD6> /usr/lib/libxml2.2.dylib - 0x196238000 - 0x196261ff7 libsystem_containermanager.dylib (582.40.2.0.1) <444831B7-DB95-3E3A-8C1C-97E49676B185> /usr/lib/system/libsystem_containermanager.dylib - 0x196262000 - 0x196279fff com.apple.IOSurface (352.0.3 - 352.0.3) <7D9D9E22-C780-3790-BF2B-30FC1A9BF7CB> /System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface - 0x1971b2000 - 0x1971b6fff libsystem_configuration.dylib (1296.40.6) <389249EB-5A9C-362C-985F-6F470280D6F3> /usr/lib/system/libsystem_configuration.dylib - 0x1971b7000 - 0x1971bcff3 libsystem_sandbox.dylib (2169.41.1) <893061BE-F3BD-3696-AC8D-4DA5E7477A20> /usr/lib/system/libsystem_sandbox.dylib - 0x1971bf000 - 0x1971c2fff com.apple.AppleSystemInfo (3.1.5 - 3.1.5) <011F9762-19FD-3500-AF7E-889D3E193FD3> /System/Library/PrivateFrameworks/AppleSystemInfo.framework/Versions/A/AppleSystemInfo - 0x1971c3000 - 0x1971c4fff liblangid.dylib (138) /usr/lib/liblangid.dylib - 0x1971c5000 - 0x1972e0fff com.apple.CoreNLP (1.0 - 313) /System/Library/PrivateFrameworks/CoreNLP.framework/Versions/A/CoreNLP - 0x1972e1000 - 0x1972e6fff com.apple.LinguisticData (1.0 - 483.10) <9E7B9C4C-1E7D-339A-A3A8-A9BB4DCA0255> /System/Library/PrivateFrameworks/LinguisticData.framework/Versions/A/LinguisticData - 0x1972e7000 - 0x197ac1faf libBNNS.dylib (830.40.9.0.1) <65FC5752-9068-3F54-ACC6-C7C2F25A9A33> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBNNS.dylib - 0x197ac2000 - 0x197bb2f47 libvDSP.dylib (1041) <6A43D803-7871-3FDA-AD48-B1C2F1F50930> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib - 0x197bb3000 - 0x197be5fff com.apple.CoreEmoji (1.0 - 200.151) <85D6BBAF-FF34-3AC9-903C-571C45856662> /System/Library/PrivateFrameworks/CoreEmoji.framework/Versions/A/CoreEmoji - 0x197be6000 - 0x197bf5ff7 com.apple.IOMobileFramebuffer (343.0.0 - 343.0.0) <103B98C3-473A-3B24-AC4B-8E5D30062CEF> /System/Library/PrivateFrameworks/IOMobileFramebuffer.framework/Versions/A/IOMobileFramebuffer - 0x197e16000 - 0x197ea3fff com.apple.securityfoundation (6.0 - 55282) <53711520-62D0-336D-8A69-75B2B1155261> /System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation - 0x197ea4000 - 0x197ec9fff com.apple.coreservices.BackgroundTaskManagement (1.0 - 104) <77003297-2742-30A1-9F2B-3CB101228720> /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Versions/A/BackgroundTaskManagement - 0x197ed5000 - 0x197ed7ffb libquarantine.dylib (172.40.1) /usr/lib/system/libquarantine.dylib - 0x197ed8000 - 0x197ee3fff libCheckFix.dylib (32) /usr/lib/libCheckFix.dylib - 0x197ee4000 - 0x197efbfff libcoretls.dylib (186) <9A15527C-37F5-3389-AC30-69372529D496> /usr/lib/libcoretls.dylib - 0x197efc000 - 0x197f0dffb libbsm.0.dylib (89) <17824944-FFBE-32C5-AB4E-E433BA62EF4E> /usr/lib/libbsm.0.dylib - 0x197f0e000 - 0x197f69fff libmecab.dylib (1062.152) /usr/lib/libmecab.dylib - 0x197f6a000 - 0x197f6cffb libgermantok.dylib (29) /usr/lib/libgermantok.dylib - 0x197f6d000 - 0x197f81fff libLinearAlgebra.dylib (1447) <61E860A6-6912-35A8-819C-F1ACDE6C91FF> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLinearAlgebra.dylib - 0x19850a000 - 0x1985cdfdf com.apple.AppleFSCompression (158 - 1.0) <2FC70EFA-CA67-359C-A3E2-88F70403EAEA> /System/Library/PrivateFrameworks/AppleFSCompression.framework/Versions/A/AppleFSCompression - 0x1985ce000 - 0x1985daffb libbz2.1.0.dylib (45) <15785738-C3DB-39BA-9AE9-CC522EABBBA8> /usr/lib/libbz2.1.0.dylib - 0x1985db000 - 0x1985e0fff libsystem_coreservices.dylib (152.1) <26F9E755-26EC-3974-BEC8-3B706D0254BA> /usr/lib/system/libsystem_coreservices.dylib - 0x1985e1000 - 0x198612fff com.apple.CoreServices.OSServices (1141.1 - 1141.1) /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices - 0x1988ee000 - 0x1988fcfff libz.1.dylib (91.40.1.0.1) <7523CDC8-DA6B-382B-8DDC-F63D156A299B> /usr/lib/libz.1.dylib - 0x1988fd000 - 0x198933ff3 libsystem_m.dylib (3252.40.2) <072B3C9C-C54E-3F27-B231-88482F485502> /usr/lib/system/libsystem_m.dylib - 0x198934000 - 0x198937fff libcharset.1.dylib (86) /usr/lib/libcharset.1.dylib - 0x198938000 - 0x19893fffb libmacho.dylib (1009) <29C5FB27-B26B-3927-89C1-917051E5D353> /usr/lib/system/libmacho.dylib - 0x198940000 - 0x19895ffff libkxld.dylib (10002.41.9) <87786C0C-7D78-3B0B-B6B5-6603B8804253> /usr/lib/system/libkxld.dylib - 0x198960000 - 0x19896dff7 libcommonCrypto.dylib (600025) <4CF0B406-031F-3BC7-8A97-61DFA262C179> /usr/lib/system/libcommonCrypto.dylib - 0x19896e000 - 0x198978fff libunwind.dylib (1600.112) <18A7097B-A9D1-34C6-8333-0D16CF789585> /usr/lib/system/libunwind.dylib - 0x198979000 - 0x198980fff liboah.dylib (315.1) /usr/lib/liboah.dylib - 0x198981000 - 0x19898aff3 libcopyfile.dylib (196) /usr/lib/system/libcopyfile.dylib - 0x19898b000 - 0x19898efff libcompiler_rt.dylib (103.1) /usr/lib/system/libcompiler_rt.dylib - 0x19898f000 - 0x198993ffb libsystem_collections.dylib (1583.40.7) <985E00EB-F590-3B07-876A-EFE015DB79EF> /usr/lib/system/libsystem_collections.dylib - 0x198994000 - 0x198996ffb libsystem_secinit.dylib (143) /usr/lib/system/libsystem_secinit.dylib - 0x198997000 - 0x198999ffb libremovefile.dylib (70) /usr/lib/system/libremovefile.dylib - 0x19899a000 - 0x19899affb libkeymgr.dylib (31) /usr/lib/system/libkeymgr.dylib - 0x19899b000 - 0x1989a3ff7 libsystem_dnssd.dylib (2200.40.37.0.1) /usr/lib/system/libsystem_dnssd.dylib - 0x1989a4000 - 0x1989a9fff libcache.dylib (92) <47B56AFF-F15C-3550-B9B6-560806BC20C5> /usr/lib/system/libcache.dylib - 0x1989aa000 - 0x1989abfff libSystem.B.dylib (1336) <1E176743-EDDD-309B-AE12-6369F1A2029B> /usr/lib/libSystem.B.dylib - 0x1989ac000 - 0x1989affff libfakelink.dylib (5) /usr/lib/libfakelink.dylib - 0x1989b0000 - 0x1989b0ffb com.apple.SoftLinking (1.0 - 47) /System/Library/PrivateFrameworks/SoftLinking.framework/Versions/A/SoftLinking - 0x1989b1000 - 0x1989e6ffb libpcap.A.dylib (126.41.1) <494571FE-C8C2-3193-AA67-A17AC286AA4A> /usr/lib/libpcap.A.dylib - 0x1989e7000 - 0x1989edff3 libiconv.2.dylib (86) /usr/lib/libiconv.2.dylib - 0x1989ee000 - 0x1989fffff libcmph.dylib (8) <615CF8F9-9E63-3C31-A888-73A7C48B702B> /usr/lib/libcmph.dylib - 0x198a00000 - 0x198a88ff3 libarchive.2.dylib (121.40.3) <010A91A0-9B78-3798-B1D9-F017104C3EE2> /usr/lib/libarchive.2.dylib - 0x198a89000 - 0x198affff3 com.apple.SearchKit (1.4.1 - 1.4.1) /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit - 0x198b00000 - 0x198b01ff7 libThaiTokenizer.dylib (15) <67E80E6B-32B4-36BF-921C-D5DA2AEC583D> /usr/lib/libThaiTokenizer.dylib - 0x198b02000 - 0x198b27fff com.apple.applesauce (1.0 - 16.55) /System/Library/PrivateFrameworks/AppleSauce.framework/Versions/A/AppleSauce - 0x198b28000 - 0x198b41ffb libapple_nghttp2.dylib (16) /usr/lib/libapple_nghttp2.dylib - 0x198b42000 - 0x198b54fff libSparseBLAS.dylib (1447) /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparseBLAS.dylib - 0x198b57000 - 0x198b5cfff libpam.2.dylib (33) <81CDA9F5-6B0D-300F-B236-BA8141836521> /usr/lib/libpam.2.dylib - 0x198b5d000 - 0x198c2afcf libcompression.dylib (166) <0CAB9E05-BF75-3913-A9E0-1D85226274AC> /usr/lib/libcompression.dylib - 0x198c2b000 - 0x198c2fffb libQuadrature.dylib (7) <41C54DE8-6D6E-3091-AE3C-8F93FAE80BD1> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libQuadrature.dylib - 0x198c30000 - 0x199da1fff libLAPACK.dylib (1447) /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib - 0x199da2000 - 0x199df8fff com.apple.DictionaryServices (1.2 - 355) /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices - 0x199df9000 - 0x199e11ff3 liblzma.5.dylib (18) /usr/lib/liblzma.5.dylib - 0x199e12000 - 0x199e13ffb libcoretls_cfhelpers.dylib (186) /usr/lib/libcoretls_cfhelpers.dylib - 0x199e14000 - 0x199e82ff3 com.apple.APFS (2235.41.1 - 2235.41.1) <1AC37BDF-F264-3A0E-A5AE-0D98174F8095> /System/Library/PrivateFrameworks/APFS.framework/Versions/A/APFS - 0x199e83000 - 0x199e91ffb libxar.1.dylib (498) <22C053D2-5F9A-356A-A3AD-09BD790C6437> /usr/lib/libxar.1.dylib - 0x199e92000 - 0x199e95ff7 libutil.dylib (72) /usr/lib/libutil.dylib - 0x199e96000 - 0x199ec1ff3 libxslt.1.dylib (20.3) <215E57F4-CF08-38D9-921F-5AF522C1159A> /usr/lib/libxslt.1.dylib - 0x199eca000 - 0x199f45fff libvMisc.dylib (1041) <9FEC3CE5-CBA8-3524-83A1-E10C910E101D> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib - 0x19a26a000 - 0x19a274fff libheimdal-asn1.dylib (685) /usr/lib/libheimdal-asn1.dylib - 0x19b968000 - 0x19b9c5ffa libusrtcp.dylib (3762.41.2) <0F6EF57C-DEE8-3D4D-9E33-5F451FF4AFB2> /usr/lib/libusrtcp.dylib - 0x19b9c6000 - 0x19bf05fff libswiftCore.dylib (5.9 - 5.9.0.123.305) <1FCC7DF4-6B2E-3CBA-9125-EB1ED90943F4> /usr/lib/swift/libswiftCore.dylib - 0x19de20000 - 0x19df5cfff com.apple.combine (1.0 - 311) <5E78AE31-70E7-3F20-B41B-F0AD6E39D711> /System/Library/Frameworks/Combine.framework/Versions/A/Combine - 0x19fefa000 - 0x19fefafff com.apple.Accelerate.vecLib (3.11 - vecLib 3.11) <84B9B13D-FDCC-3AE6-8979-4F138842CA34> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib - 0x19ff23000 - 0x19ff23fff com.apple.CoreServices (1226 - 1226) <8A75797D-1FDA-32DA-9E90-07F6CF0E512E> /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices - 0x1a0227000 - 0x1a0227fff com.apple.Accelerate (1.11 - Accelerate 1.11) <02B4577F-7DB2-3A40-8800-656D8D30A763> /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate - 0x1a158a000 - 0x1a15a2ff7 libswiftDispatch.dylib (34.0.2) /usr/lib/swift/libswiftDispatch.dylib - 0x1a3d64000 - 0x1a3d67ff5 libswiftObjectiveC.dylib (8) /usr/lib/swift/libswiftObjectiveC.dylib - 0x1a3d68000 - 0x1a3d80fff libswiftos.dylib (1040) <9B41C748-9156-304D-B221-025E455A9B6D> /usr/lib/swift/libswiftos.dylib - 0x1aea89000 - 0x1aea92ff7 libswiftDarwin.dylib (??? - 5.9.0.123.305) <05D38AAE-B8B9-3AC5-A653-3597E052AC32> /usr/lib/swift/libswiftDarwin.dylib - 0x1b0c92000 - 0x1b0ca5fff libmis.dylib (381) <8AB6E1A0-4242-3689-8B67-59F86F022FE2> /usr/lib/libmis.dylib - 0x1b0cb3000 - 0x1b0cb9fff libswiftCoreFoundation.dylib (2000) /usr/lib/swift/libswiftCoreFoundation.dylib - 0x1b0cc9000 - 0x1b0cfeff7 libswiftXPC.dylib (29.0.2) <9E6314D3-CE1C-3970-8350-26043FCAA913> /usr/lib/swift/libswiftXPC.dylib - 0x1b0d00000 - 0x1b0d00fff libswiftIOKit.dylib (1) /usr/lib/swift/libswiftIOKit.dylib - 0x1c0782000 - 0x1c0789fff com.apple.MobileSystemServices (1.0 - 1) /System/Library/PrivateFrameworks/MobileSystemServices.framework/Versions/A/MobileSystemServices - 0x1f1469000 - 0x1f146cfff com.apple.ConfigProfileHelper (16.1 - 1622) /System/Library/PrivateFrameworks/ConfigProfileHelper.framework/Versions/A/ConfigProfileHelper - 0x1fe70f000 - 0x1fe722fff com.apple.private.AppleMobileFileIntegrity-fmk (1.0 - 1) <8039181A-3E85-3233-B9D9-7563C9E165FD> /System/Library/PrivateFrameworks/AppleMobileFileIntegrity.framework/Versions/A/AppleMobileFileIntegrity - 0x200b03000 - 0x200c61fff com.apple.CollectionsInternal (1.1.0 - 19) <6A16A70E-B3E9-3ECE-9485-2192FF0C1506> /System/Library/PrivateFrameworks/CollectionsInternal.framework/Versions/A/CollectionsInternal - 0x20e5cf000 - 0x20e6a6fff com.apple.InstalledContentLibrary (1.0 - 1.0) <9920C0DA-5FB7-34CF-A15C-3E753F8DF951> /System/Library/PrivateFrameworks/InstalledContentLibrary.framework/Versions/A/InstalledContentLibrary - 0x21030c000 - 0x2107e0ffb com.apple.MIL (5.33 - 5.33.5) /System/Library/PrivateFrameworks/MIL.framework/Versions/A/MIL - 0x211ad9000 - 0x211b23fff com.apple.MessageSecurity (1.0 - 101.40.6) <2F806526-DC8F-3A34-9959-50112A8251D3> /System/Library/PrivateFrameworks/MessageSecurity.framework/Versions/A/MessageSecurity - 0x216646000 - 0x21664cff7 com.apple.ReflectionInternal (1.0.0 - 19) <3CE1C9E3-0652-3F64-BCB5-8EC03A0FFD99> /System/Library/PrivateFrameworks/ReflectionInternal.framework/Versions/A/ReflectionInternal - 0x216c32000 - 0x216c48ff7 com.apple.RuntimeInternal (1.0.0 - 19) <01065A3F-0218-3BAE-8832-1FBF07AD6712> /System/Library/PrivateFrameworks/RuntimeInternal.framework/Versions/A/RuntimeInternal - 0x229daa000 - 0x229db5fff libCoreEntitlements.dylib (53) <73C57354-D94C-3CC2-99F7-06B75FC7DE4A> /usr/lib/libCoreEntitlements.dylib - 0x229f93000 - 0x229f9efff libTLE.dylib (53) <2B0C780B-984D-36DA-938E-7CBE9AA241B2> /usr/lib/libTLE.dylib - 0x22b30c000 - 0x22b36aff3 libswift_Concurrency.dylib (5.9 - 5.9.0.123.305) <044E4103-2CB6-37B9-9F4B-A53237EA4521> /usr/lib/swift/libswift_Concurrency.dylib - 0x22b3a9000 - 0x22b454fff libswift_RegexParser.dylib (??? - 5.9.0.123.305) /usr/lib/swift/libswift_RegexParser.dylib - 0x22b455000 - 0x22b4f5fff libswift_StringProcessing.dylib (??? - 5.9.0.123.305) <97484081-9BDD-3AD8-8554-1C3E3FA349B4> /usr/lib/swift/libswift_StringProcessing.dylib - 0x22b636000 - 0x22b639fff libsystem_darwindirectory.dylib (86.0.2) <8C2C7C2A-F18E-3196-BB40-B4BB95C5BFF9> /usr/lib/system/libsystem_darwindirectory.dylib diff --git a/deadlock-2023-11-19_2.txt b/deadlock-2023-11-19_2.txt deleted file mode 100644 index cf7e29a..0000000 --- a/deadlock-2023-11-19_2.txt +++ /dev/null @@ -1,430 +0,0 @@ - -Analysis of sampling rqbit (pid 40284) every 1 millisecond -Process: rqbit [40284] -Path: /Users/USER/*/rqbit -Load Address: 0x104158000 -Identifier: rqbit -Version: 0 -Code Type: ARM64 -Platform: macOS -Parent Process: bash [2715] - -Date/Time: 2023-11-19 16:12:53.000 +0000 -Launch Time: 2023-11-19 16:11:06.814 +0000 -OS Version: macOS 14.1 (23B74) -Report Version: 7 -Analysis Tool: /usr/bin/sample - -Physical footprint: 16.1M -Physical footprint (peak): 16.4M -Idle exit: untracked ----- - -Call graph: - 8136 Thread_2482465 DispatchQueue_1: com.apple.main-thread (serial) - + 8136 start (in dyld) + 2360 [0x18bddd0e0] - + 8136 main (in rqbit) + 32 [0x10422279c] - + 8136 std::rt::lang_start::hc92c8460d670427e (in rqbit) + 44 [0x1041ba1c8] rt.rs:166 - + 8136 std::rt::lang_start_internal::hea4720c823b0b053 (in rqbit) + 648 [0x104575c08] - + 8136 std::rt::lang_start::_$u7b$$u7b$closure$u7d$$u7d$::hf04eff045c3204ce (in rqbit) + 24 [0x1041ba1ec] rt.rs:167 - + 8136 std::sys_common::backtrace::__rust_begin_short_backtrace::hc575c434e3c9f843 (in rqbit) + 12 [0x1041ba194] backtrace.rs:154 - + 8136 rqbit::main::hfdee818328ed2d4e (in rqbit) + 3712 [0x10421797c] main.rs:224 - + 8136 tokio::runtime::runtime::Runtime::block_on::h41f524f37dfac32b (in rqbit) + 92 [0x1041940b4] runtime.rs:350 - + 8136 tokio::runtime::context::runtime::enter_runtime::h39290a679d6dea45 (in rqbit) + 380 [0x1041dcbfc] runtime.rs:65 - + 8136 tokio::runtime::park::CachedParkThread::block_on::hd6c99b8d2957d23a (in rqbit) + 248 [0x104211ce4] park.rs:286 - + 8136 (.llvm.1541039607769432884) (in rqbit) + 256 [0x1044bcd18] - + 8136 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - + 8136 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] - 8136 Thread_2482475 - + 8136 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] - + 8136 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] - + 8136 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x104582d00] - + 8136 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h48d697886899fdac (in rqbit) + 104 [0x1042018f4] function.rs:250 - + 8136 std::sys_common::backtrace::__rust_begin_short_backtrace::h46ee465a500d4572 (in rqbit) + 48 [0x1041b9fb8] backtrace.rs:154 - + 8136 std::thread::sleep::ha2ab9f3c2f7e1357 (in rqbit) + 84 [0x104576308] - + 8136 nanosleep (in libsystem_c.dylib) + 220 [0x18bfff2f8] - + 8136 __semwait_signal (in libsystem_kernel.dylib) + 8 [0x18c11bea8] - 8136 Thread_2482476: tokio-runtime-worker - + 8136 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] - + 8136 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] - + 8136 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x104582d00] - + 8136 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x1044c7368] - + 8136 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x1044b8434] - + 8136 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x1044bbb10] - + 8136 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x1042b7e6c] - + 8136 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x1042b9e24] - + 8136 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x1044c062c] - + 8136 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x1044bed00] - + 8136 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x1044c4fc0] - + 8136 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 1964 [0x1044c0e70] - + 8136 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x1044c1530] - + 8136 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c (in rqbit) + 124 [0x1042b70a4] - + 8136 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4 (in rqbit) + 6752 [0x1042a0930] - + 8136 librqbit::torrent_state::TorrentState::on_peer_died::hd142bdb5e66f7a09 (in rqbit) + 3508 [0x1042a781c] - + 8136 _$LT$dashmap..DashMap$LT$K$C$V$C$S$GT$$u20$as$u20$dashmap..t..Map$LT$K$C$V$C$S$GT$$GT$::_remove::h80d9c1783023f014 (in rqbit) + 432 [0x1042e1204] - + 8136 dashmap::lock::RawRwLock::lock_exclusive_slow::hebac357c00faad7e (in rqbit) + 1176 [0x1045b9e60] - + 8136 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - + 8136 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] - 8136 Thread_2482477: tokio-runtime-worker - + 8136 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] - + 8136 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] - + 8136 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x104582d00] - + 8136 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x1044c7368] - + 8136 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x1044b8434] - + 8136 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x1044bbb10] - + 8136 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x1042b7e6c] - + 8136 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x1042b9e24] - + 8136 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x1044c062c] - + 8136 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x1044bed00] - + 8136 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x1044c4fc0] - + 8136 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 1964 [0x1044c0e70] - + 8136 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x1044c1530] - + 8136 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c (in rqbit) + 124 [0x1042b70a4] - + 8136 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4 (in rqbit) + 6752 [0x1042a0930] - + 8136 librqbit::torrent_state::TorrentState::on_peer_died::hd142bdb5e66f7a09 (in rqbit) + 64 [0x1042a6aa8] - + 8136 _$LT$dashmap..DashMap$LT$K$C$V$C$S$GT$$u20$as$u20$dashmap..t..Map$LT$K$C$V$C$S$GT$$GT$::_get_mut::ha163c599d0d0a786 (in rqbit) + 588 [0x1042e1454] - + 8136 dashmap::lock::RawRwLock::lock_exclusive_slow::hebac357c00faad7e (in rqbit) + 1176 [0x1045b9e60] - + 8136 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - + 8136 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] - 8136 Thread_2482479: tokio-runtime-worker - + 8136 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] - + 8136 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] - + 8136 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x104582d00] - + 8136 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x1044c7368] - + 8136 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x1044b8434] - + 8136 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x1044bbb10] - + 8136 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x1042b7e6c] - + 8136 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x1042b9e24] - + 8136 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x1044c062c] - + 8136 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x1044bed00] - + 8136 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x1044c4fc0] - + 8136 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 1964 [0x1044c0e70] - + 8136 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x1044c1530] - + 8136 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c (in rqbit) + 124 [0x1042b70a4] - + 8136 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4 (in rqbit) + 6752 [0x1042a0930] - + 8136 librqbit::torrent_state::TorrentState::on_peer_died::hd142bdb5e66f7a09 (in rqbit) + 3508 [0x1042a781c] - + 8136 _$LT$dashmap..DashMap$LT$K$C$V$C$S$GT$$u20$as$u20$dashmap..t..Map$LT$K$C$V$C$S$GT$$GT$::_remove::h80d9c1783023f014 (in rqbit) + 432 [0x1042e1204] - + 8136 dashmap::lock::RawRwLock::lock_exclusive_slow::hebac357c00faad7e (in rqbit) + 1176 [0x1045b9e60] - + 8136 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - + 8136 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] - 8136 Thread_2482480: tokio-runtime-worker - + 8136 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] - + 8136 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] - + 8136 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x104582d00] - + 8136 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x1044c7368] - + 8136 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x1044b8434] - + 8136 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x1044bbb10] - + 8136 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::ha45a744d0ecf214e (in rqbit) + 168 [0x1044b0954] - + 8136 tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h8b38a0b62ce90d26 (in rqbit) + 204 [0x1044b6efc] - + 8136 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x1044c062c] - + 8136 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x1044bed00] - + 8136 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x1044c4fc0] - + 8136 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 1964 [0x1044c0e70] - + 8136 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x1044c1530] - + 8136 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c (in rqbit) + 124 [0x1042b70a4] - + 8136 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4 (in rqbit) + 6752 [0x1042a0930] - + 8136 librqbit::torrent_state::TorrentState::on_peer_died::hd142bdb5e66f7a09 (in rqbit) + 3508 [0x1042a781c] - + 8136 _$LT$dashmap..DashMap$LT$K$C$V$C$S$GT$$u20$as$u20$dashmap..t..Map$LT$K$C$V$C$S$GT$$GT$::_remove::h80d9c1783023f014 (in rqbit) + 432 [0x1042e1204] - + 8136 dashmap::lock::RawRwLock::lock_exclusive_slow::hebac357c00faad7e (in rqbit) + 1176 [0x1045b9e60] - + 8136 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - + 8136 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] - 8136 Thread_2482481: tokio-runtime-worker - + 8136 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] - + 8136 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] - + 8136 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x104582d00] - + 8136 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x1044c7368] - + 8136 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x1044b8434] - + 8136 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x1044bbb10] - + 8136 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::ha45a744d0ecf214e (in rqbit) + 168 [0x1044b0954] - + 8136 tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h8b38a0b62ce90d26 (in rqbit) + 204 [0x1044b6efc] - + 8136 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x1044c062c] - + 8136 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x1044bed00] - + 8136 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x1044c4fc0] - + 8136 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 1964 [0x1044c0e70] - + 8136 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x1044c1530] - + 8136 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c (in rqbit) + 124 [0x1042b70a4] - + 8136 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4 (in rqbit) + 6752 [0x1042a0930] - + 8136 librqbit::torrent_state::TorrentState::on_peer_died::hd142bdb5e66f7a09 (in rqbit) + 3508 [0x1042a781c] - + 8136 _$LT$dashmap..DashMap$LT$K$C$V$C$S$GT$$u20$as$u20$dashmap..t..Map$LT$K$C$V$C$S$GT$$GT$::_remove::h80d9c1783023f014 (in rqbit) + 432 [0x1042e1204] - + 8136 dashmap::lock::RawRwLock::lock_exclusive_slow::hebac357c00faad7e (in rqbit) + 1176 [0x1045b9e60] - + 8136 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - + 8136 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] - 8136 Thread_2482482: tokio-runtime-worker - + 8136 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] - + 8136 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] - + 8136 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x104582d00] - + 8136 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x1044c7368] - + 8136 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x1044b8434] - + 8136 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x1044bbb10] - + 8136 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::ha45a744d0ecf214e (in rqbit) + 168 [0x1044b0954] - + 8136 tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h8b38a0b62ce90d26 (in rqbit) + 204 [0x1044b6efc] - + 8136 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x1044c062c] - + 8136 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x1044bed00] - + 8136 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x1044c4fc0] - + 8136 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 1964 [0x1044c0e70] - + 8136 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x1044c1530] - + 8136 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c (in rqbit) + 124 [0x1042b70a4] - + 8136 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4 (in rqbit) + 6752 [0x1042a0930] - + 8136 librqbit::torrent_state::TorrentState::on_peer_died::hd142bdb5e66f7a09 (in rqbit) + 3508 [0x1042a781c] - + 8136 _$LT$dashmap..DashMap$LT$K$C$V$C$S$GT$$u20$as$u20$dashmap..t..Map$LT$K$C$V$C$S$GT$$GT$::_remove::h80d9c1783023f014 (in rqbit) + 432 [0x1042e1204] - + 8136 dashmap::lock::RawRwLock::lock_exclusive_slow::hebac357c00faad7e (in rqbit) + 1176 [0x1045b9e60] - + 8136 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - + 8136 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] - 8136 Thread_2482924 - + 8136 start_wqthread (in libsystem_pthread.dylib) + 8 [0x18c153e30] - + 8136 _pthread_wqthread (in libsystem_pthread.dylib) + 364 [0x18c155160] - + 8136 __workq_kernreturn (in libsystem_kernel.dylib) + 8 [0x18c11a564] - 8136 Thread_2483197: tokio-runtime-worker - + 8136 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] - + 8136 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] - + 8136 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x104582d00] - + 8136 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x1044c7368] - + 8136 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x1044b8434] - + 8136 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x1044bbb10] - + 8136 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x1042b7e6c] - + 8136 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x1042b9e24] - + 8136 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x1044c062c] - + 8136 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x1044bed00] - + 8136 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x1044c4fc0] - + 8136 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 1964 [0x1044c0e70] - + 8136 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x1044c1530] - + 8136 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c (in rqbit) + 124 [0x1042b70a4] - + 8136 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4 (in rqbit) + 6752 [0x1042a0930] - + 8136 librqbit::torrent_state::TorrentState::on_peer_died::hd142bdb5e66f7a09 (in rqbit) + 3508 [0x1042a781c] - + 8136 _$LT$dashmap..DashMap$LT$K$C$V$C$S$GT$$u20$as$u20$dashmap..t..Map$LT$K$C$V$C$S$GT$$GT$::_remove::h80d9c1783023f014 (in rqbit) + 432 [0x1042e1204] - + 8136 dashmap::lock::RawRwLock::lock_exclusive_slow::hebac357c00faad7e (in rqbit) + 1176 [0x1045b9e60] - + 8136 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - + 8136 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] - 8136 Thread_2483315: tokio-runtime-worker - + 8136 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] - + 8136 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] - + 8136 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x104582d00] - + 8136 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x1044c7368] - + 8136 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x1044b8434] - + 8136 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x1044bbb10] - + 8136 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x1042b7e6c] - + 8136 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x1042b9e24] - + 8136 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x1044c062c] - + 8136 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x1044bed00] - + 8136 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x1044c4fc0] - + 8136 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 1964 [0x1044c0e70] - + 8136 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x1044c1530] - + 8136 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c (in rqbit) + 124 [0x1042b70a4] - + 8136 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4 (in rqbit) + 6752 [0x1042a0930] - + 8136 librqbit::torrent_state::TorrentState::on_peer_died::hd142bdb5e66f7a09 (in rqbit) + 3508 [0x1042a781c] - + 8136 _$LT$dashmap..DashMap$LT$K$C$V$C$S$GT$$u20$as$u20$dashmap..t..Map$LT$K$C$V$C$S$GT$$GT$::_remove::h80d9c1783023f014 (in rqbit) + 432 [0x1042e1204] - + 8136 dashmap::lock::RawRwLock::lock_exclusive_slow::hebac357c00faad7e (in rqbit) + 1176 [0x1045b9e60] - + 8136 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - + 8136 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] - 8136 Thread_2483316: tokio-runtime-worker - 8136 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] - 8136 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] - 8136 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x104582d00] - 8136 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x1044c7368] - 8136 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x1044b8434] - 8136 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x1044bbb10] - 8136 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x1042b7e6c] - 8136 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x1042b9e24] - 8136 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x1044c062c] - 8136 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x1044bed00] - 8136 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x1044c4fc0] - 8136 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 1964 [0x1044c0e70] - 8136 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x1044c1530] - 8136 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c (in rqbit) + 124 [0x1042b70a4] - 8136 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4 (in rqbit) + 6312 [0x1042a0778] - 8136 _$LT$tokio..future..poll_fn..PollFn$LT$F$GT$$u20$as$u20$core..future..future..Future$GT$::poll::heaf39ed4d1b44001 (in rqbit) + 3200 [0x1042d3e04] - 8136 _$LT$librqbit..torrent_state..PeerHandler$u20$as$u20$librqbit..peer_connection..PeerConnectionHandler$GT$::on_received_message::hd1fafc35289e3666 (in rqbit) + 11020 [0x1042ab4dc] - 8136 librqbit::spawn_utils::BlockingSpawner::spawn_block_in_place::h3348ba79b8e3f9d8 (in rqbit) + 300 [0x1042e63b8] - 8136 (.llvm.8527625197190493895) (in rqbit) + 1148 [0x1042e784c] - 8136 librqbit::torrent_state::TorrentState::maybe_transmit_haves::hec3992192440d10d (in rqbit) + 108 [0x1042a82f4] - 8136 _$LT$dashmap..iter..Iter$LT$K$C$V$C$S$C$M$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$::next::h7229e56710637bab (in rqbit) + 396 [0x1042d8aec] - 8136 dashmap::lock::RawRwLock::lock_shared_slow::h8b82457a9ed265d9 (in rqbit) + 820 [0x1045ba8dc] - 8136 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - 8136 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] - -Total number in stack (recursive counted multiple, when >=5): - 10 __psynch_cvwait (in libsystem_kernel.dylib) + 0 [0x18c11c0a4] - 10 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - 10 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] - 10 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x104582d00] - 10 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] - 9 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x1044c7368] - 9 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x1044b8434] - 9 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x1044bbb10] - 9 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x1044bed00] - 9 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x1044c4fc0] - 9 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 1964 [0x1044c0e70] - 9 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x1044c1530] - 9 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x1044c062c] - 9 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c (in rqbit) + 124 [0x1042b70a4] - 8 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4 (in rqbit) + 6752 [0x1042a0930] - 8 dashmap::lock::RawRwLock::lock_exclusive_slow::hebac357c00faad7e (in rqbit) + 1176 [0x1045b9e60] - 7 _$LT$dashmap..DashMap$LT$K$C$V$C$S$GT$$u20$as$u20$dashmap..t..Map$LT$K$C$V$C$S$GT$$GT$::_remove::h80d9c1783023f014 (in rqbit) + 432 [0x1042e1204] - 7 librqbit::torrent_state::TorrentState::on_peer_died::hd142bdb5e66f7a09 (in rqbit) + 3508 [0x1042a781c] - 6 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x1042b9e24] - 6 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x1042b7e6c] - -Sort by top of stack, same collapsed (when >= 5): - __psynch_cvwait (in libsystem_kernel.dylib) 81360 - __semwait_signal (in libsystem_kernel.dylib) 8136 - __workq_kernreturn (in libsystem_kernel.dylib) 8136 - -Binary Images: - 0x104158000 - 0x104723fc3 +rqbit (0) /Users/*/rqbit - 0x18bd88000 - 0x18bdd6f08 libobjc.A.dylib (906) <49E2DCB3-F014-3FCF-949B-F5F57B3EF0A8> /usr/lib/libobjc.A.dylib - 0x18bdd7000 - 0x18be6b317 dyld (1.0.0 - 1122.1.2) /usr/lib/dyld - 0x18be6c000 - 0x18be70ff8 libsystem_blocks.dylib (90) /usr/lib/system/libsystem_blocks.dylib - 0x18be71000 - 0x18beb7fff libxpc.dylib (2679.40.6) <212B4ED6-CBB2-33DE-95C0-7F8A405B3EBD> /usr/lib/system/libxpc.dylib - 0x18beb8000 - 0x18bed2fff libsystem_trace.dylib (1481.40.16) <91ECA044-8462-3293-AEEA-183BF841CBA2> /usr/lib/system/libsystem_trace.dylib - 0x18bed3000 - 0x18bf70ff7 libcorecrypto.dylib (1608.40.12) <5258A992-DC2A-3A90-90F1-A64863C450A7> /usr/lib/system/libcorecrypto.dylib - 0x18bf71000 - 0x18bfa7fff libsystem_malloc.dylib (474.0.13) <901200AA-1016-3DAA-8816-5032588ED460> /usr/lib/system/libsystem_malloc.dylib - 0x18bfa8000 - 0x18bfeefff libdispatch.dylib (1462.0.4) /usr/lib/system/libdispatch.dylib - 0x18bfef000 - 0x18bff1fff libsystem_featureflags.dylib (85) <3282C86B-3BD7-353A-AC3E-09BCC631BB1F> /usr/lib/system/libsystem_featureflags.dylib - 0x18bff2000 - 0x18c070ffb libsystem_c.dylib (1583.40.7) /usr/lib/system/libsystem_c.dylib - 0x18c071000 - 0x18c0feff7 libc++.1.dylib (1600.151) <3702EEDE-997D-38E6-A6A1-C08EB22C375B> /usr/lib/libc++.1.dylib - 0x18c0ff000 - 0x18c116fff libc++abi.dylib (1600.151) /usr/lib/libc++abi.dylib - 0x18c117000 - 0x18c151fef libsystem_kernel.dylib (10002.41.9) /usr/lib/system/libsystem_kernel.dylib - 0x18c152000 - 0x18c15eff3 libsystem_pthread.dylib (519) /usr/lib/system/libsystem_pthread.dylib - 0x18c15f000 - 0x18c183fff libdyld.dylib (1122.1.2) /usr/lib/system/libdyld.dylib - 0x18c184000 - 0x18c18affb libsystem_platform.dylib (306.0.1) /usr/lib/system/libsystem_platform.dylib - 0x18c18b000 - 0x18c1b7ffb libsystem_info.dylib (583.0.1) /usr/lib/system/libsystem_info.dylib - 0x18c1b8000 - 0x18c68ffff com.apple.CoreFoundation (6.9 - 2106) <9F046E36-7286-3A6E-A280-699D6E47CFAF> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation - 0x18c690000 - 0x18c942fff com.apple.LaunchServices (1141.1 - 1141.1) <0C46B08C-2AA0-345C-BF3B-44F28B9DBB86> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices - 0x18ca8e000 - 0x18ce17fff libBLAS.dylib (1447) <25959BCE-50A3-3E96-8DB9-C9E15FD822C1> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib - 0x18ce18000 - 0x18cf04ff7 com.apple.Lexicon-framework (1.0 - 134) /System/Library/PrivateFrameworks/Lexicon.framework/Versions/A/Lexicon - 0x18cf05000 - 0x18cf6bff7 libSparse.dylib (123) /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparse.dylib - 0x18cf6c000 - 0x18cffeffb com.apple.SystemConfiguration (1.21 - 1.21) /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration - 0x18cfff000 - 0x18d033ffb libCRFSuite.dylib (52) /usr/lib/libCRFSuite.dylib - 0x18d2e2000 - 0x18df2ffff com.apple.Foundation (6.9 - 2106) <2126FD9A-52CE-3EB2-8640-B57535E073B8> /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation - 0x18df30000 - 0x18e112fff com.apple.LanguageModeling (1.0 - 366.4.1) <8032B2E5-1A2E-341F-9287-14AD8FE4E8A4> /System/Library/PrivateFrameworks/LanguageModeling.framework/Versions/A/LanguageModeling - 0x18ee80000 - 0x18f241fff com.apple.security (7.0 - 61040.41.1) <90771C8F-3085-3511-B628-31A4E990408B> /System/Library/Frameworks/Security.framework/Versions/A/Security - 0x18f242000 - 0x18f4faff7 libicucore.A.dylib (72123.15) <444D2FE1-A09C-369C-BE2E-929350EA2F0E> /usr/lib/libicucore.A.dylib - 0x18f4fb000 - 0x18f505ff7 libsystem_darwin.dylib (1583.40.7) /usr/lib/system/libsystem_darwin.dylib - 0x18f506000 - 0x18f80afff com.apple.CoreServices.CarbonCore (1333 - 1333) <049CCD7B-4151-3816-8FA8-A0BAD75AE69B> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore - 0x18f80b000 - 0x18f84afff com.apple.CoreServicesInternal (505 - 505) <5774EE20-DF1A-330E-A776-AEC79006908C> /System/Library/PrivateFrameworks/CoreServicesInternal.framework/Versions/A/CoreServicesInternal - 0x18f84b000 - 0x18f88bfff com.apple.CSStore (1141.1 - 1141.1) <75A298B2-F273-3922-97E8-94E19D2517CA> /System/Library/PrivateFrameworks/CoreServicesStore.framework/Versions/A/CoreServicesStore - 0x18f88c000 - 0x18f96cfff com.apple.framework.IOKit (2.0.2 - 100065.40.4) <029AEE72-3595-3815-B603-22F4AAA2D06F> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit - 0x18f96d000 - 0x18f97dfff libsystem_notify.dylib (317) /usr/lib/system/libsystem_notify.dylib - 0x1912f5000 - 0x1913bdff7 libboringssl.dylib (480) <1657C102-7B93-3D24-8A87-8E16222EC9EC> /usr/lib/libboringssl.dylib - 0x1913be000 - 0x1913befff libnetwork.dylib (3762.41.2) <93791E09-CE36-37DE-8897-C32FC6D23F84> /usr/lib/libnetwork.dylib - 0x1913bf000 - 0x19178ffff com.apple.CFNetwork (1.0 - 1485) <1179E11A-65ED-33E1-9278-CC4904207F31> /System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork - 0x191790000 - 0x1917a9ff7 libsystem_networkextension.dylib (1838.40.8) <11D8A745-1F2F-3493-872E-C58F13BBD4D2> /usr/lib/system/libsystem_networkextension.dylib - 0x1917aa000 - 0x1917abfff libenergytrace.dylib (23) <9E6D595D-4E2C-3630-A2DA-1E2586FEF628> /usr/lib/libenergytrace.dylib - 0x1917ac000 - 0x19181ffdf libMobileGestalt.dylib (1291.40.8) <952B56CC-68E9-3C78-A816-E44605605DE5> /usr/lib/libMobileGestalt.dylib - 0x191820000 - 0x191837fff libsystem_asl.dylib (398) <9833954F-A010-3492-810A-70F96E17266E> /usr/lib/system/libsystem_asl.dylib - 0x191838000 - 0x191858ffd com.apple.TCC (1.0 - 1) /System/Library/PrivateFrameworks/TCC.framework/Versions/A/TCC - 0x192dd5000 - 0x192deefff com.apple.ProtocolBuffer (1 - 300.21.8.9.2) /System/Library/PrivateFrameworks/ProtocolBuffer.framework/Versions/A/ProtocolBuffer - 0x192def000 - 0x192f8bffb libsqlite3.dylib (349.3) <567CDD63-191D-36E4-959B-7DE47C7AFD7A> /usr/lib/libsqlite3.dylib - 0x193159000 - 0x1931ccfff com.apple.AE (944 - 944) <9A97FC75-CB6D-309B-845E-56C54B72D6A8> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE - 0x1931cd000 - 0x1931d6ffc libdns_services.dylib (2200.40.37.0.1) /usr/lib/libdns_services.dylib - 0x1931d7000 - 0x1931dfff3 libsystem_symptoms.dylib (1848.40.12) /usr/lib/system/libsystem_symptoms.dylib - 0x1931e0000 - 0x193dc4fff com.apple.Network (1.0 - 1) /System/Library/Frameworks/Network.framework/Versions/A/Network - 0x193dc5000 - 0x193df3fff com.apple.analyticsd (1.0 - 1) /System/Library/PrivateFrameworks/CoreAnalytics.framework/Versions/A/CoreAnalytics - 0x193df4000 - 0x193df5fff libDiagnosticMessagesClient.dylib (113) /usr/lib/libDiagnosticMessagesClient.dylib - 0x193df6000 - 0x193e3cfff com.apple.spotlight.metadata.utilities (1.0 - 2274.3) <0E25C3BA-5220-375A-8F05-6415CA45DD40> /System/Library/PrivateFrameworks/MetadataUtilities.framework/Versions/A/MetadataUtilities - 0x193e3d000 - 0x193ed7fff com.apple.Metadata (14.1 - 2274.3) <17D03259-8852-32B4-9B34-BB973F43FEDE> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata - 0x193ed8000 - 0x193ee0ffb com.apple.DiskArbitration (2.7 - 2.7) <4219AEC5-B906-3E12-BA8D-6847F52AFA0F> /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration - 0x193ee1000 - 0x1942c5ff7 com.apple.vImage (8.1 - 584) /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage - 0x19494b000 - 0x19495afff com.apple.OpenDirectory (14.1 - 642) /System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory - 0x19495b000 - 0x19497affb com.apple.CFOpenDirectory (14.1 - 642) /System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory - 0x19497b000 - 0x194987ff7 com.apple.CoreServices.FSEvents (1376 - 1376) <7D24FA70-0DFF-342C-9D88-FCA31213F8F4> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/FSEvents - 0x194988000 - 0x1949b2fff com.apple.coreservices.SharedFileList (225 - 225) /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SharedFileList.framework/Versions/A/SharedFileList - 0x1949b3000 - 0x1949b9fff libapp_launch_measurement.dylib (17) <3A9DDB7F-800F-3788-A6B5-1B5BCC6343E9> /usr/lib/libapp_launch_measurement.dylib - 0x1949ba000 - 0x194a03fff com.apple.CoreAutoLayout (1.0 - 32) /System/Library/PrivateFrameworks/CoreAutoLayout.framework/Versions/A/CoreAutoLayout - 0x194a04000 - 0x194aecffb libxml2.2.dylib (37.8) <236C8BF2-0800-396C-AF03-B5328CAD1FD6> /usr/lib/libxml2.2.dylib - 0x196238000 - 0x196261ff7 libsystem_containermanager.dylib (582.40.2.0.1) <444831B7-DB95-3E3A-8C1C-97E49676B185> /usr/lib/system/libsystem_containermanager.dylib - 0x196262000 - 0x196279fff com.apple.IOSurface (352.0.3 - 352.0.3) <7D9D9E22-C780-3790-BF2B-30FC1A9BF7CB> /System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface - 0x1971b2000 - 0x1971b6fff libsystem_configuration.dylib (1296.40.6) <389249EB-5A9C-362C-985F-6F470280D6F3> /usr/lib/system/libsystem_configuration.dylib - 0x1971b7000 - 0x1971bcff3 libsystem_sandbox.dylib (2169.41.1) <893061BE-F3BD-3696-AC8D-4DA5E7477A20> /usr/lib/system/libsystem_sandbox.dylib - 0x1971bf000 - 0x1971c2fff com.apple.AppleSystemInfo (3.1.5 - 3.1.5) <011F9762-19FD-3500-AF7E-889D3E193FD3> /System/Library/PrivateFrameworks/AppleSystemInfo.framework/Versions/A/AppleSystemInfo - 0x1971c3000 - 0x1971c4fff liblangid.dylib (138) /usr/lib/liblangid.dylib - 0x1971c5000 - 0x1972e0fff com.apple.CoreNLP (1.0 - 313) /System/Library/PrivateFrameworks/CoreNLP.framework/Versions/A/CoreNLP - 0x1972e1000 - 0x1972e6fff com.apple.LinguisticData (1.0 - 483.10) <9E7B9C4C-1E7D-339A-A3A8-A9BB4DCA0255> /System/Library/PrivateFrameworks/LinguisticData.framework/Versions/A/LinguisticData - 0x1972e7000 - 0x197ac1faf libBNNS.dylib (830.40.9.0.1) <65FC5752-9068-3F54-ACC6-C7C2F25A9A33> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBNNS.dylib - 0x197ac2000 - 0x197bb2f47 libvDSP.dylib (1041) <6A43D803-7871-3FDA-AD48-B1C2F1F50930> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib - 0x197bb3000 - 0x197be5fff com.apple.CoreEmoji (1.0 - 200.151) <85D6BBAF-FF34-3AC9-903C-571C45856662> /System/Library/PrivateFrameworks/CoreEmoji.framework/Versions/A/CoreEmoji - 0x197be6000 - 0x197bf5ff7 com.apple.IOMobileFramebuffer (343.0.0 - 343.0.0) <103B98C3-473A-3B24-AC4B-8E5D30062CEF> /System/Library/PrivateFrameworks/IOMobileFramebuffer.framework/Versions/A/IOMobileFramebuffer - 0x197e16000 - 0x197ea3fff com.apple.securityfoundation (6.0 - 55282) <53711520-62D0-336D-8A69-75B2B1155261> /System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation - 0x197ea4000 - 0x197ec9fff com.apple.coreservices.BackgroundTaskManagement (1.0 - 104) <77003297-2742-30A1-9F2B-3CB101228720> /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Versions/A/BackgroundTaskManagement - 0x197ed5000 - 0x197ed7ffb libquarantine.dylib (172.40.1) /usr/lib/system/libquarantine.dylib - 0x197ed8000 - 0x197ee3fff libCheckFix.dylib (32) /usr/lib/libCheckFix.dylib - 0x197ee4000 - 0x197efbfff libcoretls.dylib (186) <9A15527C-37F5-3389-AC30-69372529D496> /usr/lib/libcoretls.dylib - 0x197efc000 - 0x197f0dffb libbsm.0.dylib (89) <17824944-FFBE-32C5-AB4E-E433BA62EF4E> /usr/lib/libbsm.0.dylib - 0x197f0e000 - 0x197f69fff libmecab.dylib (1062.152) /usr/lib/libmecab.dylib - 0x197f6a000 - 0x197f6cffb libgermantok.dylib (29) /usr/lib/libgermantok.dylib - 0x197f6d000 - 0x197f81fff libLinearAlgebra.dylib (1447) <61E860A6-6912-35A8-819C-F1ACDE6C91FF> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLinearAlgebra.dylib - 0x19850a000 - 0x1985cdfdf com.apple.AppleFSCompression (158 - 1.0) <2FC70EFA-CA67-359C-A3E2-88F70403EAEA> /System/Library/PrivateFrameworks/AppleFSCompression.framework/Versions/A/AppleFSCompression - 0x1985ce000 - 0x1985daffb libbz2.1.0.dylib (45) <15785738-C3DB-39BA-9AE9-CC522EABBBA8> /usr/lib/libbz2.1.0.dylib - 0x1985db000 - 0x1985e0fff libsystem_coreservices.dylib (152.1) <26F9E755-26EC-3974-BEC8-3B706D0254BA> /usr/lib/system/libsystem_coreservices.dylib - 0x1985e1000 - 0x198612fff com.apple.CoreServices.OSServices (1141.1 - 1141.1) /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices - 0x1988ee000 - 0x1988fcfff libz.1.dylib (91.40.1.0.1) <7523CDC8-DA6B-382B-8DDC-F63D156A299B> /usr/lib/libz.1.dylib - 0x1988fd000 - 0x198933ff3 libsystem_m.dylib (3252.40.2) <072B3C9C-C54E-3F27-B231-88482F485502> /usr/lib/system/libsystem_m.dylib - 0x198934000 - 0x198937fff libcharset.1.dylib (86) /usr/lib/libcharset.1.dylib - 0x198938000 - 0x19893fffb libmacho.dylib (1009) <29C5FB27-B26B-3927-89C1-917051E5D353> /usr/lib/system/libmacho.dylib - 0x198940000 - 0x19895ffff libkxld.dylib (10002.41.9) <87786C0C-7D78-3B0B-B6B5-6603B8804253> /usr/lib/system/libkxld.dylib - 0x198960000 - 0x19896dff7 libcommonCrypto.dylib (600025) <4CF0B406-031F-3BC7-8A97-61DFA262C179> /usr/lib/system/libcommonCrypto.dylib - 0x19896e000 - 0x198978fff libunwind.dylib (1600.112) <18A7097B-A9D1-34C6-8333-0D16CF789585> /usr/lib/system/libunwind.dylib - 0x198979000 - 0x198980fff liboah.dylib (315.1) /usr/lib/liboah.dylib - 0x198981000 - 0x19898aff3 libcopyfile.dylib (196) /usr/lib/system/libcopyfile.dylib - 0x19898b000 - 0x19898efff libcompiler_rt.dylib (103.1) /usr/lib/system/libcompiler_rt.dylib - 0x19898f000 - 0x198993ffb libsystem_collections.dylib (1583.40.7) <985E00EB-F590-3B07-876A-EFE015DB79EF> /usr/lib/system/libsystem_collections.dylib - 0x198994000 - 0x198996ffb libsystem_secinit.dylib (143) /usr/lib/system/libsystem_secinit.dylib - 0x198997000 - 0x198999ffb libremovefile.dylib (70) /usr/lib/system/libremovefile.dylib - 0x19899a000 - 0x19899affb libkeymgr.dylib (31) /usr/lib/system/libkeymgr.dylib - 0x19899b000 - 0x1989a3ff7 libsystem_dnssd.dylib (2200.40.37.0.1) /usr/lib/system/libsystem_dnssd.dylib - 0x1989a4000 - 0x1989a9fff libcache.dylib (92) <47B56AFF-F15C-3550-B9B6-560806BC20C5> /usr/lib/system/libcache.dylib - 0x1989aa000 - 0x1989abfff libSystem.B.dylib (1336) <1E176743-EDDD-309B-AE12-6369F1A2029B> /usr/lib/libSystem.B.dylib - 0x1989ac000 - 0x1989affff libfakelink.dylib (5) /usr/lib/libfakelink.dylib - 0x1989b0000 - 0x1989b0ffb com.apple.SoftLinking (1.0 - 47) /System/Library/PrivateFrameworks/SoftLinking.framework/Versions/A/SoftLinking - 0x1989b1000 - 0x1989e6ffb libpcap.A.dylib (126.41.1) <494571FE-C8C2-3193-AA67-A17AC286AA4A> /usr/lib/libpcap.A.dylib - 0x1989e7000 - 0x1989edff3 libiconv.2.dylib (86) /usr/lib/libiconv.2.dylib - 0x1989ee000 - 0x1989fffff libcmph.dylib (8) <615CF8F9-9E63-3C31-A888-73A7C48B702B> /usr/lib/libcmph.dylib - 0x198a00000 - 0x198a88ff3 libarchive.2.dylib (121.40.3) <010A91A0-9B78-3798-B1D9-F017104C3EE2> /usr/lib/libarchive.2.dylib - 0x198a89000 - 0x198affff3 com.apple.SearchKit (1.4.1 - 1.4.1) /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit - 0x198b00000 - 0x198b01ff7 libThaiTokenizer.dylib (15) <67E80E6B-32B4-36BF-921C-D5DA2AEC583D> /usr/lib/libThaiTokenizer.dylib - 0x198b02000 - 0x198b27fff com.apple.applesauce (1.0 - 16.55) /System/Library/PrivateFrameworks/AppleSauce.framework/Versions/A/AppleSauce - 0x198b28000 - 0x198b41ffb libapple_nghttp2.dylib (16) /usr/lib/libapple_nghttp2.dylib - 0x198b42000 - 0x198b54fff libSparseBLAS.dylib (1447) /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparseBLAS.dylib - 0x198b57000 - 0x198b5cfff libpam.2.dylib (33) <81CDA9F5-6B0D-300F-B236-BA8141836521> /usr/lib/libpam.2.dylib - 0x198b5d000 - 0x198c2afcf libcompression.dylib (166) <0CAB9E05-BF75-3913-A9E0-1D85226274AC> /usr/lib/libcompression.dylib - 0x198c2b000 - 0x198c2fffb libQuadrature.dylib (7) <41C54DE8-6D6E-3091-AE3C-8F93FAE80BD1> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libQuadrature.dylib - 0x198c30000 - 0x199da1fff libLAPACK.dylib (1447) /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib - 0x199da2000 - 0x199df8fff com.apple.DictionaryServices (1.2 - 355) /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices - 0x199df9000 - 0x199e11ff3 liblzma.5.dylib (18) /usr/lib/liblzma.5.dylib - 0x199e12000 - 0x199e13ffb libcoretls_cfhelpers.dylib (186) /usr/lib/libcoretls_cfhelpers.dylib - 0x199e14000 - 0x199e82ff3 com.apple.APFS (2235.41.1 - 2235.41.1) <1AC37BDF-F264-3A0E-A5AE-0D98174F8095> /System/Library/PrivateFrameworks/APFS.framework/Versions/A/APFS - 0x199e83000 - 0x199e91ffb libxar.1.dylib (498) <22C053D2-5F9A-356A-A3AD-09BD790C6437> /usr/lib/libxar.1.dylib - 0x199e92000 - 0x199e95ff7 libutil.dylib (72) /usr/lib/libutil.dylib - 0x199e96000 - 0x199ec1ff3 libxslt.1.dylib (20.3) <215E57F4-CF08-38D9-921F-5AF522C1159A> /usr/lib/libxslt.1.dylib - 0x199eca000 - 0x199f45fff libvMisc.dylib (1041) <9FEC3CE5-CBA8-3524-83A1-E10C910E101D> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib - 0x19a26a000 - 0x19a274fff libheimdal-asn1.dylib (685) /usr/lib/libheimdal-asn1.dylib - 0x19b968000 - 0x19b9c5ffa libusrtcp.dylib (3762.41.2) <0F6EF57C-DEE8-3D4D-9E33-5F451FF4AFB2> /usr/lib/libusrtcp.dylib - 0x19b9c6000 - 0x19bf05fff libswiftCore.dylib (5.9 - 5.9.0.123.305) <1FCC7DF4-6B2E-3CBA-9125-EB1ED90943F4> /usr/lib/swift/libswiftCore.dylib - 0x19de20000 - 0x19df5cfff com.apple.combine (1.0 - 311) <5E78AE31-70E7-3F20-B41B-F0AD6E39D711> /System/Library/Frameworks/Combine.framework/Versions/A/Combine - 0x19fefa000 - 0x19fefafff com.apple.Accelerate.vecLib (3.11 - vecLib 3.11) <84B9B13D-FDCC-3AE6-8979-4F138842CA34> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib - 0x19ff23000 - 0x19ff23fff com.apple.CoreServices (1226 - 1226) <8A75797D-1FDA-32DA-9E90-07F6CF0E512E> /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices - 0x1a0227000 - 0x1a0227fff com.apple.Accelerate (1.11 - Accelerate 1.11) <02B4577F-7DB2-3A40-8800-656D8D30A763> /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate - 0x1a158a000 - 0x1a15a2ff7 libswiftDispatch.dylib (34.0.2) /usr/lib/swift/libswiftDispatch.dylib - 0x1a3d64000 - 0x1a3d67ff5 libswiftObjectiveC.dylib (8) /usr/lib/swift/libswiftObjectiveC.dylib - 0x1a3d68000 - 0x1a3d80fff libswiftos.dylib (1040) <9B41C748-9156-304D-B221-025E455A9B6D> /usr/lib/swift/libswiftos.dylib - 0x1aea89000 - 0x1aea92ff7 libswiftDarwin.dylib (??? - 5.9.0.123.305) <05D38AAE-B8B9-3AC5-A653-3597E052AC32> /usr/lib/swift/libswiftDarwin.dylib - 0x1b0c92000 - 0x1b0ca5fff libmis.dylib (381) <8AB6E1A0-4242-3689-8B67-59F86F022FE2> /usr/lib/libmis.dylib - 0x1b0cb3000 - 0x1b0cb9fff libswiftCoreFoundation.dylib (2000) /usr/lib/swift/libswiftCoreFoundation.dylib - 0x1b0cc9000 - 0x1b0cfeff7 libswiftXPC.dylib (29.0.2) <9E6314D3-CE1C-3970-8350-26043FCAA913> /usr/lib/swift/libswiftXPC.dylib - 0x1b0d00000 - 0x1b0d00fff libswiftIOKit.dylib (1) /usr/lib/swift/libswiftIOKit.dylib - 0x1c0782000 - 0x1c0789fff com.apple.MobileSystemServices (1.0 - 1) /System/Library/PrivateFrameworks/MobileSystemServices.framework/Versions/A/MobileSystemServices - 0x1f1469000 - 0x1f146cfff com.apple.ConfigProfileHelper (16.1 - 1622) /System/Library/PrivateFrameworks/ConfigProfileHelper.framework/Versions/A/ConfigProfileHelper - 0x1fe70f000 - 0x1fe722fff com.apple.private.AppleMobileFileIntegrity-fmk (1.0 - 1) <8039181A-3E85-3233-B9D9-7563C9E165FD> /System/Library/PrivateFrameworks/AppleMobileFileIntegrity.framework/Versions/A/AppleMobileFileIntegrity - 0x200b03000 - 0x200c61fff com.apple.CollectionsInternal (1.1.0 - 19) <6A16A70E-B3E9-3ECE-9485-2192FF0C1506> /System/Library/PrivateFrameworks/CollectionsInternal.framework/Versions/A/CollectionsInternal - 0x20e5cf000 - 0x20e6a6fff com.apple.InstalledContentLibrary (1.0 - 1.0) <9920C0DA-5FB7-34CF-A15C-3E753F8DF951> /System/Library/PrivateFrameworks/InstalledContentLibrary.framework/Versions/A/InstalledContentLibrary - 0x21030c000 - 0x2107e0ffb com.apple.MIL (5.33 - 5.33.5) /System/Library/PrivateFrameworks/MIL.framework/Versions/A/MIL - 0x211ad9000 - 0x211b23fff com.apple.MessageSecurity (1.0 - 101.40.6) <2F806526-DC8F-3A34-9959-50112A8251D3> /System/Library/PrivateFrameworks/MessageSecurity.framework/Versions/A/MessageSecurity - 0x216646000 - 0x21664cff7 com.apple.ReflectionInternal (1.0.0 - 19) <3CE1C9E3-0652-3F64-BCB5-8EC03A0FFD99> /System/Library/PrivateFrameworks/ReflectionInternal.framework/Versions/A/ReflectionInternal - 0x216c32000 - 0x216c48ff7 com.apple.RuntimeInternal (1.0.0 - 19) <01065A3F-0218-3BAE-8832-1FBF07AD6712> /System/Library/PrivateFrameworks/RuntimeInternal.framework/Versions/A/RuntimeInternal - 0x229daa000 - 0x229db5fff libCoreEntitlements.dylib (53) <73C57354-D94C-3CC2-99F7-06B75FC7DE4A> /usr/lib/libCoreEntitlements.dylib - 0x229f93000 - 0x229f9efff libTLE.dylib (53) <2B0C780B-984D-36DA-938E-7CBE9AA241B2> /usr/lib/libTLE.dylib - 0x22b30c000 - 0x22b36aff3 libswift_Concurrency.dylib (5.9 - 5.9.0.123.305) <044E4103-2CB6-37B9-9F4B-A53237EA4521> /usr/lib/swift/libswift_Concurrency.dylib - 0x22b3a9000 - 0x22b454fff libswift_RegexParser.dylib (??? - 5.9.0.123.305) /usr/lib/swift/libswift_RegexParser.dylib - 0x22b455000 - 0x22b4f5fff libswift_StringProcessing.dylib (??? - 5.9.0.123.305) <97484081-9BDD-3AD8-8554-1C3E3FA349B4> /usr/lib/swift/libswift_StringProcessing.dylib - 0x22b636000 - 0x22b639fff libsystem_darwindirectory.dylib (86.0.2) <8C2C7C2A-F18E-3196-BB40-B4BB95C5BFF9> /usr/lib/system/libsystem_darwindirectory.dylib - diff --git a/deadlock_3.txt b/deadlock_3.txt deleted file mode 100644 index f73f069..0000000 --- a/deadlock_3.txt +++ /dev/null @@ -1,384 +0,0 @@ - -Analysis of sampling rqbit (pid 41436) every 1 millisecond -Process: rqbit [41436] -Path: /Users/USER/*/rqbit -Load Address: 0x1046f8000 -Identifier: rqbit -Version: 0 -Code Type: ARM64 -Platform: macOS -Parent Process: bash [2715] - -Date/Time: 2023-11-19 17:00:11.343 +0000 -Launch Time: 2023-11-19 16:58:26.196 +0000 -OS Version: macOS 14.1 (23B74) -Report Version: 7 -Analysis Tool: /usr/bin/sample - -Physical footprint: 18.0M -Physical footprint (peak): 18.8M -Idle exit: untracked ----- - -Call graph: - 8187 Thread_2499321 DispatchQueue_1: com.apple.main-thread (serial) - + 8187 start (in dyld) + 2360 [0x18bddd0e0] - + 8187 main (in rqbit) + 32 [0x104790d10] - + 8187 std::rt::lang_start::hc92c8460d670427e (in rqbit) + 44 [0x1047d8260] rt.rs:166 - + 8187 std::rt::lang_start_internal::hea4720c823b0b053 (in rqbit) + 648 [0x104b0d8d0] - + 8187 std::rt::lang_start::_$u7b$$u7b$closure$u7d$$u7d$::hf04eff045c3204ce (in rqbit) + 24 [0x1047d8284] rt.rs:167 - + 8187 std::sys_common::backtrace::__rust_begin_short_backtrace::hc575c434e3c9f843 (in rqbit) + 12 [0x104756330] backtrace.rs:154 - + 8187 rqbit::main::hfdee818328ed2d4e (in rqbit) + 3604 [0x104785f50] main.rs:221 - + 8187 tokio::runtime::runtime::Runtime::block_on::h41f524f37dfac32b (in rqbit) + 484 [0x1047e8fbc] runtime.rs:350 - + 8187 tokio::runtime::park::CachedParkThread::block_on::hd6c99b8d2957d23a (in rqbit) + 248 [0x10478011c] park.rs:286 - + 8187 (.llvm.1541039607769432884) (in rqbit) + 256 [0x104a5df08] - + 8187 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - + 8187 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] - 8187 Thread_2499334: tokio-runtime-worker - + 8187 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] - + 8187 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] - + 8187 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x104b1a654] - + 8187 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x104a68558] - + 8187 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x104a59624] - + 8187 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x104a5cd00] - + 8187 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x10485927c] - + 8187 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x10485b234] - + 8187 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x104a6181c] - + 8187 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x104a5fef0] - + 8187 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x104a661b0] - + 8187 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 1964 [0x104a62060] - + 8187 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x104a62720] - + 8187 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c (in rqbit) + 124 [0x1048584b4] - + 8187 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4 (in rqbit) + 6312 [0x104841910] - + 8187 _$LT$tokio..future..poll_fn..PollFn$LT$F$GT$$u20$as$u20$core..future..future..Future$GT$::poll::heaf39ed4d1b44001 (in rqbit) + 3200 [0x1048752cc] - + 8187 _$LT$librqbit..torrent_state..PeerHandler$u20$as$u20$librqbit..peer_connection..PeerConnectionHandler$GT$::on_received_message::hd1fafc35289e3666 (in rqbit) + 996 [0x104849f8c] - + 8187 librqbit::torrent_state::PeerHandler::on_received_piece::hf3408148458b4a03 (in rqbit) + 956 [0x10484d638] - + 8187 parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h836aa47d9a7a9313 (in rqbit) + 724 [0x104b5f348] - + 8187 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - + 8187 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] - 8187 Thread_2499336: tokio-runtime-worker - + 8187 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] - + 8187 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] - + 8187 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x104b1a654] - + 8187 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x104a68558] - + 8187 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x104a59624] - + 8187 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x104a5cd00] - + 8187 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x10485927c] - + 8187 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x10485b234] - + 8187 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x104a6181c] - + 8187 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x104a5fef0] - + 8187 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x104a661b0] - + 8187 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 2816 [0x104a623b4] - + 8187 tokio::runtime::scheduler::multi_thread::worker::Context::park_timeout::hd0502377b834d526 (in rqbit) + 276 [0x104a62b30] - + 8187 tokio::runtime::scheduler::multi_thread::park::Parker::park::h0192ef6876d96010 (in rqbit) + 328 [0x104a5aa98] - + 8187 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - + 8187 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] - 8187 Thread_2499337: tokio-runtime-worker - + 8187 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] - + 8187 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] - + 8187 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x104b1a654] - + 8187 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x104a68558] - + 8187 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x104a59624] - + 8187 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x104a5cd00] - + 8187 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x10485927c] - + 8187 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x10485b234] - + 8187 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x104a6181c] - + 8187 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x104a5fef0] - + 8187 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x104a661b0] - + 8187 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 2816 [0x104a623b4] - + 8187 tokio::runtime::scheduler::multi_thread::worker::Context::park_timeout::hd0502377b834d526 (in rqbit) + 276 [0x104a62b30] - + 8187 tokio::runtime::scheduler::multi_thread::park::Parker::park::h0192ef6876d96010 (in rqbit) + 328 [0x104a5aa98] - + 8187 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - + 8187 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] - 8187 Thread_2499338: tokio-runtime-worker - + 8187 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] - + 8187 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] - + 8187 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x104b1a654] - + 8187 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x104a68558] - + 8187 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x104a59624] - + 8187 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x104a5cd00] - + 8187 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x10485927c] - + 8187 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x10485b234] - + 8187 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x104a6181c] - + 8187 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x104a5fef0] - + 8187 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x104a661b0] - + 8187 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 2816 [0x104a623b4] - + 8187 tokio::runtime::scheduler::multi_thread::worker::Context::park_timeout::hd0502377b834d526 (in rqbit) + 276 [0x104a62b30] - + 8187 tokio::runtime::scheduler::multi_thread::park::Parker::park::h0192ef6876d96010 (in rqbit) + 328 [0x104a5aa98] - + 8187 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - + 8187 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] - 8187 Thread_2499344: tokio-runtime-worker - + 8187 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] - + 8187 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] - + 8187 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x104b1a654] - + 8187 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x104a68558] - + 8187 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x104a59624] - + 8187 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x104a5cd00] - + 8187 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x10485927c] - + 8187 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x10485b234] - + 8187 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x104a6181c] - + 8187 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x104a5fef0] - + 8187 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x104a661b0] - + 8187 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 1964 [0x104a62060] - + 8187 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x104a62720] - + 8187 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::hb33feb246c22b65a (in rqbit) + 120 [0x104858dfc] - + 8187 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::he46a59e86a4040f3 (in rqbit) + 2984 [0x104843cb8] - + 8187 librqbit::torrent_state::TorrentState::reserve_next_needed_piece::h4003aa9a864bc6d1 (in rqbit) + 948 [0x104847290] - + 8187 parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h836aa47d9a7a9313 (in rqbit) + 724 [0x104b5f348] - + 8187 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - + 8187 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] - 8187 Thread_2499345: tokio-runtime-worker - + 8187 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] - + 8187 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] - + 8187 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x104b1a654] - + 8187 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x104a68558] - + 8187 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x104a59624] - + 8187 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x104a5cd00] - + 8187 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x10485927c] - + 8187 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x10485b234] - + 8187 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x104a6181c] - + 8187 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x104a5fef0] - + 8187 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x104a661b0] - + 8187 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 2816 [0x104a623b4] - + 8187 tokio::runtime::scheduler::multi_thread::worker::Context::park_timeout::hd0502377b834d526 (in rqbit) + 276 [0x104a62b30] - + 8187 tokio::runtime::scheduler::multi_thread::park::Parker::park::h0192ef6876d96010 (in rqbit) + 328 [0x104a5aa98] - + 8187 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - + 8187 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] - 8187 Thread_2499448: tokio-runtime-worker - + 8187 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] - + 8187 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] - + 8187 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x104b1a654] - + 8187 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x104a68558] - + 8187 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x104a59624] - + 8187 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x104a5cd00] - + 8187 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x10485927c] - + 8187 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x10485b234] - + 8187 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x104a6181c] - + 8187 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x104a5fef0] - + 8187 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x104a661b0] - + 8187 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 2816 [0x104a623b4] - + 8187 tokio::runtime::scheduler::multi_thread::worker::Context::park_timeout::hd0502377b834d526 (in rqbit) + 276 [0x104a62b30] - + 8187 tokio::runtime::scheduler::multi_thread::park::Parker::park::h0192ef6876d96010 (in rqbit) + 328 [0x104a5aa98] - + 8187 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - + 8187 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] - 8187 Thread_2499465: tokio-runtime-worker - + 8187 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] - + 8187 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] - + 8187 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x104b1a654] - + 8187 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x104a68558] - + 8187 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x104a59624] - + 8187 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x104a5cd00] - + 8187 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x10485927c] - + 8187 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x10485b234] - + 8187 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x104a6181c] - + 8187 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x104a5fef0] - + 8187 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x104a661b0] - + 8187 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 2364 [0x104a621f0] - + 8187 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x104a62720] - + 8187 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c (in rqbit) + 124 [0x1048584b4] - + 8187 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4 (in rqbit) + 6312 [0x104841910] - + 8187 _$LT$tokio..future..poll_fn..PollFn$LT$F$GT$$u20$as$u20$core..future..future..Future$GT$::poll::heaf39ed4d1b44001 (in rqbit) + 3200 [0x1048752cc] - + 8187 _$LT$librqbit..torrent_state..PeerHandler$u20$as$u20$librqbit..peer_connection..PeerConnectionHandler$GT$::on_received_message::hd1fafc35289e3666 (in rqbit) + 996 [0x104849f8c] - + 8187 librqbit::torrent_state::PeerHandler::on_received_piece::hf3408148458b4a03 (in rqbit) + 168 [0x10484d324] - + 8187 _$LT$dashmap..DashMap$LT$K$C$V$C$S$GT$$u20$as$u20$dashmap..t..Map$LT$K$C$V$C$S$GT$$GT$::_get_mut::ha163c599d0d0a786 (in rqbit) + 588 [0x10488291c] - + 8187 dashmap::lock::RawRwLock::lock_exclusive_slow::hebac357c00faad7e (in rqbit) + 1176 [0x104b51444] - + 8187 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - + 8187 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] - 8187 Thread_2499466: tokio-runtime-worker - 8187 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] - 8187 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] - 8187 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x104b1a654] - 8187 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x104a68558] - 8187 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x104a59624] - 8187 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x104a5cd00] - 8187 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x10485927c] - 8187 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x10485b234] - 8187 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x104a6181c] - 8187 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x104a5fef0] - 8187 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x104a661b0] - 8187 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 2816 [0x104a623b4] - 8187 tokio::runtime::scheduler::multi_thread::worker::Context::park_timeout::hd0502377b834d526 (in rqbit) + 276 [0x104a62b30] - 8187 tokio::runtime::scheduler::multi_thread::park::Parker::park::h0192ef6876d96010 (in rqbit) + 328 [0x104a5aa98] - 8187 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - 8187 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] - -Total number in stack (recursive counted multiple, when >=5): - 10 __psynch_cvwait (in libsystem_kernel.dylib) + 0 [0x18c11c0a4] - 10 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - 9 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] - 9 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x104a68558] - 9 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x10485b234] - 9 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x104b1a654] - 9 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x104a59624] - 9 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] - 9 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x104a5cd00] - 9 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x104a5fef0] - 9 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x104a661b0] - 9 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x104a6181c] - 9 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x10485927c] - 6 tokio::runtime::scheduler::multi_thread::park::Parker::park::h0192ef6876d96010 (in rqbit) + 328 [0x104a5aa98] - 6 tokio::runtime::scheduler::multi_thread::worker::Context::park_timeout::hd0502377b834d526 (in rqbit) + 276 [0x104a62b30] - 6 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 2816 [0x104a623b4] - -Sort by top of stack, same collapsed (when >= 5): - __psynch_cvwait (in libsystem_kernel.dylib) 81870 - -Binary Images: - 0x1046f8000 - 0x104cb7ffb +rqbit (0) <5761B6C8-03EF-3857-ADB1-47469005C346> /Users/*/rqbit - 0x18bd88000 - 0x18bdd6f08 libobjc.A.dylib (906) <49E2DCB3-F014-3FCF-949B-F5F57B3EF0A8> /usr/lib/libobjc.A.dylib - 0x18bdd7000 - 0x18be6b317 dyld (1.0.0 - 1122.1.2) /usr/lib/dyld - 0x18be6c000 - 0x18be70ff8 libsystem_blocks.dylib (90) /usr/lib/system/libsystem_blocks.dylib - 0x18be71000 - 0x18beb7fff libxpc.dylib (2679.40.6) <212B4ED6-CBB2-33DE-95C0-7F8A405B3EBD> /usr/lib/system/libxpc.dylib - 0x18beb8000 - 0x18bed2fff libsystem_trace.dylib (1481.40.16) <91ECA044-8462-3293-AEEA-183BF841CBA2> /usr/lib/system/libsystem_trace.dylib - 0x18bed3000 - 0x18bf70ff7 libcorecrypto.dylib (1608.40.12) <5258A992-DC2A-3A90-90F1-A64863C450A7> /usr/lib/system/libcorecrypto.dylib - 0x18bf71000 - 0x18bfa7fff libsystem_malloc.dylib (474.0.13) <901200AA-1016-3DAA-8816-5032588ED460> /usr/lib/system/libsystem_malloc.dylib - 0x18bfa8000 - 0x18bfeefff libdispatch.dylib (1462.0.4) /usr/lib/system/libdispatch.dylib - 0x18bfef000 - 0x18bff1fff libsystem_featureflags.dylib (85) <3282C86B-3BD7-353A-AC3E-09BCC631BB1F> /usr/lib/system/libsystem_featureflags.dylib - 0x18bff2000 - 0x18c070ffb libsystem_c.dylib (1583.40.7) /usr/lib/system/libsystem_c.dylib - 0x18c071000 - 0x18c0feff7 libc++.1.dylib (1600.151) <3702EEDE-997D-38E6-A6A1-C08EB22C375B> /usr/lib/libc++.1.dylib - 0x18c0ff000 - 0x18c116fff libc++abi.dylib (1600.151) /usr/lib/libc++abi.dylib - 0x18c117000 - 0x18c151fef libsystem_kernel.dylib (10002.41.9) /usr/lib/system/libsystem_kernel.dylib - 0x18c152000 - 0x18c15eff3 libsystem_pthread.dylib (519) /usr/lib/system/libsystem_pthread.dylib - 0x18c15f000 - 0x18c183fff libdyld.dylib (1122.1.2) /usr/lib/system/libdyld.dylib - 0x18c184000 - 0x18c18affb libsystem_platform.dylib (306.0.1) /usr/lib/system/libsystem_platform.dylib - 0x18c18b000 - 0x18c1b7ffb libsystem_info.dylib (583.0.1) /usr/lib/system/libsystem_info.dylib - 0x18c1b8000 - 0x18c68ffff com.apple.CoreFoundation (6.9 - 2106) <9F046E36-7286-3A6E-A280-699D6E47CFAF> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation - 0x18c690000 - 0x18c942fff com.apple.LaunchServices (1141.1 - 1141.1) <0C46B08C-2AA0-345C-BF3B-44F28B9DBB86> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices - 0x18ca8e000 - 0x18ce17fff libBLAS.dylib (1447) <25959BCE-50A3-3E96-8DB9-C9E15FD822C1> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib - 0x18ce18000 - 0x18cf04ff7 com.apple.Lexicon-framework (1.0 - 134) /System/Library/PrivateFrameworks/Lexicon.framework/Versions/A/Lexicon - 0x18cf05000 - 0x18cf6bff7 libSparse.dylib (123) /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparse.dylib - 0x18cf6c000 - 0x18cffeffb com.apple.SystemConfiguration (1.21 - 1.21) /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration - 0x18cfff000 - 0x18d033ffb libCRFSuite.dylib (52) /usr/lib/libCRFSuite.dylib - 0x18d2e2000 - 0x18df2ffff com.apple.Foundation (6.9 - 2106) <2126FD9A-52CE-3EB2-8640-B57535E073B8> /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation - 0x18df30000 - 0x18e112fff com.apple.LanguageModeling (1.0 - 366.4.1) <8032B2E5-1A2E-341F-9287-14AD8FE4E8A4> /System/Library/PrivateFrameworks/LanguageModeling.framework/Versions/A/LanguageModeling - 0x18ee80000 - 0x18f241fff com.apple.security (7.0 - 61040.41.1) <90771C8F-3085-3511-B628-31A4E990408B> /System/Library/Frameworks/Security.framework/Versions/A/Security - 0x18f242000 - 0x18f4faff7 libicucore.A.dylib (72123.15) <444D2FE1-A09C-369C-BE2E-929350EA2F0E> /usr/lib/libicucore.A.dylib - 0x18f4fb000 - 0x18f505ff7 libsystem_darwin.dylib (1583.40.7) /usr/lib/system/libsystem_darwin.dylib - 0x18f506000 - 0x18f80afff com.apple.CoreServices.CarbonCore (1333 - 1333) <049CCD7B-4151-3816-8FA8-A0BAD75AE69B> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore - 0x18f80b000 - 0x18f84afff com.apple.CoreServicesInternal (505 - 505) <5774EE20-DF1A-330E-A776-AEC79006908C> /System/Library/PrivateFrameworks/CoreServicesInternal.framework/Versions/A/CoreServicesInternal - 0x18f84b000 - 0x18f88bfff com.apple.CSStore (1141.1 - 1141.1) <75A298B2-F273-3922-97E8-94E19D2517CA> /System/Library/PrivateFrameworks/CoreServicesStore.framework/Versions/A/CoreServicesStore - 0x18f88c000 - 0x18f96cfff com.apple.framework.IOKit (2.0.2 - 100065.40.4) <029AEE72-3595-3815-B603-22F4AAA2D06F> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit - 0x18f96d000 - 0x18f97dfff libsystem_notify.dylib (317) /usr/lib/system/libsystem_notify.dylib - 0x1912f5000 - 0x1913bdff7 libboringssl.dylib (480) <1657C102-7B93-3D24-8A87-8E16222EC9EC> /usr/lib/libboringssl.dylib - 0x1913be000 - 0x1913befff libnetwork.dylib (3762.41.2) <93791E09-CE36-37DE-8897-C32FC6D23F84> /usr/lib/libnetwork.dylib - 0x1913bf000 - 0x19178ffff com.apple.CFNetwork (1.0 - 1485) <1179E11A-65ED-33E1-9278-CC4904207F31> /System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork - 0x191790000 - 0x1917a9ff7 libsystem_networkextension.dylib (1838.40.8) <11D8A745-1F2F-3493-872E-C58F13BBD4D2> /usr/lib/system/libsystem_networkextension.dylib - 0x1917aa000 - 0x1917abfff libenergytrace.dylib (23) <9E6D595D-4E2C-3630-A2DA-1E2586FEF628> /usr/lib/libenergytrace.dylib - 0x1917ac000 - 0x19181ffdf libMobileGestalt.dylib (1291.40.8) <952B56CC-68E9-3C78-A816-E44605605DE5> /usr/lib/libMobileGestalt.dylib - 0x191820000 - 0x191837fff libsystem_asl.dylib (398) <9833954F-A010-3492-810A-70F96E17266E> /usr/lib/system/libsystem_asl.dylib - 0x191838000 - 0x191858ffd com.apple.TCC (1.0 - 1) /System/Library/PrivateFrameworks/TCC.framework/Versions/A/TCC - 0x192dd5000 - 0x192deefff com.apple.ProtocolBuffer (1 - 300.21.8.9.2) /System/Library/PrivateFrameworks/ProtocolBuffer.framework/Versions/A/ProtocolBuffer - 0x192def000 - 0x192f8bffb libsqlite3.dylib (349.3) <567CDD63-191D-36E4-959B-7DE47C7AFD7A> /usr/lib/libsqlite3.dylib - 0x193159000 - 0x1931ccfff com.apple.AE (944 - 944) <9A97FC75-CB6D-309B-845E-56C54B72D6A8> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE - 0x1931cd000 - 0x1931d6ffc libdns_services.dylib (2200.40.37.0.1) /usr/lib/libdns_services.dylib - 0x1931d7000 - 0x1931dfff3 libsystem_symptoms.dylib (1848.40.12) /usr/lib/system/libsystem_symptoms.dylib - 0x1931e0000 - 0x193dc4fff com.apple.Network (1.0 - 1) /System/Library/Frameworks/Network.framework/Versions/A/Network - 0x193dc5000 - 0x193df3fff com.apple.analyticsd (1.0 - 1) /System/Library/PrivateFrameworks/CoreAnalytics.framework/Versions/A/CoreAnalytics - 0x193df4000 - 0x193df5fff libDiagnosticMessagesClient.dylib (113) /usr/lib/libDiagnosticMessagesClient.dylib - 0x193df6000 - 0x193e3cfff com.apple.spotlight.metadata.utilities (1.0 - 2274.3) <0E25C3BA-5220-375A-8F05-6415CA45DD40> /System/Library/PrivateFrameworks/MetadataUtilities.framework/Versions/A/MetadataUtilities - 0x193e3d000 - 0x193ed7fff com.apple.Metadata (14.1 - 2274.3) <17D03259-8852-32B4-9B34-BB973F43FEDE> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata - 0x193ed8000 - 0x193ee0ffb com.apple.DiskArbitration (2.7 - 2.7) <4219AEC5-B906-3E12-BA8D-6847F52AFA0F> /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration - 0x193ee1000 - 0x1942c5ff7 com.apple.vImage (8.1 - 584) /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage - 0x19494b000 - 0x19495afff com.apple.OpenDirectory (14.1 - 642) /System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory - 0x19495b000 - 0x19497affb com.apple.CFOpenDirectory (14.1 - 642) /System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory - 0x19497b000 - 0x194987ff7 com.apple.CoreServices.FSEvents (1376 - 1376) <7D24FA70-0DFF-342C-9D88-FCA31213F8F4> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/FSEvents - 0x194988000 - 0x1949b2fff com.apple.coreservices.SharedFileList (225 - 225) /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SharedFileList.framework/Versions/A/SharedFileList - 0x1949b3000 - 0x1949b9fff libapp_launch_measurement.dylib (17) <3A9DDB7F-800F-3788-A6B5-1B5BCC6343E9> /usr/lib/libapp_launch_measurement.dylib - 0x1949ba000 - 0x194a03fff com.apple.CoreAutoLayout (1.0 - 32) /System/Library/PrivateFrameworks/CoreAutoLayout.framework/Versions/A/CoreAutoLayout - 0x194a04000 - 0x194aecffb libxml2.2.dylib (37.8) <236C8BF2-0800-396C-AF03-B5328CAD1FD6> /usr/lib/libxml2.2.dylib - 0x196238000 - 0x196261ff7 libsystem_containermanager.dylib (582.40.2.0.1) <444831B7-DB95-3E3A-8C1C-97E49676B185> /usr/lib/system/libsystem_containermanager.dylib - 0x196262000 - 0x196279fff com.apple.IOSurface (352.0.3 - 352.0.3) <7D9D9E22-C780-3790-BF2B-30FC1A9BF7CB> /System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface - 0x1971b2000 - 0x1971b6fff libsystem_configuration.dylib (1296.40.6) <389249EB-5A9C-362C-985F-6F470280D6F3> /usr/lib/system/libsystem_configuration.dylib - 0x1971b7000 - 0x1971bcff3 libsystem_sandbox.dylib (2169.41.1) <893061BE-F3BD-3696-AC8D-4DA5E7477A20> /usr/lib/system/libsystem_sandbox.dylib - 0x1971bf000 - 0x1971c2fff com.apple.AppleSystemInfo (3.1.5 - 3.1.5) <011F9762-19FD-3500-AF7E-889D3E193FD3> /System/Library/PrivateFrameworks/AppleSystemInfo.framework/Versions/A/AppleSystemInfo - 0x1971c3000 - 0x1971c4fff liblangid.dylib (138) /usr/lib/liblangid.dylib - 0x1971c5000 - 0x1972e0fff com.apple.CoreNLP (1.0 - 313) /System/Library/PrivateFrameworks/CoreNLP.framework/Versions/A/CoreNLP - 0x1972e1000 - 0x1972e6fff com.apple.LinguisticData (1.0 - 483.10) <9E7B9C4C-1E7D-339A-A3A8-A9BB4DCA0255> /System/Library/PrivateFrameworks/LinguisticData.framework/Versions/A/LinguisticData - 0x1972e7000 - 0x197ac1faf libBNNS.dylib (830.40.9.0.1) <65FC5752-9068-3F54-ACC6-C7C2F25A9A33> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBNNS.dylib - 0x197ac2000 - 0x197bb2f47 libvDSP.dylib (1041) <6A43D803-7871-3FDA-AD48-B1C2F1F50930> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib - 0x197bb3000 - 0x197be5fff com.apple.CoreEmoji (1.0 - 200.151) <85D6BBAF-FF34-3AC9-903C-571C45856662> /System/Library/PrivateFrameworks/CoreEmoji.framework/Versions/A/CoreEmoji - 0x197be6000 - 0x197bf5ff7 com.apple.IOMobileFramebuffer (343.0.0 - 343.0.0) <103B98C3-473A-3B24-AC4B-8E5D30062CEF> /System/Library/PrivateFrameworks/IOMobileFramebuffer.framework/Versions/A/IOMobileFramebuffer - 0x197e16000 - 0x197ea3fff com.apple.securityfoundation (6.0 - 55282) <53711520-62D0-336D-8A69-75B2B1155261> /System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation - 0x197ea4000 - 0x197ec9fff com.apple.coreservices.BackgroundTaskManagement (1.0 - 104) <77003297-2742-30A1-9F2B-3CB101228720> /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Versions/A/BackgroundTaskManagement - 0x197ed5000 - 0x197ed7ffb libquarantine.dylib (172.40.1) /usr/lib/system/libquarantine.dylib - 0x197ed8000 - 0x197ee3fff libCheckFix.dylib (32) /usr/lib/libCheckFix.dylib - 0x197ee4000 - 0x197efbfff libcoretls.dylib (186) <9A15527C-37F5-3389-AC30-69372529D496> /usr/lib/libcoretls.dylib - 0x197efc000 - 0x197f0dffb libbsm.0.dylib (89) <17824944-FFBE-32C5-AB4E-E433BA62EF4E> /usr/lib/libbsm.0.dylib - 0x197f0e000 - 0x197f69fff libmecab.dylib (1062.152) /usr/lib/libmecab.dylib - 0x197f6a000 - 0x197f6cffb libgermantok.dylib (29) /usr/lib/libgermantok.dylib - 0x197f6d000 - 0x197f81fff libLinearAlgebra.dylib (1447) <61E860A6-6912-35A8-819C-F1ACDE6C91FF> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLinearAlgebra.dylib - 0x19850a000 - 0x1985cdfdf com.apple.AppleFSCompression (158 - 1.0) <2FC70EFA-CA67-359C-A3E2-88F70403EAEA> /System/Library/PrivateFrameworks/AppleFSCompression.framework/Versions/A/AppleFSCompression - 0x1985ce000 - 0x1985daffb libbz2.1.0.dylib (45) <15785738-C3DB-39BA-9AE9-CC522EABBBA8> /usr/lib/libbz2.1.0.dylib - 0x1985db000 - 0x1985e0fff libsystem_coreservices.dylib (152.1) <26F9E755-26EC-3974-BEC8-3B706D0254BA> /usr/lib/system/libsystem_coreservices.dylib - 0x1985e1000 - 0x198612fff com.apple.CoreServices.OSServices (1141.1 - 1141.1) /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices - 0x1988ee000 - 0x1988fcfff libz.1.dylib (91.40.1.0.1) <7523CDC8-DA6B-382B-8DDC-F63D156A299B> /usr/lib/libz.1.dylib - 0x1988fd000 - 0x198933ff3 libsystem_m.dylib (3252.40.2) <072B3C9C-C54E-3F27-B231-88482F485502> /usr/lib/system/libsystem_m.dylib - 0x198934000 - 0x198937fff libcharset.1.dylib (86) /usr/lib/libcharset.1.dylib - 0x198938000 - 0x19893fffb libmacho.dylib (1009) <29C5FB27-B26B-3927-89C1-917051E5D353> /usr/lib/system/libmacho.dylib - 0x198940000 - 0x19895ffff libkxld.dylib (10002.41.9) <87786C0C-7D78-3B0B-B6B5-6603B8804253> /usr/lib/system/libkxld.dylib - 0x198960000 - 0x19896dff7 libcommonCrypto.dylib (600025) <4CF0B406-031F-3BC7-8A97-61DFA262C179> /usr/lib/system/libcommonCrypto.dylib - 0x19896e000 - 0x198978fff libunwind.dylib (1600.112) <18A7097B-A9D1-34C6-8333-0D16CF789585> /usr/lib/system/libunwind.dylib - 0x198979000 - 0x198980fff liboah.dylib (315.1) /usr/lib/liboah.dylib - 0x198981000 - 0x19898aff3 libcopyfile.dylib (196) /usr/lib/system/libcopyfile.dylib - 0x19898b000 - 0x19898efff libcompiler_rt.dylib (103.1) /usr/lib/system/libcompiler_rt.dylib - 0x19898f000 - 0x198993ffb libsystem_collections.dylib (1583.40.7) <985E00EB-F590-3B07-876A-EFE015DB79EF> /usr/lib/system/libsystem_collections.dylib - 0x198994000 - 0x198996ffb libsystem_secinit.dylib (143) /usr/lib/system/libsystem_secinit.dylib - 0x198997000 - 0x198999ffb libremovefile.dylib (70) /usr/lib/system/libremovefile.dylib - 0x19899a000 - 0x19899affb libkeymgr.dylib (31) /usr/lib/system/libkeymgr.dylib - 0x19899b000 - 0x1989a3ff7 libsystem_dnssd.dylib (2200.40.37.0.1) /usr/lib/system/libsystem_dnssd.dylib - 0x1989a4000 - 0x1989a9fff libcache.dylib (92) <47B56AFF-F15C-3550-B9B6-560806BC20C5> /usr/lib/system/libcache.dylib - 0x1989aa000 - 0x1989abfff libSystem.B.dylib (1336) <1E176743-EDDD-309B-AE12-6369F1A2029B> /usr/lib/libSystem.B.dylib - 0x1989ac000 - 0x1989affff libfakelink.dylib (5) /usr/lib/libfakelink.dylib - 0x1989b0000 - 0x1989b0ffb com.apple.SoftLinking (1.0 - 47) /System/Library/PrivateFrameworks/SoftLinking.framework/Versions/A/SoftLinking - 0x1989b1000 - 0x1989e6ffb libpcap.A.dylib (126.41.1) <494571FE-C8C2-3193-AA67-A17AC286AA4A> /usr/lib/libpcap.A.dylib - 0x1989e7000 - 0x1989edff3 libiconv.2.dylib (86) /usr/lib/libiconv.2.dylib - 0x1989ee000 - 0x1989fffff libcmph.dylib (8) <615CF8F9-9E63-3C31-A888-73A7C48B702B> /usr/lib/libcmph.dylib - 0x198a00000 - 0x198a88ff3 libarchive.2.dylib (121.40.3) <010A91A0-9B78-3798-B1D9-F017104C3EE2> /usr/lib/libarchive.2.dylib - 0x198a89000 - 0x198affff3 com.apple.SearchKit (1.4.1 - 1.4.1) /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit - 0x198b00000 - 0x198b01ff7 libThaiTokenizer.dylib (15) <67E80E6B-32B4-36BF-921C-D5DA2AEC583D> /usr/lib/libThaiTokenizer.dylib - 0x198b02000 - 0x198b27fff com.apple.applesauce (1.0 - 16.55) /System/Library/PrivateFrameworks/AppleSauce.framework/Versions/A/AppleSauce - 0x198b28000 - 0x198b41ffb libapple_nghttp2.dylib (16) /usr/lib/libapple_nghttp2.dylib - 0x198b42000 - 0x198b54fff libSparseBLAS.dylib (1447) /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparseBLAS.dylib - 0x198b57000 - 0x198b5cfff libpam.2.dylib (33) <81CDA9F5-6B0D-300F-B236-BA8141836521> /usr/lib/libpam.2.dylib - 0x198b5d000 - 0x198c2afcf libcompression.dylib (166) <0CAB9E05-BF75-3913-A9E0-1D85226274AC> /usr/lib/libcompression.dylib - 0x198c2b000 - 0x198c2fffb libQuadrature.dylib (7) <41C54DE8-6D6E-3091-AE3C-8F93FAE80BD1> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libQuadrature.dylib - 0x198c30000 - 0x199da1fff libLAPACK.dylib (1447) /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib - 0x199da2000 - 0x199df8fff com.apple.DictionaryServices (1.2 - 355) /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices - 0x199df9000 - 0x199e11ff3 liblzma.5.dylib (18) /usr/lib/liblzma.5.dylib - 0x199e12000 - 0x199e13ffb libcoretls_cfhelpers.dylib (186) /usr/lib/libcoretls_cfhelpers.dylib - 0x199e14000 - 0x199e82ff3 com.apple.APFS (2235.41.1 - 2235.41.1) <1AC37BDF-F264-3A0E-A5AE-0D98174F8095> /System/Library/PrivateFrameworks/APFS.framework/Versions/A/APFS - 0x199e83000 - 0x199e91ffb libxar.1.dylib (498) <22C053D2-5F9A-356A-A3AD-09BD790C6437> /usr/lib/libxar.1.dylib - 0x199e92000 - 0x199e95ff7 libutil.dylib (72) /usr/lib/libutil.dylib - 0x199e96000 - 0x199ec1ff3 libxslt.1.dylib (20.3) <215E57F4-CF08-38D9-921F-5AF522C1159A> /usr/lib/libxslt.1.dylib - 0x199eca000 - 0x199f45fff libvMisc.dylib (1041) <9FEC3CE5-CBA8-3524-83A1-E10C910E101D> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib - 0x19a26a000 - 0x19a274fff libheimdal-asn1.dylib (685) /usr/lib/libheimdal-asn1.dylib - 0x19b968000 - 0x19b9c5ffa libusrtcp.dylib (3762.41.2) <0F6EF57C-DEE8-3D4D-9E33-5F451FF4AFB2> /usr/lib/libusrtcp.dylib - 0x19b9c6000 - 0x19bf05fff libswiftCore.dylib (5.9 - 5.9.0.123.305) <1FCC7DF4-6B2E-3CBA-9125-EB1ED90943F4> /usr/lib/swift/libswiftCore.dylib - 0x19de20000 - 0x19df5cfff com.apple.combine (1.0 - 311) <5E78AE31-70E7-3F20-B41B-F0AD6E39D711> /System/Library/Frameworks/Combine.framework/Versions/A/Combine - 0x19fefa000 - 0x19fefafff com.apple.Accelerate.vecLib (3.11 - vecLib 3.11) <84B9B13D-FDCC-3AE6-8979-4F138842CA34> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib - 0x19ff23000 - 0x19ff23fff com.apple.CoreServices (1226 - 1226) <8A75797D-1FDA-32DA-9E90-07F6CF0E512E> /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices - 0x1a0227000 - 0x1a0227fff com.apple.Accelerate (1.11 - Accelerate 1.11) <02B4577F-7DB2-3A40-8800-656D8D30A763> /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate - 0x1a158a000 - 0x1a15a2ff7 libswiftDispatch.dylib (34.0.2) /usr/lib/swift/libswiftDispatch.dylib - 0x1a3d64000 - 0x1a3d67ff5 libswiftObjectiveC.dylib (8) /usr/lib/swift/libswiftObjectiveC.dylib - 0x1a3d68000 - 0x1a3d80fff libswiftos.dylib (1040) <9B41C748-9156-304D-B221-025E455A9B6D> /usr/lib/swift/libswiftos.dylib - 0x1aea89000 - 0x1aea92ff7 libswiftDarwin.dylib (??? - 5.9.0.123.305) <05D38AAE-B8B9-3AC5-A653-3597E052AC32> /usr/lib/swift/libswiftDarwin.dylib - 0x1b0c92000 - 0x1b0ca5fff libmis.dylib (381) <8AB6E1A0-4242-3689-8B67-59F86F022FE2> /usr/lib/libmis.dylib - 0x1b0cb3000 - 0x1b0cb9fff libswiftCoreFoundation.dylib (2000) /usr/lib/swift/libswiftCoreFoundation.dylib - 0x1b0cc9000 - 0x1b0cfeff7 libswiftXPC.dylib (29.0.2) <9E6314D3-CE1C-3970-8350-26043FCAA913> /usr/lib/swift/libswiftXPC.dylib - 0x1b0d00000 - 0x1b0d00fff libswiftIOKit.dylib (1) /usr/lib/swift/libswiftIOKit.dylib - 0x1c0782000 - 0x1c0789fff com.apple.MobileSystemServices (1.0 - 1) /System/Library/PrivateFrameworks/MobileSystemServices.framework/Versions/A/MobileSystemServices - 0x1f1469000 - 0x1f146cfff com.apple.ConfigProfileHelper (16.1 - 1622) /System/Library/PrivateFrameworks/ConfigProfileHelper.framework/Versions/A/ConfigProfileHelper - 0x1fe70f000 - 0x1fe722fff com.apple.private.AppleMobileFileIntegrity-fmk (1.0 - 1) <8039181A-3E85-3233-B9D9-7563C9E165FD> /System/Library/PrivateFrameworks/AppleMobileFileIntegrity.framework/Versions/A/AppleMobileFileIntegrity - 0x200b03000 - 0x200c61fff com.apple.CollectionsInternal (1.1.0 - 19) <6A16A70E-B3E9-3ECE-9485-2192FF0C1506> /System/Library/PrivateFrameworks/CollectionsInternal.framework/Versions/A/CollectionsInternal - 0x20e5cf000 - 0x20e6a6fff com.apple.InstalledContentLibrary (1.0 - 1.0) <9920C0DA-5FB7-34CF-A15C-3E753F8DF951> /System/Library/PrivateFrameworks/InstalledContentLibrary.framework/Versions/A/InstalledContentLibrary - 0x21030c000 - 0x2107e0ffb com.apple.MIL (5.33 - 5.33.5) /System/Library/PrivateFrameworks/MIL.framework/Versions/A/MIL - 0x211ad9000 - 0x211b23fff com.apple.MessageSecurity (1.0 - 101.40.6) <2F806526-DC8F-3A34-9959-50112A8251D3> /System/Library/PrivateFrameworks/MessageSecurity.framework/Versions/A/MessageSecurity - 0x216646000 - 0x21664cff7 com.apple.ReflectionInternal (1.0.0 - 19) <3CE1C9E3-0652-3F64-BCB5-8EC03A0FFD99> /System/Library/PrivateFrameworks/ReflectionInternal.framework/Versions/A/ReflectionInternal - 0x216c32000 - 0x216c48ff7 com.apple.RuntimeInternal (1.0.0 - 19) <01065A3F-0218-3BAE-8832-1FBF07AD6712> /System/Library/PrivateFrameworks/RuntimeInternal.framework/Versions/A/RuntimeInternal - 0x229daa000 - 0x229db5fff libCoreEntitlements.dylib (53) <73C57354-D94C-3CC2-99F7-06B75FC7DE4A> /usr/lib/libCoreEntitlements.dylib - 0x229f93000 - 0x229f9efff libTLE.dylib (53) <2B0C780B-984D-36DA-938E-7CBE9AA241B2> /usr/lib/libTLE.dylib - 0x22b30c000 - 0x22b36aff3 libswift_Concurrency.dylib (5.9 - 5.9.0.123.305) <044E4103-2CB6-37B9-9F4B-A53237EA4521> /usr/lib/swift/libswift_Concurrency.dylib - 0x22b3a9000 - 0x22b454fff libswift_RegexParser.dylib (??? - 5.9.0.123.305) /usr/lib/swift/libswift_RegexParser.dylib - 0x22b455000 - 0x22b4f5fff libswift_StringProcessing.dylib (??? - 5.9.0.123.305) <97484081-9BDD-3AD8-8554-1C3E3FA349B4> /usr/lib/swift/libswift_StringProcessing.dylib - 0x22b636000 - 0x22b639fff libsystem_darwindirectory.dylib (86.0.2) <8C2C7C2A-F18E-3196-BB40-B4BB95C5BFF9> /usr/lib/system/libsystem_darwindirectory.dylib - diff --git a/deadlock_4.txt b/deadlock_4.txt deleted file mode 100644 index ca8cbf5..0000000 --- a/deadlock_4.txt +++ /dev/null @@ -1,389 +0,0 @@ - -Analysis of sampling rqbit (pid 41569) every 1 millisecond -Process: rqbit [41569] -Path: /Users/USER/*/rqbit -Load Address: 0x10031c000 -Identifier: rqbit -Version: 0 -Code Type: ARM64 -Platform: macOS -Parent Process: bash [2715] - -Date/Time: 2023-11-19 17:11:35.878 +0000 -Launch Time: 2023-11-19 17:02:41.062 +0000 -OS Version: macOS 14.1 (23B74) -Report Version: 7 -Analysis Tool: /usr/bin/sample - -Physical footprint: 11.5M -Physical footprint (peak): 12.0M -Idle exit: untracked ----- - -Call graph: - 8183 Thread_2501818 DispatchQueue_1: com.apple.main-thread (serial) - + 8183 start (in dyld) + 2360 [0x18bddd0e0] - + 8183 main (in rqbit) + 32 [0x1003b4d10] - + 8183 std::rt::lang_start::hc92c8460d670427e (in rqbit) + 44 [0x1003fc260] rt.rs:166 - + 8183 std::rt::lang_start_internal::hea4720c823b0b053 (in rqbit) + 648 [0x1007318d0] - + 8183 std::rt::lang_start::_$u7b$$u7b$closure$u7d$$u7d$::hf04eff045c3204ce (in rqbit) + 24 [0x1003fc284] rt.rs:167 - + 8183 std::sys_common::backtrace::__rust_begin_short_backtrace::hc575c434e3c9f843 (in rqbit) + 12 [0x10037a330] backtrace.rs:154 - + 8183 rqbit::main::hfdee818328ed2d4e (in rqbit) + 3604 [0x1003a9f50] main.rs:221 - + 8183 tokio::runtime::runtime::Runtime::block_on::h41f524f37dfac32b (in rqbit) + 484 [0x10040cfbc] runtime.rs:350 - + 8183 tokio::runtime::park::CachedParkThread::block_on::hd6c99b8d2957d23a (in rqbit) + 248 [0x1003a411c] park.rs:286 - + 8183 (.llvm.1541039607769432884) (in rqbit) + 256 [0x100681f08] - + 8183 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - + 8183 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] - 8183 Thread_2501832: tokio-runtime-worker - + 8183 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] - + 8183 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] - + 8183 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x10073e654] - + 8183 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x10068c558] - + 8183 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x10067d624] - + 8183 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x100680d00] - + 8183 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::ha45a744d0ecf214e (in rqbit) + 168 [0x100675b44] - + 8183 tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h8b38a0b62ce90d26 (in rqbit) + 204 [0x10067c0ec] - + 8183 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x10068581c] - + 8183 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x100683ef0] - + 8183 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x10068a1b0] - + 8183 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 2816 [0x1006863b4] - + 8183 tokio::runtime::scheduler::multi_thread::worker::Context::park_timeout::hd0502377b834d526 (in rqbit) + 276 [0x100686b30] - + 8183 tokio::runtime::scheduler::multi_thread::park::Parker::park::h0192ef6876d96010 (in rqbit) + 328 [0x10067ea98] - + 8183 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - + 8183 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] - 8183 Thread_2501834: tokio-runtime-worker - + 8183 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] - + 8183 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] - + 8183 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x10073e654] - + 8183 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x10068c558] - + 8183 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x10067d624] - + 8183 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x100680d00] - + 8183 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::ha45a744d0ecf214e (in rqbit) + 168 [0x100675b44] - + 8183 tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h8b38a0b62ce90d26 (in rqbit) + 204 [0x10067c0ec] - + 8183 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x10068581c] - + 8183 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x100683ef0] - + 8183 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x10068a1b0] - + 8183 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 2816 [0x1006863b4] - + 8183 tokio::runtime::scheduler::multi_thread::worker::Context::park_timeout::hd0502377b834d526 (in rqbit) + 276 [0x100686b30] - + 8183 tokio::runtime::scheduler::multi_thread::park::Parker::park::h0192ef6876d96010 (in rqbit) + 328 [0x10067ea98] - + 8183 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - + 8183 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] - 8183 Thread_2501835: tokio-runtime-worker - + 8183 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] - + 8183 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] - + 8183 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x10073e654] - + 8183 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x10068c558] - + 8183 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x10067d624] - + 8183 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x100680d00] - + 8183 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::ha45a744d0ecf214e (in rqbit) + 168 [0x100675b44] - + 8183 tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h8b38a0b62ce90d26 (in rqbit) + 204 [0x10067c0ec] - + 8183 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x10068581c] - + 8183 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x100683ef0] - + 8183 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x10068a1b0] - + 8183 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 2816 [0x1006863b4] - + 8183 tokio::runtime::scheduler::multi_thread::worker::Context::park_timeout::hd0502377b834d526 (in rqbit) + 276 [0x100686b30] - + 8183 tokio::runtime::scheduler::multi_thread::park::Parker::park::h0192ef6876d96010 (in rqbit) + 328 [0x10067ea98] - + 8183 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - + 8183 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] - 8183 Thread_2501836: tokio-runtime-worker - + 8183 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] - + 8183 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] - + 8183 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x10073e654] - + 8183 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x10068c558] - + 8183 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x10067d624] - + 8183 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x100680d00] - + 8183 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x10047d27c] - + 8183 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x10047f234] - + 8183 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x10068581c] - + 8183 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x100683ef0] - + 8183 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x10068a1b0] - + 8183 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 1964 [0x100686060] - + 8183 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x100686720] - + 8183 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c (in rqbit) + 124 [0x10047c4b4] - + 8183 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4 (in rqbit) + 6312 [0x100465910] - + 8183 _$LT$tokio..future..poll_fn..PollFn$LT$F$GT$$u20$as$u20$core..future..future..Future$GT$::poll::heaf39ed4d1b44001 (in rqbit) + 3200 [0x1004992cc] - + 8183 _$LT$librqbit..torrent_state..PeerHandler$u20$as$u20$librqbit..peer_connection..PeerConnectionHandler$GT$::on_received_message::hd1fafc35289e3666 (in rqbit) + 996 [0x10046df8c] - + 8183 librqbit::torrent_state::PeerHandler::on_received_piece::hf3408148458b4a03 (in rqbit) + 956 [0x100471638] - + 8183 parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h836aa47d9a7a9313 (in rqbit) + 724 [0x100783348] - + 8183 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - + 8183 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] - 8183 Thread_2501837: tokio-runtime-worker - + 8183 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] - + 8183 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] - + 8183 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x10073e654] - + 8183 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x10068c558] - + 8183 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x10067d624] - + 8183 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x100680d00] - + 8183 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x10047d27c] - + 8183 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x10047f234] - + 8183 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x10068581c] - + 8183 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x100683ef0] - + 8183 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x10068a1b0] - + 8183 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 2816 [0x1006863b4] - + 8183 tokio::runtime::scheduler::multi_thread::worker::Context::park_timeout::hd0502377b834d526 (in rqbit) + 276 [0x100686b30] - + 8183 tokio::runtime::scheduler::multi_thread::park::Parker::park::h0192ef6876d96010 (in rqbit) + 328 [0x10067ea98] - + 8183 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - + 8183 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] - 8183 Thread_2501838: tokio-runtime-worker - + 8183 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] - + 8183 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] - + 8183 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x10073e654] - + 8183 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x10068c558] - + 8183 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x10067d624] - + 8183 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x100680d00] - + 8183 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x10047d27c] - + 8183 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x10047f234] - + 8183 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x10068581c] - + 8183 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x100683ef0] - + 8183 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x10068a1b0] - + 8183 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 2816 [0x1006863b4] - + 8183 tokio::runtime::scheduler::multi_thread::worker::Context::park_timeout::hd0502377b834d526 (in rqbit) + 276 [0x100686b30] - + 8183 tokio::runtime::scheduler::multi_thread::park::Parker::park::h0192ef6876d96010 (in rqbit) + 328 [0x10067ea98] - + 8183 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - + 8183 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] - 8183 Thread_2501839 - + 8183 start_wqthread (in libsystem_pthread.dylib) + 8 [0x18c153e30] - + 8183 _pthread_wqthread (in libsystem_pthread.dylib) + 364 [0x18c155160] - + 8183 __workq_kernreturn (in libsystem_kernel.dylib) + 8 [0x18c11a564] - 8183 Thread_2501842: tokio-runtime-worker - + 8183 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] - + 8183 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] - + 8183 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x10073e654] - + 8183 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x10068c558] - + 8183 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x10067d624] - + 8183 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x100680d00] - + 8183 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x10047d27c] - + 8183 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x10047f234] - + 8183 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x10068581c] - + 8183 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x100683ef0] - + 8183 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x10068a1b0] - + 8183 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 1964 [0x100686060] - + 8183 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x100686720] - + 8183 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c (in rqbit) + 124 [0x10047c4b4] - + 8183 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4 (in rqbit) + 6312 [0x100465910] - + 8183 _$LT$tokio..future..poll_fn..PollFn$LT$F$GT$$u20$as$u20$core..future..future..Future$GT$::poll::heaf39ed4d1b44001 (in rqbit) + 3200 [0x1004992cc] - + 8183 _$LT$librqbit..torrent_state..PeerHandler$u20$as$u20$librqbit..peer_connection..PeerConnectionHandler$GT$::on_received_message::hd1fafc35289e3666 (in rqbit) + 996 [0x10046df8c] - + 8183 librqbit::torrent_state::PeerHandler::on_received_piece::hf3408148458b4a03 (in rqbit) + 168 [0x100471324] - + 8183 _$LT$dashmap..DashMap$LT$K$C$V$C$S$GT$$u20$as$u20$dashmap..t..Map$LT$K$C$V$C$S$GT$$GT$::_get_mut::ha163c599d0d0a786 (in rqbit) + 588 [0x1004a691c] - + 8183 dashmap::lock::RawRwLock::lock_exclusive_slow::hebac357c00faad7e (in rqbit) + 1176 [0x100775444] - + 8183 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - + 8183 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] - 8183 Thread_2501873: tokio-runtime-worker - + 8183 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] - + 8183 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] - + 8183 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x10073e654] - + 8183 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x10068c558] - + 8183 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x10067d624] - + 8183 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x100680d00] - + 8183 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x10047d27c] - + 8183 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x10047f234] - + 8183 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x10068581c] - + 8183 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x100683ef0] - + 8183 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x10068a1b0] - + 8183 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 1964 [0x100686060] - + 8183 tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 (in rqbit) + 472 [0x100686720] - + 8183 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::hb33feb246c22b65a (in rqbit) + 120 [0x10047cdfc] - + 8183 _$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::he46a59e86a4040f3 (in rqbit) + 2984 [0x100467cb8] - + 8183 librqbit::torrent_state::TorrentState::reserve_next_needed_piece::h4003aa9a864bc6d1 (in rqbit) + 948 [0x10046b290] - + 8183 parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h836aa47d9a7a9313 (in rqbit) + 724 [0x100783348] - + 8183 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - + 8183 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] - 8183 Thread_2501874: tokio-runtime-worker - 8183 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] - 8183 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] - 8183 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x10073e654] - 8183 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x10068c558] - 8183 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x10067d624] - 8183 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x100680d00] - 8183 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x10047d27c] - 8183 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x10047f234] - 8183 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x10068581c] - 8183 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x100683ef0] - 8183 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x10068a1b0] - 8183 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 2816 [0x1006863b4] - 8183 tokio::runtime::scheduler::multi_thread::worker::Context::park_timeout::hd0502377b834d526 (in rqbit) + 276 [0x100686b30] - 8183 tokio::runtime::scheduler::multi_thread::park::Parker::park::h0192ef6876d96010 (in rqbit) + 328 [0x10067ea98] - 8183 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - 8183 __psynch_cvwait (in libsystem_kernel.dylib) + 8 [0x18c11c0ac] - -Total number in stack (recursive counted multiple, when >=5): - 10 __psynch_cvwait (in libsystem_kernel.dylib) + 0 [0x18c11c0a4] - 10 _pthread_cond_wait (in libsystem_pthread.dylib) + 1228 [0x18c1595fc] - 9 _pthread_start (in libsystem_pthread.dylib) + 136 [0x18c159034] - 9 core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 (in rqbit) + 120 [0x10068c558] - 9 std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 (in rqbit) + 48 [0x10073e654] - 9 std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 (in rqbit) + 76 [0x10067d624] - 9 thread_start (in libsystem_pthread.dylib) + 8 [0x18c153e3c] - 9 tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 (in rqbit) + 392 [0x100680d00] - 9 tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 (in rqbit) + 508 [0x100683ef0] - 9 tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 (in rqbit) + 56 [0x10068a1b0] - 9 tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2 (in rqbit) + 88 [0x10068581c] - 6 std::panicking::try::h793651e64898b5cd (in rqbit) + 76 [0x10047f234] - 6 tokio::runtime::scheduler::multi_thread::park::Parker::park::h0192ef6876d96010 (in rqbit) + 328 [0x10067ea98] - 6 tokio::runtime::scheduler::multi_thread::worker::Context::park_timeout::hd0502377b834d526 (in rqbit) + 276 [0x100686b30] - 6 tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883 (in rqbit) + 2816 [0x1006863b4] - 6 tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf (in rqbit) + 84 [0x10047d27c] - -Sort by top of stack, same collapsed (when >= 5): - __psynch_cvwait (in libsystem_kernel.dylib) 81830 - __workq_kernreturn (in libsystem_kernel.dylib) 8183 - -Binary Images: - 0x10031c000 - 0x1008dbffb +rqbit (0) <5761B6C8-03EF-3857-ADB1-47469005C346> /Users/*/rqbit - 0x18bd88000 - 0x18bdd6f08 libobjc.A.dylib (906) <49E2DCB3-F014-3FCF-949B-F5F57B3EF0A8> /usr/lib/libobjc.A.dylib - 0x18bdd7000 - 0x18be6b317 dyld (1.0.0 - 1122.1.2) /usr/lib/dyld - 0x18be6c000 - 0x18be70ff8 libsystem_blocks.dylib (90) /usr/lib/system/libsystem_blocks.dylib - 0x18be71000 - 0x18beb7fff libxpc.dylib (2679.40.6) <212B4ED6-CBB2-33DE-95C0-7F8A405B3EBD> /usr/lib/system/libxpc.dylib - 0x18beb8000 - 0x18bed2fff libsystem_trace.dylib (1481.40.16) <91ECA044-8462-3293-AEEA-183BF841CBA2> /usr/lib/system/libsystem_trace.dylib - 0x18bed3000 - 0x18bf70ff7 libcorecrypto.dylib (1608.40.12) <5258A992-DC2A-3A90-90F1-A64863C450A7> /usr/lib/system/libcorecrypto.dylib - 0x18bf71000 - 0x18bfa7fff libsystem_malloc.dylib (474.0.13) <901200AA-1016-3DAA-8816-5032588ED460> /usr/lib/system/libsystem_malloc.dylib - 0x18bfa8000 - 0x18bfeefff libdispatch.dylib (1462.0.4) /usr/lib/system/libdispatch.dylib - 0x18bfef000 - 0x18bff1fff libsystem_featureflags.dylib (85) <3282C86B-3BD7-353A-AC3E-09BCC631BB1F> /usr/lib/system/libsystem_featureflags.dylib - 0x18bff2000 - 0x18c070ffb libsystem_c.dylib (1583.40.7) /usr/lib/system/libsystem_c.dylib - 0x18c071000 - 0x18c0feff7 libc++.1.dylib (1600.151) <3702EEDE-997D-38E6-A6A1-C08EB22C375B> /usr/lib/libc++.1.dylib - 0x18c0ff000 - 0x18c116fff libc++abi.dylib (1600.151) /usr/lib/libc++abi.dylib - 0x18c117000 - 0x18c151fef libsystem_kernel.dylib (10002.41.9) /usr/lib/system/libsystem_kernel.dylib - 0x18c152000 - 0x18c15eff3 libsystem_pthread.dylib (519) /usr/lib/system/libsystem_pthread.dylib - 0x18c15f000 - 0x18c183fff libdyld.dylib (1122.1.2) /usr/lib/system/libdyld.dylib - 0x18c184000 - 0x18c18affb libsystem_platform.dylib (306.0.1) /usr/lib/system/libsystem_platform.dylib - 0x18c18b000 - 0x18c1b7ffb libsystem_info.dylib (583.0.1) /usr/lib/system/libsystem_info.dylib - 0x18c1b8000 - 0x18c68ffff com.apple.CoreFoundation (6.9 - 2106) <9F046E36-7286-3A6E-A280-699D6E47CFAF> /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation - 0x18c690000 - 0x18c942fff com.apple.LaunchServices (1141.1 - 1141.1) <0C46B08C-2AA0-345C-BF3B-44F28B9DBB86> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices - 0x18ca8e000 - 0x18ce17fff libBLAS.dylib (1447) <25959BCE-50A3-3E96-8DB9-C9E15FD822C1> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib - 0x18ce18000 - 0x18cf04ff7 com.apple.Lexicon-framework (1.0 - 134) /System/Library/PrivateFrameworks/Lexicon.framework/Versions/A/Lexicon - 0x18cf05000 - 0x18cf6bff7 libSparse.dylib (123) /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparse.dylib - 0x18cf6c000 - 0x18cffeffb com.apple.SystemConfiguration (1.21 - 1.21) /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration - 0x18cfff000 - 0x18d033ffb libCRFSuite.dylib (52) /usr/lib/libCRFSuite.dylib - 0x18d2e2000 - 0x18df2ffff com.apple.Foundation (6.9 - 2106) <2126FD9A-52CE-3EB2-8640-B57535E073B8> /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation - 0x18df30000 - 0x18e112fff com.apple.LanguageModeling (1.0 - 366.4.1) <8032B2E5-1A2E-341F-9287-14AD8FE4E8A4> /System/Library/PrivateFrameworks/LanguageModeling.framework/Versions/A/LanguageModeling - 0x18ee80000 - 0x18f241fff com.apple.security (7.0 - 61040.41.1) <90771C8F-3085-3511-B628-31A4E990408B> /System/Library/Frameworks/Security.framework/Versions/A/Security - 0x18f242000 - 0x18f4faff7 libicucore.A.dylib (72123.15) <444D2FE1-A09C-369C-BE2E-929350EA2F0E> /usr/lib/libicucore.A.dylib - 0x18f4fb000 - 0x18f505ff7 libsystem_darwin.dylib (1583.40.7) /usr/lib/system/libsystem_darwin.dylib - 0x18f506000 - 0x18f80afff com.apple.CoreServices.CarbonCore (1333 - 1333) <049CCD7B-4151-3816-8FA8-A0BAD75AE69B> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore - 0x18f80b000 - 0x18f84afff com.apple.CoreServicesInternal (505 - 505) <5774EE20-DF1A-330E-A776-AEC79006908C> /System/Library/PrivateFrameworks/CoreServicesInternal.framework/Versions/A/CoreServicesInternal - 0x18f84b000 - 0x18f88bfff com.apple.CSStore (1141.1 - 1141.1) <75A298B2-F273-3922-97E8-94E19D2517CA> /System/Library/PrivateFrameworks/CoreServicesStore.framework/Versions/A/CoreServicesStore - 0x18f88c000 - 0x18f96cfff com.apple.framework.IOKit (2.0.2 - 100065.40.4) <029AEE72-3595-3815-B603-22F4AAA2D06F> /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit - 0x18f96d000 - 0x18f97dfff libsystem_notify.dylib (317) /usr/lib/system/libsystem_notify.dylib - 0x1912f5000 - 0x1913bdff7 libboringssl.dylib (480) <1657C102-7B93-3D24-8A87-8E16222EC9EC> /usr/lib/libboringssl.dylib - 0x1913be000 - 0x1913befff libnetwork.dylib (3762.41.2) <93791E09-CE36-37DE-8897-C32FC6D23F84> /usr/lib/libnetwork.dylib - 0x1913bf000 - 0x19178ffff com.apple.CFNetwork (1.0 - 1485) <1179E11A-65ED-33E1-9278-CC4904207F31> /System/Library/Frameworks/CFNetwork.framework/Versions/A/CFNetwork - 0x191790000 - 0x1917a9ff7 libsystem_networkextension.dylib (1838.40.8) <11D8A745-1F2F-3493-872E-C58F13BBD4D2> /usr/lib/system/libsystem_networkextension.dylib - 0x1917aa000 - 0x1917abfff libenergytrace.dylib (23) <9E6D595D-4E2C-3630-A2DA-1E2586FEF628> /usr/lib/libenergytrace.dylib - 0x1917ac000 - 0x19181ffdf libMobileGestalt.dylib (1291.40.8) <952B56CC-68E9-3C78-A816-E44605605DE5> /usr/lib/libMobileGestalt.dylib - 0x191820000 - 0x191837fff libsystem_asl.dylib (398) <9833954F-A010-3492-810A-70F96E17266E> /usr/lib/system/libsystem_asl.dylib - 0x191838000 - 0x191858ffd com.apple.TCC (1.0 - 1) /System/Library/PrivateFrameworks/TCC.framework/Versions/A/TCC - 0x192dd5000 - 0x192deefff com.apple.ProtocolBuffer (1 - 300.21.8.9.2) /System/Library/PrivateFrameworks/ProtocolBuffer.framework/Versions/A/ProtocolBuffer - 0x192def000 - 0x192f8bffb libsqlite3.dylib (349.3) <567CDD63-191D-36E4-959B-7DE47C7AFD7A> /usr/lib/libsqlite3.dylib - 0x193159000 - 0x1931ccfff com.apple.AE (944 - 944) <9A97FC75-CB6D-309B-845E-56C54B72D6A8> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE - 0x1931cd000 - 0x1931d6ffc libdns_services.dylib (2200.40.37.0.1) /usr/lib/libdns_services.dylib - 0x1931d7000 - 0x1931dfff3 libsystem_symptoms.dylib (1848.40.12) /usr/lib/system/libsystem_symptoms.dylib - 0x1931e0000 - 0x193dc4fff com.apple.Network (1.0 - 1) /System/Library/Frameworks/Network.framework/Versions/A/Network - 0x193dc5000 - 0x193df3fff com.apple.analyticsd (1.0 - 1) /System/Library/PrivateFrameworks/CoreAnalytics.framework/Versions/A/CoreAnalytics - 0x193df4000 - 0x193df5fff libDiagnosticMessagesClient.dylib (113) /usr/lib/libDiagnosticMessagesClient.dylib - 0x193df6000 - 0x193e3cfff com.apple.spotlight.metadata.utilities (1.0 - 2274.3) <0E25C3BA-5220-375A-8F05-6415CA45DD40> /System/Library/PrivateFrameworks/MetadataUtilities.framework/Versions/A/MetadataUtilities - 0x193e3d000 - 0x193ed7fff com.apple.Metadata (14.1 - 2274.3) <17D03259-8852-32B4-9B34-BB973F43FEDE> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata - 0x193ed8000 - 0x193ee0ffb com.apple.DiskArbitration (2.7 - 2.7) <4219AEC5-B906-3E12-BA8D-6847F52AFA0F> /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration - 0x193ee1000 - 0x1942c5ff7 com.apple.vImage (8.1 - 584) /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage - 0x19494b000 - 0x19495afff com.apple.OpenDirectory (14.1 - 642) /System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory - 0x19495b000 - 0x19497affb com.apple.CFOpenDirectory (14.1 - 642) /System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory - 0x19497b000 - 0x194987ff7 com.apple.CoreServices.FSEvents (1376 - 1376) <7D24FA70-0DFF-342C-9D88-FCA31213F8F4> /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/FSEvents.framework/Versions/A/FSEvents - 0x194988000 - 0x1949b2fff com.apple.coreservices.SharedFileList (225 - 225) /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SharedFileList.framework/Versions/A/SharedFileList - 0x1949b3000 - 0x1949b9fff libapp_launch_measurement.dylib (17) <3A9DDB7F-800F-3788-A6B5-1B5BCC6343E9> /usr/lib/libapp_launch_measurement.dylib - 0x1949ba000 - 0x194a03fff com.apple.CoreAutoLayout (1.0 - 32) /System/Library/PrivateFrameworks/CoreAutoLayout.framework/Versions/A/CoreAutoLayout - 0x194a04000 - 0x194aecffb libxml2.2.dylib (37.8) <236C8BF2-0800-396C-AF03-B5328CAD1FD6> /usr/lib/libxml2.2.dylib - 0x196238000 - 0x196261ff7 libsystem_containermanager.dylib (582.40.2.0.1) <444831B7-DB95-3E3A-8C1C-97E49676B185> /usr/lib/system/libsystem_containermanager.dylib - 0x196262000 - 0x196279fff com.apple.IOSurface (352.0.3 - 352.0.3) <7D9D9E22-C780-3790-BF2B-30FC1A9BF7CB> /System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface - 0x1971b2000 - 0x1971b6fff libsystem_configuration.dylib (1296.40.6) <389249EB-5A9C-362C-985F-6F470280D6F3> /usr/lib/system/libsystem_configuration.dylib - 0x1971b7000 - 0x1971bcff3 libsystem_sandbox.dylib (2169.41.1) <893061BE-F3BD-3696-AC8D-4DA5E7477A20> /usr/lib/system/libsystem_sandbox.dylib - 0x1971bf000 - 0x1971c2fff com.apple.AppleSystemInfo (3.1.5 - 3.1.5) <011F9762-19FD-3500-AF7E-889D3E193FD3> /System/Library/PrivateFrameworks/AppleSystemInfo.framework/Versions/A/AppleSystemInfo - 0x1971c3000 - 0x1971c4fff liblangid.dylib (138) /usr/lib/liblangid.dylib - 0x1971c5000 - 0x1972e0fff com.apple.CoreNLP (1.0 - 313) /System/Library/PrivateFrameworks/CoreNLP.framework/Versions/A/CoreNLP - 0x1972e1000 - 0x1972e6fff com.apple.LinguisticData (1.0 - 483.10) <9E7B9C4C-1E7D-339A-A3A8-A9BB4DCA0255> /System/Library/PrivateFrameworks/LinguisticData.framework/Versions/A/LinguisticData - 0x1972e7000 - 0x197ac1faf libBNNS.dylib (830.40.9.0.1) <65FC5752-9068-3F54-ACC6-C7C2F25A9A33> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBNNS.dylib - 0x197ac2000 - 0x197bb2f47 libvDSP.dylib (1041) <6A43D803-7871-3FDA-AD48-B1C2F1F50930> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib - 0x197bb3000 - 0x197be5fff com.apple.CoreEmoji (1.0 - 200.151) <85D6BBAF-FF34-3AC9-903C-571C45856662> /System/Library/PrivateFrameworks/CoreEmoji.framework/Versions/A/CoreEmoji - 0x197be6000 - 0x197bf5ff7 com.apple.IOMobileFramebuffer (343.0.0 - 343.0.0) <103B98C3-473A-3B24-AC4B-8E5D30062CEF> /System/Library/PrivateFrameworks/IOMobileFramebuffer.framework/Versions/A/IOMobileFramebuffer - 0x197e16000 - 0x197ea3fff com.apple.securityfoundation (6.0 - 55282) <53711520-62D0-336D-8A69-75B2B1155261> /System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation - 0x197ea4000 - 0x197ec9fff com.apple.coreservices.BackgroundTaskManagement (1.0 - 104) <77003297-2742-30A1-9F2B-3CB101228720> /System/Library/PrivateFrameworks/BackgroundTaskManagement.framework/Versions/A/BackgroundTaskManagement - 0x197ed5000 - 0x197ed7ffb libquarantine.dylib (172.40.1) /usr/lib/system/libquarantine.dylib - 0x197ed8000 - 0x197ee3fff libCheckFix.dylib (32) /usr/lib/libCheckFix.dylib - 0x197ee4000 - 0x197efbfff libcoretls.dylib (186) <9A15527C-37F5-3389-AC30-69372529D496> /usr/lib/libcoretls.dylib - 0x197efc000 - 0x197f0dffb libbsm.0.dylib (89) <17824944-FFBE-32C5-AB4E-E433BA62EF4E> /usr/lib/libbsm.0.dylib - 0x197f0e000 - 0x197f69fff libmecab.dylib (1062.152) /usr/lib/libmecab.dylib - 0x197f6a000 - 0x197f6cffb libgermantok.dylib (29) /usr/lib/libgermantok.dylib - 0x197f6d000 - 0x197f81fff libLinearAlgebra.dylib (1447) <61E860A6-6912-35A8-819C-F1ACDE6C91FF> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLinearAlgebra.dylib - 0x19850a000 - 0x1985cdfdf com.apple.AppleFSCompression (158 - 1.0) <2FC70EFA-CA67-359C-A3E2-88F70403EAEA> /System/Library/PrivateFrameworks/AppleFSCompression.framework/Versions/A/AppleFSCompression - 0x1985ce000 - 0x1985daffb libbz2.1.0.dylib (45) <15785738-C3DB-39BA-9AE9-CC522EABBBA8> /usr/lib/libbz2.1.0.dylib - 0x1985db000 - 0x1985e0fff libsystem_coreservices.dylib (152.1) <26F9E755-26EC-3974-BEC8-3B706D0254BA> /usr/lib/system/libsystem_coreservices.dylib - 0x1985e1000 - 0x198612fff com.apple.CoreServices.OSServices (1141.1 - 1141.1) /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices - 0x1988ee000 - 0x1988fcfff libz.1.dylib (91.40.1.0.1) <7523CDC8-DA6B-382B-8DDC-F63D156A299B> /usr/lib/libz.1.dylib - 0x1988fd000 - 0x198933ff3 libsystem_m.dylib (3252.40.2) <072B3C9C-C54E-3F27-B231-88482F485502> /usr/lib/system/libsystem_m.dylib - 0x198934000 - 0x198937fff libcharset.1.dylib (86) /usr/lib/libcharset.1.dylib - 0x198938000 - 0x19893fffb libmacho.dylib (1009) <29C5FB27-B26B-3927-89C1-917051E5D353> /usr/lib/system/libmacho.dylib - 0x198940000 - 0x19895ffff libkxld.dylib (10002.41.9) <87786C0C-7D78-3B0B-B6B5-6603B8804253> /usr/lib/system/libkxld.dylib - 0x198960000 - 0x19896dff7 libcommonCrypto.dylib (600025) <4CF0B406-031F-3BC7-8A97-61DFA262C179> /usr/lib/system/libcommonCrypto.dylib - 0x19896e000 - 0x198978fff libunwind.dylib (1600.112) <18A7097B-A9D1-34C6-8333-0D16CF789585> /usr/lib/system/libunwind.dylib - 0x198979000 - 0x198980fff liboah.dylib (315.1) /usr/lib/liboah.dylib - 0x198981000 - 0x19898aff3 libcopyfile.dylib (196) /usr/lib/system/libcopyfile.dylib - 0x19898b000 - 0x19898efff libcompiler_rt.dylib (103.1) /usr/lib/system/libcompiler_rt.dylib - 0x19898f000 - 0x198993ffb libsystem_collections.dylib (1583.40.7) <985E00EB-F590-3B07-876A-EFE015DB79EF> /usr/lib/system/libsystem_collections.dylib - 0x198994000 - 0x198996ffb libsystem_secinit.dylib (143) /usr/lib/system/libsystem_secinit.dylib - 0x198997000 - 0x198999ffb libremovefile.dylib (70) /usr/lib/system/libremovefile.dylib - 0x19899a000 - 0x19899affb libkeymgr.dylib (31) /usr/lib/system/libkeymgr.dylib - 0x19899b000 - 0x1989a3ff7 libsystem_dnssd.dylib (2200.40.37.0.1) /usr/lib/system/libsystem_dnssd.dylib - 0x1989a4000 - 0x1989a9fff libcache.dylib (92) <47B56AFF-F15C-3550-B9B6-560806BC20C5> /usr/lib/system/libcache.dylib - 0x1989aa000 - 0x1989abfff libSystem.B.dylib (1336) <1E176743-EDDD-309B-AE12-6369F1A2029B> /usr/lib/libSystem.B.dylib - 0x1989ac000 - 0x1989affff libfakelink.dylib (5) /usr/lib/libfakelink.dylib - 0x1989b0000 - 0x1989b0ffb com.apple.SoftLinking (1.0 - 47) /System/Library/PrivateFrameworks/SoftLinking.framework/Versions/A/SoftLinking - 0x1989b1000 - 0x1989e6ffb libpcap.A.dylib (126.41.1) <494571FE-C8C2-3193-AA67-A17AC286AA4A> /usr/lib/libpcap.A.dylib - 0x1989e7000 - 0x1989edff3 libiconv.2.dylib (86) /usr/lib/libiconv.2.dylib - 0x1989ee000 - 0x1989fffff libcmph.dylib (8) <615CF8F9-9E63-3C31-A888-73A7C48B702B> /usr/lib/libcmph.dylib - 0x198a00000 - 0x198a88ff3 libarchive.2.dylib (121.40.3) <010A91A0-9B78-3798-B1D9-F017104C3EE2> /usr/lib/libarchive.2.dylib - 0x198a89000 - 0x198affff3 com.apple.SearchKit (1.4.1 - 1.4.1) /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit - 0x198b00000 - 0x198b01ff7 libThaiTokenizer.dylib (15) <67E80E6B-32B4-36BF-921C-D5DA2AEC583D> /usr/lib/libThaiTokenizer.dylib - 0x198b02000 - 0x198b27fff com.apple.applesauce (1.0 - 16.55) /System/Library/PrivateFrameworks/AppleSauce.framework/Versions/A/AppleSauce - 0x198b28000 - 0x198b41ffb libapple_nghttp2.dylib (16) /usr/lib/libapple_nghttp2.dylib - 0x198b42000 - 0x198b54fff libSparseBLAS.dylib (1447) /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libSparseBLAS.dylib - 0x198b57000 - 0x198b5cfff libpam.2.dylib (33) <81CDA9F5-6B0D-300F-B236-BA8141836521> /usr/lib/libpam.2.dylib - 0x198b5d000 - 0x198c2afcf libcompression.dylib (166) <0CAB9E05-BF75-3913-A9E0-1D85226274AC> /usr/lib/libcompression.dylib - 0x198c2b000 - 0x198c2fffb libQuadrature.dylib (7) <41C54DE8-6D6E-3091-AE3C-8F93FAE80BD1> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libQuadrature.dylib - 0x198c30000 - 0x199da1fff libLAPACK.dylib (1447) /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib - 0x199da2000 - 0x199df8fff com.apple.DictionaryServices (1.2 - 355) /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices - 0x199df9000 - 0x199e11ff3 liblzma.5.dylib (18) /usr/lib/liblzma.5.dylib - 0x199e12000 - 0x199e13ffb libcoretls_cfhelpers.dylib (186) /usr/lib/libcoretls_cfhelpers.dylib - 0x199e14000 - 0x199e82ff3 com.apple.APFS (2235.41.1 - 2235.41.1) <1AC37BDF-F264-3A0E-A5AE-0D98174F8095> /System/Library/PrivateFrameworks/APFS.framework/Versions/A/APFS - 0x199e83000 - 0x199e91ffb libxar.1.dylib (498) <22C053D2-5F9A-356A-A3AD-09BD790C6437> /usr/lib/libxar.1.dylib - 0x199e92000 - 0x199e95ff7 libutil.dylib (72) /usr/lib/libutil.dylib - 0x199e96000 - 0x199ec1ff3 libxslt.1.dylib (20.3) <215E57F4-CF08-38D9-921F-5AF522C1159A> /usr/lib/libxslt.1.dylib - 0x199eca000 - 0x199f45fff libvMisc.dylib (1041) <9FEC3CE5-CBA8-3524-83A1-E10C910E101D> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib - 0x19a26a000 - 0x19a274fff libheimdal-asn1.dylib (685) /usr/lib/libheimdal-asn1.dylib - 0x19b968000 - 0x19b9c5ffa libusrtcp.dylib (3762.41.2) <0F6EF57C-DEE8-3D4D-9E33-5F451FF4AFB2> /usr/lib/libusrtcp.dylib - 0x19b9c6000 - 0x19bf05fff libswiftCore.dylib (5.9 - 5.9.0.123.305) <1FCC7DF4-6B2E-3CBA-9125-EB1ED90943F4> /usr/lib/swift/libswiftCore.dylib - 0x19de20000 - 0x19df5cfff com.apple.combine (1.0 - 311) <5E78AE31-70E7-3F20-B41B-F0AD6E39D711> /System/Library/Frameworks/Combine.framework/Versions/A/Combine - 0x19fefa000 - 0x19fefafff com.apple.Accelerate.vecLib (3.11 - vecLib 3.11) <84B9B13D-FDCC-3AE6-8979-4F138842CA34> /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib - 0x19ff23000 - 0x19ff23fff com.apple.CoreServices (1226 - 1226) <8A75797D-1FDA-32DA-9E90-07F6CF0E512E> /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices - 0x1a0227000 - 0x1a0227fff com.apple.Accelerate (1.11 - Accelerate 1.11) <02B4577F-7DB2-3A40-8800-656D8D30A763> /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate - 0x1a158a000 - 0x1a15a2ff7 libswiftDispatch.dylib (34.0.2) /usr/lib/swift/libswiftDispatch.dylib - 0x1a3d64000 - 0x1a3d67ff5 libswiftObjectiveC.dylib (8) /usr/lib/swift/libswiftObjectiveC.dylib - 0x1a3d68000 - 0x1a3d80fff libswiftos.dylib (1040) <9B41C748-9156-304D-B221-025E455A9B6D> /usr/lib/swift/libswiftos.dylib - 0x1aea89000 - 0x1aea92ff7 libswiftDarwin.dylib (??? - 5.9.0.123.305) <05D38AAE-B8B9-3AC5-A653-3597E052AC32> /usr/lib/swift/libswiftDarwin.dylib - 0x1b0c92000 - 0x1b0ca5fff libmis.dylib (381) <8AB6E1A0-4242-3689-8B67-59F86F022FE2> /usr/lib/libmis.dylib - 0x1b0cb3000 - 0x1b0cb9fff libswiftCoreFoundation.dylib (2000) /usr/lib/swift/libswiftCoreFoundation.dylib - 0x1b0cc9000 - 0x1b0cfeff7 libswiftXPC.dylib (29.0.2) <9E6314D3-CE1C-3970-8350-26043FCAA913> /usr/lib/swift/libswiftXPC.dylib - 0x1b0d00000 - 0x1b0d00fff libswiftIOKit.dylib (1) /usr/lib/swift/libswiftIOKit.dylib - 0x1c0782000 - 0x1c0789fff com.apple.MobileSystemServices (1.0 - 1) /System/Library/PrivateFrameworks/MobileSystemServices.framework/Versions/A/MobileSystemServices - 0x1f1469000 - 0x1f146cfff com.apple.ConfigProfileHelper (16.1 - 1622) /System/Library/PrivateFrameworks/ConfigProfileHelper.framework/Versions/A/ConfigProfileHelper - 0x1fe70f000 - 0x1fe722fff com.apple.private.AppleMobileFileIntegrity-fmk (1.0 - 1) <8039181A-3E85-3233-B9D9-7563C9E165FD> /System/Library/PrivateFrameworks/AppleMobileFileIntegrity.framework/Versions/A/AppleMobileFileIntegrity - 0x200b03000 - 0x200c61fff com.apple.CollectionsInternal (1.1.0 - 19) <6A16A70E-B3E9-3ECE-9485-2192FF0C1506> /System/Library/PrivateFrameworks/CollectionsInternal.framework/Versions/A/CollectionsInternal - 0x20e5cf000 - 0x20e6a6fff com.apple.InstalledContentLibrary (1.0 - 1.0) <9920C0DA-5FB7-34CF-A15C-3E753F8DF951> /System/Library/PrivateFrameworks/InstalledContentLibrary.framework/Versions/A/InstalledContentLibrary - 0x21030c000 - 0x2107e0ffb com.apple.MIL (5.33 - 5.33.5) /System/Library/PrivateFrameworks/MIL.framework/Versions/A/MIL - 0x211ad9000 - 0x211b23fff com.apple.MessageSecurity (1.0 - 101.40.6) <2F806526-DC8F-3A34-9959-50112A8251D3> /System/Library/PrivateFrameworks/MessageSecurity.framework/Versions/A/MessageSecurity - 0x216646000 - 0x21664cff7 com.apple.ReflectionInternal (1.0.0 - 19) <3CE1C9E3-0652-3F64-BCB5-8EC03A0FFD99> /System/Library/PrivateFrameworks/ReflectionInternal.framework/Versions/A/ReflectionInternal - 0x216c32000 - 0x216c48ff7 com.apple.RuntimeInternal (1.0.0 - 19) <01065A3F-0218-3BAE-8832-1FBF07AD6712> /System/Library/PrivateFrameworks/RuntimeInternal.framework/Versions/A/RuntimeInternal - 0x229daa000 - 0x229db5fff libCoreEntitlements.dylib (53) <73C57354-D94C-3CC2-99F7-06B75FC7DE4A> /usr/lib/libCoreEntitlements.dylib - 0x229f93000 - 0x229f9efff libTLE.dylib (53) <2B0C780B-984D-36DA-938E-7CBE9AA241B2> /usr/lib/libTLE.dylib - 0x22b30c000 - 0x22b36aff3 libswift_Concurrency.dylib (5.9 - 5.9.0.123.305) <044E4103-2CB6-37B9-9F4B-A53237EA4521> /usr/lib/swift/libswift_Concurrency.dylib - 0x22b3a9000 - 0x22b454fff libswift_RegexParser.dylib (??? - 5.9.0.123.305) /usr/lib/swift/libswift_RegexParser.dylib - 0x22b455000 - 0x22b4f5fff libswift_StringProcessing.dylib (??? - 5.9.0.123.305) <97484081-9BDD-3AD8-8554-1C3E3FA349B4> /usr/lib/swift/libswift_StringProcessing.dylib - 0x22b636000 - 0x22b639fff libsystem_darwindirectory.dylib (86.0.2) <8C2C7C2A-F18E-3196-BB40-B4BB95C5BFF9> /usr/lib/system/libsystem_darwindirectory.dylib - diff --git a/deadlock_5.txt b/deadlock_5.txt deleted file mode 100644 index 0272f98..0000000 --- a/deadlock_5.txt +++ /dev/null @@ -1,271 +0,0 @@ -(lldb) command script import "/Users/igor/.rustup/toolchains/nightly-aarch64-apple-darwin/lib/rustlib/etc/lldb_lookup.py" -(lldb) command source -s 0 '/Users/igor/.rustup/toolchains/nightly-aarch64-apple-darwin/lib/rustlib/etc/lldb_commands' -(lldb) type synthetic add -l lldb_lookup.synthetic_lookup -x ".*" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)String$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^&(mut )?str$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^&(mut )?\\[.+\\]$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(std::ffi::([a-z_]+::)+)OsString$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)Vec<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)VecDeque<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)BTreeSet<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)BTreeMap<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(std::collections::([a-z_]+::)+)HashMap<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(std::collections::([a-z_]+::)+)HashSet<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)Rc<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)Arc<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(core::([a-z_]+::)+)Cell<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(core::([a-z_]+::)+)Ref<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(core::([a-z_]+::)+)RefMut<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(core::([a-z_]+::)+)RefCell<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^core::num::([a-z_]+::)*NonZero.+$" --category Rust -(lldb) type category enable Rust -(lldb) process attach --pid 41569 -Process 41569 stopped -* thread #1, name = 'main', queue = 'com.apple.main-thread', stop reason = signal SIGSTOP - frame #0: 0x000000018c11c0ac libsystem_kernel.dylib`__psynch_cvwait + 8 -libsystem_kernel.dylib`: --> 0x18c11c0ac <+8>: b.lo 0x18c11c0cc ; <+40> - 0x18c11c0b0 <+12>: pacibsp - 0x18c11c0b4 <+16>: stp x29, x30, [sp, #-0x10]! - 0x18c11c0b8 <+20>: mov x29, sp -Target 0: (rqbit) stopped. -Executable module set to "/Users/igor/projects/2021-06-rust-qbittorrent/target/release/rqbit". -Architecture set to: arm64-apple-macosx-. -(lldb) bt all -(lldb) thread backtrace all - thread #5, name = 'tokio-runtime-worker' - frame #0: 0x000000018c11c0ac libsystem_kernel.dylib`__psynch_cvwait + 8 - frame #1: 0x000000018c1595fc libsystem_pthread.dylib`_pthread_cond_wait + 1228 - frame #2: 0x0000000100783348 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h836aa47d9a7a9313 [inlined] _$LT$parking_lot_core..thread_parker..imp..ThreadParker$u20$as$u20$parking_lot_core..thread_parker..ThreadParkerT$GT$::park::hd092cfef044956b8(self=) at unix.rs:77:21 [opt] - frame #3: 0x000000010078332c rqbit`parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h836aa47d9a7a9313 at parking_lot.rs:635:17 [opt] - frame #4: 0x0000000100783200 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h836aa47d9a7a9313 at parking_lot.rs:207:5 [opt] - frame #5: 0x00000001007831a4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h836aa47d9a7a9313 at parking_lot.rs:600:5 [opt] - frame #6: 0x00000001007831a4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h836aa47d9a7a9313 at raw_rwlock.rs:1115:17 [opt] - frame #7: 0x00000001007830bc rqbit`parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h836aa47d9a7a9313(self=0x0000600003710010, timeout=) at raw_rwlock.rs:633:26 [opt] - frame #8: 0x0000000100471638 rqbit`librqbit::torrent_state::PeerHandler::on_received_piece::hf3408148458b4a03 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_exclusive::h72199bdcc536be8b(self=0x0000600003710010) at raw_rwlock.rs:73:26 [opt] - frame #9: 0x0000000100471628 rqbit`librqbit::torrent_state::PeerHandler::on_received_piece::hf3408148458b4a03 at rwlock.rs:491:9 [opt] - frame #10: 0x0000000100471628 rqbit`librqbit::torrent_state::PeerHandler::on_received_piece::hf3408148458b4a03(self=, handle=SocketAddr @ 0x000000012f0478b8, piece=Piece @ 0x0000000170725478) at torrent_state.rs:1056:39 [opt] - frame #11: 0x000000010046df8c rqbit`_$LT$librqbit..torrent_state..PeerHandler$u20$as$u20$librqbit..peer_connection..PeerConnectionHandler$GT$::on_received_message::hd1fafc35289e3666(self=0x000000012f0478b8, message=Message @ 0x0000000170725470) at torrent_state.rs:742:17 [opt] - frame #12: 0x00000001004992cc rqbit`_$LT$tokio..future..poll_fn..PollFn$LT$F$GT$$u20$as$u20$core..future..future..Future$GT$::poll::heaf39ed4d1b44001 at peer_connection.rs:270:17 [opt] - frame #13: 0x0000000100498bb0 rqbit`_$LT$tokio..future..poll_fn..PollFn$LT$F$GT$$u20$as$u20$core..future..future..Future$GT$::poll::heaf39ed4d1b44001 at select.rs:524:49 [opt] - frame #14: 0x0000000100498678 rqbit`_$LT$tokio..future..poll_fn..PollFn$LT$F$GT$$u20$as$u20$core..future..future..Future$GT$::poll::heaf39ed4d1b44001(self=, cx=) at poll_fn.rs:58:9 [opt] - frame #15: 0x0000000100465910 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4 at peer_connection.rs:285:17 [opt] - frame #16: 0x000000010046582c rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4 at torrent_state.rs:352:51 [opt] - frame #17: 0x000000010046582c rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::h0123dee3540ad03a((null)=0x0000000170725a28) at spawn_utils.rs:9:19 [opt] - frame #18: 0x000000010046582c rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=0x0000000170725a28) at instrument.rs:321:9 [opt] - frame #19: 0x000000010047c4b4 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c at core.rs:328:17 [opt] - frame #20: 0x000000010047c49c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c at unsafe_cell.rs:16:9 [opt] - frame #21: 0x000000010047c49c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd4d25b034d682de3(self=0x000000012f047020, cx=Context @ 0x0000000170725a28) at core.rs:317:30 [opt] - frame #22: 0x000000010047c49c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c at harness.rs:485:19 [opt] - frame #23: 0x000000010047c49c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h089a31be2db3c8da(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x0000600000766970, (null)=) at unwind_safe.rs:272:9 [opt] - frame #24: 0x000000010047c49c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c at panicking.rs:552:40 [opt] - frame #25: 0x000000010047c49c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c at panicking.rs:516:19 [opt] - frame #26: 0x000000010047c49c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c at panic.rs:142:14 [opt] - frame #27: 0x000000010047c49c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c [inlined] tokio::runtime::task::harness::poll_future::h10952a21b68b192d(core=0x000000012f047020, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #28: 0x000000010047c49c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c at harness.rs:208:27 [opt] - frame #29: 0x000000010047c454 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] - frame #30: 0x0000000100686720 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 at raw.rs:201:18 [opt] - frame #31: 0x0000000100686710 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 at mod.rs:408:9 [opt] - frame #32: 0x0000000100686710 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 [inlined] tokio::runtime::scheduler::multi_thread::worker::Context::run_task::_$u7b$$u7b$closure$u7d$$u7d$::h5b3e8de2b636909f at worker.rs:577:18 [opt] - frame #33: 0x0000000100686710 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 at coop.rs:107:5 [opt] - frame #34: 0x000000010068669c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 [inlined] tokio::runtime::coop::budget::h02e40d999ebee93f(f={closure_env#0} @ 0x0000600000766d80) at coop.rs:73:5 [opt] - frame #35: 0x000000010068669c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0(self=0x0000000170726c10, task=Notified> @ scalar, core=) at worker.rs:576:9 [opt] - frame #36: 0x0000000100686060 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883(self=0x0000000170726c10, core=0x0000600002f14320) at worker.rs:0 [opt] - frame #37: 0x000000010068a1b0 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 at worker.rs:491:21 [opt] - frame #38: 0x000000010068a194 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630(self=0x000000012e808e38, t=, f=) at scoped.rs:40:9 [opt] - frame #39: 0x0000000100683ef0 rqbit`tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::h0e6e14e96d63955c(c=) at context.rs:176:26 [opt] - frame #40: 0x0000000100683ed4 rqbit`tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 at local.rs:270:16 [opt] - frame #41: 0x0000000100683ed4 rqbit`tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 at local.rs:246:9 [opt] - frame #42: 0x0000000100683ed4 rqbit`tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 [inlined] tokio::runtime::context::set_scheduler::h0bda3d87c899ebd8(v=0x0000000170726c08, f={closure_env#0} @ 0x0000600000767240) at context.rs:176:17 [opt] - frame #43: 0x0000000100683ed4 rqbit`tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 at worker.rs:486:9 [opt] - frame #44: 0x0000000100683e78 rqbit`tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1(handle=, allow_block_in_place=, f={closure_env#0} @ 0x0000600000767320) at runtime.rs:65:16 [opt] - frame #45: 0x000000010068581c rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2(worker=) at worker.rs:478:5 [opt] - frame #46: 0x000000010047f234 rqbit`std::panicking::try::h68c7f5d65513f8be [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::ha395bacd4b13d755 at worker.rs:422:41 [opt] - frame #47: 0x000000010047f22c rqbit`std::panicking::try::h68c7f5d65513f8be at task.rs:42:21 [opt] - frame #48: 0x000000010047f21c rqbit`std::panicking::try::h68c7f5d65513f8be at core.rs:328:17 [opt] - frame #49: 0x000000010047f200 rqbit`std::panicking::try::h68c7f5d65513f8be at unsafe_cell.rs:16:9 [opt] - frame #50: 0x000000010047f200 rqbit`std::panicking::try::h68c7f5d65513f8be [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h9df1db878e7d43f9(self=0x000000012d60e6a0, cx=) at core.rs:317:30 [opt] - frame #51: 0x000000010047f200 rqbit`std::panicking::try::h68c7f5d65513f8be at harness.rs:485:19 [opt] - frame #52: 0x000000010047f200 rqbit`std::panicking::try::h68c7f5d65513f8be [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h1e6c391a6cc11b93(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x000060000076a560, (null)=) at unwind_safe.rs:272:9 [opt] - frame #53: 0x000000010047f200 rqbit`std::panicking::try::h68c7f5d65513f8be at panicking.rs:552:40 [opt] - frame #54: 0x000000010047f200 rqbit`std::panicking::try::h68c7f5d65513f8be(f=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x000060000076a6a0) at panicking.rs:516:19 [opt] - frame #55: 0x000000010047d27c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf at panic.rs:142:14 [opt] - frame #56: 0x000000010047d26c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf [inlined] tokio::runtime::task::harness::poll_future::hac76a4908bcd795b(core=0x000000012d60e6a0, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #57: 0x000000010047d26c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf at harness.rs:208:27 [opt] - frame #58: 0x000000010047d23c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] - frame #59: 0x0000000100680d00 rqbit`tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 at raw.rs:201:18 [opt] - frame #60: 0x0000000100680cf0 rqbit`tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 at mod.rs:445:9 [opt] - frame #61: 0x0000000100680cf0 rqbit`tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 [inlined] tokio::runtime::blocking::pool::Task::run::h810572839373119b(self=Task @ 0x000060000076ac90) at pool.rs:159:9 [opt] - frame #62: 0x0000000100680cf0 rqbit`tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2(self=0x000000012d6055f0, worker_thread_id=) at pool.rs:513:17 [opt] - frame #63: 0x000000010067d624 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 at pool.rs:471:13 [opt] - frame #64: 0x000000010067d5f0 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6(f={closure_env#0} @ 0x0000000170726f30) at backtrace.rs:154:18 [opt] - frame #65: 0x000000010068c558 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h3091c25686e73a49 at mod.rs:529:17 [opt] - frame #66: 0x000000010068c550 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf3d7daae8e5c4f81(self=, (null)=) at unwind_safe.rs:272:9 [opt] - frame #67: 0x000000010068c550 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 [inlined] std::panicking::try::do_call::h5cec17baa5c7b931(data=) at panicking.rs:552:40 [opt] - frame #68: 0x000000010068c550 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 [inlined] std::panicking::try::h090e5193a44ca682(f=) at panicking.rs:516:19 [opt] - frame #69: 0x000000010068c550 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 [inlined] std::panic::catch_unwind::h6984ad9e1544f62a at panic.rs:142:14 [opt] - frame #70: 0x000000010068c550 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hd5fd1942c3d0bc69 at mod.rs:528:30 [opt] - frame #71: 0x000000010068c4f8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769((null)=0x000060000191cb00, (null)=) at function.rs:250:5 [opt] - frame #72: 0x000000010073e654 rqbit`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::ha50e0d33beaa94b5 at boxed.rs:2007:9 [opt] - frame #73: 0x000000010073e648 rqbit`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h320b0db4bb8e0440 at boxed.rs:2007:9 [opt] - frame #74: 0x000000010073e644 rqbit`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 at thread.rs:108:17 [opt] - frame #75: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 - thread #8 - frame #0: 0x000000018c11a564 libsystem_kernel.dylib`__workq_kernreturn + 8 - thread #9, name = 'tokio-runtime-worker' - frame #0: 0x000000018c11c0ac libsystem_kernel.dylib`__psynch_cvwait + 8 - frame #1: 0x000000018c1595fc libsystem_pthread.dylib`_pthread_cond_wait + 1228 - frame #2: 0x0000000100775444 rqbit`dashmap::lock::RawRwLock::lock_exclusive_slow::hebac357c00faad7e [inlined] _$LT$parking_lot_core..thread_parker..imp..ThreadParker$u20$as$u20$parking_lot_core..thread_parker..ThreadParkerT$GT$::park::hd092cfef044956b8(self=0x000000012f011420) at unix.rs:77:21 [opt] - frame #3: 0x0000000100775424 rqbit`dashmap::lock::RawRwLock::lock_exclusive_slow::hebac357c00faad7e at parking_lot.rs:635:17 [opt] - frame #4: 0x0000000100775324 rqbit`dashmap::lock::RawRwLock::lock_exclusive_slow::hebac357c00faad7e at parking_lot.rs:207:5 [opt] - frame #5: 0x00000001007752e0 rqbit`dashmap::lock::RawRwLock::lock_exclusive_slow::hebac357c00faad7e at parking_lot.rs:600:5 [opt] - frame #6: 0x00000001007752e0 rqbit`dashmap::lock::RawRwLock::lock_exclusive_slow::hebac357c00faad7e(self=) at lock.rs:127:21 [opt] - frame #7: 0x00000001004a691c rqbit`_$LT$dashmap..DashMap$LT$K$C$V$C$S$GT$$u20$as$u20$dashmap..t..Map$LT$K$C$V$C$S$GT$$GT$::_get_mut::ha163c599d0d0a786 [inlined] _$LT$dashmap..lock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_exclusive::he6c6de6bbf9a66ef(self=0x000000012e010348) at lock.rs:39:13 [opt] - frame #8: 0x00000001004a6914 rqbit`_$LT$dashmap..DashMap$LT$K$C$V$C$S$GT$$u20$as$u20$dashmap..t..Map$LT$K$C$V$C$S$GT$$GT$::_get_mut::ha163c599d0d0a786 at rwlock.rs:491:9 [opt] - frame #9: 0x00000001004a6914 rqbit`_$LT$dashmap..DashMap$LT$K$C$V$C$S$GT$$u20$as$u20$dashmap..t..Map$LT$K$C$V$C$S$GT$$GT$::_get_mut::ha163c599d0d0a786 [inlined] _$LT$dashmap..DashMap$LT$K$C$V$C$S$GT$$u20$as$u20$dashmap..t..Map$LT$K$C$V$C$S$GT$$GT$::_yield_write_shard::h4dec3c890a97af32(self=, i=15) at lib.rs:897:38 [opt] - frame #10: 0x00000001004a6914 rqbit`_$LT$dashmap..DashMap$LT$K$C$V$C$S$GT$$u20$as$u20$dashmap..t..Map$LT$K$C$V$C$S$GT$$GT$::_get_mut::ha163c599d0d0a786(self=, key=0x000000012f041eb8) at lib.rs:1037:30 [opt] - frame #11: 0x0000000100471324 rqbit`librqbit::torrent_state::PeerHandler::on_received_piece::hf3408148458b4a03 at lib.rs:595:9 [opt] - frame #12: 0x0000000100471318 rqbit`librqbit::torrent_state::PeerHandler::on_received_piece::hf3408148458b4a03 [inlined] librqbit::torrent_state::PeerStates::with_live_mut::hb3fc8ec845a9b6dd(self=, addr=, f={closure_env#0} @ 0x000060000045e280) at torrent_state.rs:118:14 [opt] - frame #13: 0x0000000100471318 rqbit`librqbit::torrent_state::PeerHandler::on_received_piece::hf3408148458b4a03(self=, handle=SocketAddr @ 0x000000012f041eb8, piece=Piece @ 0x000000017106d478) at torrent_state.rs:1058:9 [opt] - frame #14: 0x000000010046df8c rqbit`_$LT$librqbit..torrent_state..PeerHandler$u20$as$u20$librqbit..peer_connection..PeerConnectionHandler$GT$::on_received_message::hd1fafc35289e3666(self=0x000000012f041eb8, message=Message @ 0x000000017106d470) at torrent_state.rs:742:17 [opt] - frame #15: 0x00000001004992cc rqbit`_$LT$tokio..future..poll_fn..PollFn$LT$F$GT$$u20$as$u20$core..future..future..Future$GT$::poll::heaf39ed4d1b44001 at peer_connection.rs:270:17 [opt] - frame #16: 0x0000000100498bb0 rqbit`_$LT$tokio..future..poll_fn..PollFn$LT$F$GT$$u20$as$u20$core..future..future..Future$GT$::poll::heaf39ed4d1b44001 at select.rs:524:49 [opt] - frame #17: 0x0000000100498678 rqbit`_$LT$tokio..future..poll_fn..PollFn$LT$F$GT$$u20$as$u20$core..future..future..Future$GT$::poll::heaf39ed4d1b44001(self=, cx=) at poll_fn.rs:58:9 [opt] - frame #18: 0x0000000100465910 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4 at peer_connection.rs:285:17 [opt] - frame #19: 0x000000010046582c rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4 at torrent_state.rs:352:51 [opt] - frame #20: 0x000000010046582c rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::h0123dee3540ad03a((null)=0x000000017106da28) at spawn_utils.rs:9:19 [opt] - frame #21: 0x000000010046582c rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h951c8921bc5537f4(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=0x000000017106da28) at instrument.rs:321:9 [opt] - frame #22: 0x000000010047c4b4 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c at core.rs:328:17 [opt] - frame #23: 0x000000010047c49c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c at unsafe_cell.rs:16:9 [opt] - frame #24: 0x000000010047c49c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd4d25b034d682de3(self=0x000000012f041620, cx=Context @ 0x000000017106da28) at core.rs:317:30 [opt] - frame #25: 0x000000010047c49c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c at harness.rs:485:19 [opt] - frame #26: 0x000000010047c49c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h089a31be2db3c8da(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x000060000076cff0, (null)=) at unwind_safe.rs:272:9 [opt] - frame #27: 0x000000010047c49c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c at panicking.rs:552:40 [opt] - frame #28: 0x000000010047c49c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c at panicking.rs:516:19 [opt] - frame #29: 0x000000010047c49c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c at panic.rs:142:14 [opt] - frame #30: 0x000000010047c49c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c [inlined] tokio::runtime::task::harness::poll_future::h10952a21b68b192d(core=0x000000012f041620, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #31: 0x000000010047c49c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c at harness.rs:208:27 [opt] - frame #32: 0x000000010047c454 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h28a55b4795da996c(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] - frame #33: 0x0000000100686720 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 at raw.rs:201:18 [opt] - frame #34: 0x0000000100686710 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 at mod.rs:408:9 [opt] - frame #35: 0x0000000100686710 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 [inlined] tokio::runtime::scheduler::multi_thread::worker::Context::run_task::_$u7b$$u7b$closure$u7d$$u7d$::h5b3e8de2b636909f at worker.rs:577:18 [opt] - frame #36: 0x0000000100686710 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 at coop.rs:107:5 [opt] - frame #37: 0x000000010068669c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 [inlined] tokio::runtime::coop::budget::h02e40d999ebee93f(f={closure_env#0} @ 0x0000600000755160) at coop.rs:73:5 [opt] - frame #38: 0x000000010068669c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0(self=0x000000017106ec10, task=Notified> @ scalar, core=) at worker.rs:576:9 [opt] - frame #39: 0x0000000100686060 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883(self=0x000000017106ec10, core=0x0000600002f144b0) at worker.rs:0 [opt] - frame #40: 0x000000010068a1b0 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 at worker.rs:491:21 [opt] - frame #41: 0x000000010068a194 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630(self=0x000000012f011238, t=, f=) at scoped.rs:40:9 [opt] - frame #42: 0x0000000100683ef0 rqbit`tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::h0e6e14e96d63955c(c=) at context.rs:176:26 [opt] - frame #43: 0x0000000100683ed4 rqbit`tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 at local.rs:270:16 [opt] - frame #44: 0x0000000100683ed4 rqbit`tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 at local.rs:246:9 [opt] - frame #45: 0x0000000100683ed4 rqbit`tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 [inlined] tokio::runtime::context::set_scheduler::h0bda3d87c899ebd8(v=0x000000017106ec08, f={closure_env#0} @ 0x00006000007553c0) at context.rs:176:17 [opt] - frame #46: 0x0000000100683ed4 rqbit`tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 at worker.rs:486:9 [opt] - frame #47: 0x0000000100683e78 rqbit`tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1(handle=, allow_block_in_place=, f={closure_env#0} @ 0x00006000007554a0) at runtime.rs:65:16 [opt] - frame #48: 0x000000010068581c rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2(worker=) at worker.rs:478:5 [opt] - frame #49: 0x000000010047f234 rqbit`std::panicking::try::h68c7f5d65513f8be [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::ha395bacd4b13d755 at worker.rs:422:41 [opt] - frame #50: 0x000000010047f22c rqbit`std::panicking::try::h68c7f5d65513f8be at task.rs:42:21 [opt] - frame #51: 0x000000010047f21c rqbit`std::panicking::try::h68c7f5d65513f8be at core.rs:328:17 [opt] - frame #52: 0x000000010047f200 rqbit`std::panicking::try::h68c7f5d65513f8be at unsafe_cell.rs:16:9 [opt] - frame #53: 0x000000010047f200 rqbit`std::panicking::try::h68c7f5d65513f8be [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h9df1db878e7d43f9(self=0x000000012d618da0, cx=) at core.rs:317:30 [opt] - frame #54: 0x000000010047f200 rqbit`std::panicking::try::h68c7f5d65513f8be at harness.rs:485:19 [opt] - frame #55: 0x000000010047f200 rqbit`std::panicking::try::h68c7f5d65513f8be [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h1e6c391a6cc11b93(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000600000755620, (null)=) at unwind_safe.rs:272:9 [opt] - frame #56: 0x000000010047f200 rqbit`std::panicking::try::h68c7f5d65513f8be at panicking.rs:552:40 [opt] - frame #57: 0x000000010047f200 rqbit`std::panicking::try::h68c7f5d65513f8be(f=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000600000755710) at panicking.rs:516:19 [opt] - frame #58: 0x000000010047d27c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf at panic.rs:142:14 [opt] - frame #59: 0x000000010047d26c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf [inlined] tokio::runtime::task::harness::poll_future::hac76a4908bcd795b(core=0x000000012d618da0, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #60: 0x000000010047d26c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf at harness.rs:208:27 [opt] - frame #61: 0x000000010047d23c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] - frame #62: 0x0000000100680d00 rqbit`tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 at raw.rs:201:18 [opt] - frame #63: 0x0000000100680cf0 rqbit`tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 at mod.rs:445:9 [opt] - frame #64: 0x0000000100680cf0 rqbit`tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 [inlined] tokio::runtime::blocking::pool::Task::run::h810572839373119b(self=Task @ 0x00006000007558f0) at pool.rs:159:9 [opt] - frame #65: 0x0000000100680cf0 rqbit`tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2(self=0x000000012d6055f0, worker_thread_id=) at pool.rs:513:17 [opt] - frame #66: 0x000000010067d624 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 at pool.rs:471:13 [opt] - frame #67: 0x000000010067d5f0 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6(f={closure_env#0} @ 0x000000017106ef30) at backtrace.rs:154:18 [opt] - frame #68: 0x000000010068c558 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h3091c25686e73a49 at mod.rs:529:17 [opt] - frame #69: 0x000000010068c550 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf3d7daae8e5c4f81(self=, (null)=) at unwind_safe.rs:272:9 [opt] - frame #70: 0x000000010068c550 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 [inlined] std::panicking::try::do_call::h5cec17baa5c7b931(data=) at panicking.rs:552:40 [opt] - frame #71: 0x000000010068c550 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 [inlined] std::panicking::try::h090e5193a44ca682(f=) at panicking.rs:516:19 [opt] - frame #72: 0x000000010068c550 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 [inlined] std::panic::catch_unwind::h6984ad9e1544f62a at panic.rs:142:14 [opt] - frame #73: 0x000000010068c550 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hd5fd1942c3d0bc69 at mod.rs:528:30 [opt] - frame #74: 0x000000010068c4f8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769((null)=0x000060000191d9c0, (null)=) at function.rs:250:5 [opt] - frame #75: 0x000000010073e654 rqbit`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::ha50e0d33beaa94b5 at boxed.rs:2007:9 [opt] - frame #76: 0x000000010073e648 rqbit`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h320b0db4bb8e0440 at boxed.rs:2007:9 [opt] - frame #77: 0x000000010073e644 rqbit`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 at thread.rs:108:17 [opt] - frame #78: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 - thread #10, name = 'tokio-runtime-worker' - frame #0: 0x000000018c11c0ac libsystem_kernel.dylib`__psynch_cvwait + 8 - frame #1: 0x000000018c1595fc libsystem_pthread.dylib`_pthread_cond_wait + 1228 - frame #2: 0x0000000100783348 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h836aa47d9a7a9313 [inlined] _$LT$parking_lot_core..thread_parker..imp..ThreadParker$u20$as$u20$parking_lot_core..thread_parker..ThreadParkerT$GT$::park::hd092cfef044956b8(self=) at unix.rs:77:21 [opt] - frame #3: 0x000000010078332c rqbit`parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h836aa47d9a7a9313 at parking_lot.rs:635:17 [opt] - frame #4: 0x0000000100783200 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h836aa47d9a7a9313 at parking_lot.rs:207:5 [opt] - frame #5: 0x00000001007831a4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h836aa47d9a7a9313 at parking_lot.rs:600:5 [opt] - frame #6: 0x00000001007831a4 rqbit`parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h836aa47d9a7a9313 at raw_rwlock.rs:1115:17 [opt] - frame #7: 0x00000001007830bc rqbit`parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h836aa47d9a7a9313(self=0x0000600003710010, timeout=) at raw_rwlock.rs:633:26 [opt] - frame #8: 0x000000010046b290 rqbit`librqbit::torrent_state::TorrentState::reserve_next_needed_piece::h4003aa9a864bc6d1 [inlined] _$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_exclusive::h72199bdcc536be8b(self=0x0000600003710010) at raw_rwlock.rs:73:26 [opt] - frame #9: 0x000000010046b280 rqbit`librqbit::torrent_state::TorrentState::reserve_next_needed_piece::h4003aa9a864bc6d1 at rwlock.rs:491:9 [opt] - frame #10: 0x000000010046b280 rqbit`librqbit::torrent_state::TorrentState::reserve_next_needed_piece::h4003aa9a864bc6d1 [inlined] librqbit::torrent_state::TorrentState::reserve_next_needed_piece::_$u7b$$u7b$closure$u7d$$u7d$::h71381f2b34fe3f07(live=0x000000012f0162f8) at torrent_state.rs:436:41 [opt] - frame #11: 0x000000010046af40 rqbit`librqbit::torrent_state::TorrentState::reserve_next_needed_piece::h4003aa9a864bc6d1 at torrent_state.rs:120:44 [opt] - frame #12: 0x000000010046af1c rqbit`librqbit::torrent_state::TorrentState::reserve_next_needed_piece::h4003aa9a864bc6d1 at option.rs:1406:24 [opt] - frame #13: 0x000000010046af10 rqbit`librqbit::torrent_state::TorrentState::reserve_next_needed_piece::h4003aa9a864bc6d1 [inlined] librqbit::torrent_state::PeerStates::with_live_mut::h0de26ebf36fc5e29(self=, addr=SocketAddr @ 0x000000017127a1f0, f={closure_env#0} @ 0x000060000076d400) at torrent_state.rs:117:9 [opt] - frame #14: 0x000000010046af08 rqbit`librqbit::torrent_state::TorrentState::reserve_next_needed_piece::h4003aa9a864bc6d1(self=0x000000012d7051a0, peer_handle=SocketAddr @ 0x000000017127a1f0) at torrent_state.rs:430:9 [opt] - frame #15: 0x0000000100467cb8 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::he46a59e86a4040f3 [inlined] librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::hf7d9f912d6dbaf06((null)=) at torrent_state.rs:943:31 [opt] - frame #16: 0x0000000100467ba0 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::he46a59e86a4040f3 at torrent_state.rs:895:32 [opt] - frame #17: 0x0000000100467b04 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::he46a59e86a4040f3 [inlined] librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hc45e268a6b340a7c((null)=) at spawn_utils.rs:9:19 [opt] - frame #18: 0x00000001004677f8 rqbit`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::he46a59e86a4040f3(self=Pin<&mut tracing::instrument::Instrumented>> @ scalar, cx=) at instrument.rs:321:9 [opt] - frame #19: 0x000000010047cdfc rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::hb33feb246c22b65a at core.rs:328:17 [opt] - frame #20: 0x000000010047cde4 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::hb33feb246c22b65a at unsafe_cell.rs:16:9 [opt] - frame #21: 0x000000010047cde4 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::hb33feb246c22b65a [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hcdf27c988a572899(self=0x000000012f019620, cx=Context @ 0x000000017127a608) at core.rs:317:30 [opt] - frame #22: 0x000000010047cde4 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::hb33feb246c22b65a at harness.rs:485:19 [opt] - frame #23: 0x000000010047cde4 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::hb33feb246c22b65a [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hb2e5992a09fa37e9(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x000060000075c320, (null)=) at unwind_safe.rs:272:9 [opt] - frame #24: 0x000000010047cde4 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::hb33feb246c22b65a at panicking.rs:552:40 [opt] - frame #25: 0x000000010047cde4 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::hb33feb246c22b65a at panicking.rs:516:19 [opt] - frame #26: 0x000000010047cde4 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::hb33feb246c22b65a at panic.rs:142:14 [opt] - frame #27: 0x000000010047cde4 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::hb33feb246c22b65a [inlined] tokio::runtime::task::harness::poll_future::h94616be7d9dad15e(core=0x000000012f019620, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #28: 0x000000010047cde4 rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::hb33feb246c22b65a at harness.rs:208:27 [opt] - frame #29: 0x000000010047cd9c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::hb33feb246c22b65a(self=Harness>, alloc::sync::Arc> @ scalar) at harness.rs:153:15 [opt] - frame #30: 0x0000000100686720 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 at raw.rs:201:18 [opt] - frame #31: 0x0000000100686710 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 at mod.rs:408:9 [opt] - frame #32: 0x0000000100686710 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 [inlined] tokio::runtime::scheduler::multi_thread::worker::Context::run_task::_$u7b$$u7b$closure$u7d$$u7d$::h5b3e8de2b636909f at worker.rs:577:18 [opt] - frame #33: 0x0000000100686710 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 at coop.rs:107:5 [opt] - frame #34: 0x000000010068669c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0 [inlined] tokio::runtime::coop::budget::h02e40d999ebee93f(f={closure_env#0} @ 0x000060000075c520) at coop.rs:73:5 [opt] - frame #35: 0x000000010068669c rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::hee4c52d36901d1c0(self=0x000000017127ac10, task=Notified> @ scalar, core=) at worker.rs:576:9 [opt] - frame #36: 0x0000000100686060 rqbit`tokio::runtime::scheduler::multi_thread::worker::Context::run::h0cbfb80422c14883(self=0x000000017127ac10, core=0x0000600002f144b0) at worker.rs:0 [opt] - frame #37: 0x000000010068a1b0 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630 at worker.rs:491:21 [opt] - frame #38: 0x000000010068a194 rqbit`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::he8cfa85676acb630(self=0x000000010e00b838, t=, f=) at scoped.rs:40:9 [opt] - frame #39: 0x0000000100683ef0 rqbit`tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 [inlined] tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::h0e6e14e96d63955c(c=) at context.rs:176:26 [opt] - frame #40: 0x0000000100683ed4 rqbit`tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 at local.rs:270:16 [opt] - frame #41: 0x0000000100683ed4 rqbit`tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 at local.rs:246:9 [opt] - frame #42: 0x0000000100683ed4 rqbit`tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 [inlined] tokio::runtime::context::set_scheduler::h0bda3d87c899ebd8(v=0x000000017127ac08, f={closure_env#0} @ 0x0000600000740090) at context.rs:176:17 [opt] - frame #43: 0x0000000100683ed4 rqbit`tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1 at worker.rs:486:9 [opt] - frame #44: 0x0000000100683e78 rqbit`tokio::runtime::context::runtime::enter_runtime::he3ddb4baacaf51c1(handle=, allow_block_in_place=, f={closure_env#0} @ 0x0000600000740170) at runtime.rs:65:16 [opt] - frame #45: 0x000000010068581c rqbit`tokio::runtime::scheduler::multi_thread::worker::run::h0ffc87fb75fd16d2(worker=) at worker.rs:478:5 [opt] - frame #46: 0x000000010047f234 rqbit`std::panicking::try::h68c7f5d65513f8be [inlined] tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::ha395bacd4b13d755 at worker.rs:422:41 [opt] - frame #47: 0x000000010047f22c rqbit`std::panicking::try::h68c7f5d65513f8be at task.rs:42:21 [opt] - frame #48: 0x000000010047f21c rqbit`std::panicking::try::h68c7f5d65513f8be at core.rs:328:17 [opt] - frame #49: 0x000000010047f200 rqbit`std::panicking::try::h68c7f5d65513f8be at unsafe_cell.rs:16:9 [opt] - frame #50: 0x000000010047f200 rqbit`std::panicking::try::h68c7f5d65513f8be [inlined] tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h9df1db878e7d43f9(self=0x000000012d614920, cx=) at core.rs:317:30 [opt] - frame #51: 0x000000010047f200 rqbit`std::panicking::try::h68c7f5d65513f8be at harness.rs:485:19 [opt] - frame #52: 0x000000010047f200 rqbit`std::panicking::try::h68c7f5d65513f8be [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h1e6c391a6cc11b93(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x000060000075c6b0, (null)=) at unwind_safe.rs:272:9 [opt] - frame #53: 0x000000010047f200 rqbit`std::panicking::try::h68c7f5d65513f8be at panicking.rs:552:40 [opt] - frame #54: 0x000000010047f200 rqbit`std::panicking::try::h68c7f5d65513f8be(f=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x000060000075c7a0) at panicking.rs:516:19 [opt] - frame #55: 0x000000010047d27c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf at panic.rs:142:14 [opt] - frame #56: 0x000000010047d26c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf [inlined] tokio::runtime::task::harness::poll_future::hac76a4908bcd795b(core=0x000000012d614920, cx=Context @ scalar) at harness.rs:473:18 [opt] - frame #57: 0x000000010047d26c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf at harness.rs:208:27 [opt] - frame #58: 0x000000010047d23c rqbit`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::he970e0ba198f88bf(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ scalar) at harness.rs:153:15 [opt] - frame #59: 0x0000000100680d00 rqbit`tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 at raw.rs:201:18 [opt] - frame #60: 0x0000000100680cf0 rqbit`tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 at mod.rs:445:9 [opt] - frame #61: 0x0000000100680cf0 rqbit`tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2 [inlined] tokio::runtime::blocking::pool::Task::run::h810572839373119b(self=Task @ 0x000060000075c980) at pool.rs:159:9 [opt] - frame #62: 0x0000000100680cf0 rqbit`tokio::runtime::blocking::pool::Inner::run::h9d6add31a0a82ba2(self=0x000000012d6055f0, worker_thread_id=) at pool.rs:513:17 [opt] - frame #63: 0x000000010067d624 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6 at pool.rs:471:13 [opt] - frame #64: 0x000000010067d5f0 rqbit`std::sys_common::backtrace::__rust_begin_short_backtrace::hbb6c703cea0006e6(f={closure_env#0} @ 0x000000017127af30) at backtrace.rs:154:18 [opt] - frame #65: 0x000000010068c558 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h3091c25686e73a49 at mod.rs:529:17 [opt] - frame #66: 0x000000010068c550 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 [inlined] _$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hf3d7daae8e5c4f81(self=, (null)=) at unwind_safe.rs:272:9 [opt] - frame #67: 0x000000010068c550 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 [inlined] std::panicking::try::do_call::h5cec17baa5c7b931(data=) at panicking.rs:552:40 [opt] - frame #68: 0x000000010068c550 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 [inlined] std::panicking::try::h090e5193a44ca682(f=) at panicking.rs:516:19 [opt] - frame #69: 0x000000010068c550 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 [inlined] std::panic::catch_unwind::h6984ad9e1544f62a at panic.rs:142:14 [opt] - frame #70: 0x000000010068c550 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769 [inlined] std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::hd5fd1942c3d0bc69 at mod.rs:528:30 [opt] - frame #71: 0x000000010068c4f8 rqbit`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h25e2987fbbdaf769((null)=0x000060000190c4c0, (null)=) at function.rs:250:5 [opt] - frame #72: 0x000000010073e654 rqbit`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::ha50e0d33beaa94b5 at boxed.rs:2007:9 [opt] - frame #73: 0x000000010073e648 rqbit`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h320b0db4bb8e0440 at boxed.rs:2007:9 [opt] - frame #74: 0x000000010073e644 rqbit`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 at thread.rs:108:17 [opt] - frame #75: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 diff --git a/deadlock_6.txt b/deadlock_6.txt deleted file mode 100644 index 848032d..0000000 --- a/deadlock_6.txt +++ /dev/null @@ -1,450 +0,0 @@ -(lldb) command script import "/Users/igor/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/etc/lldb_lookup.py" -(lldb) command source -s 0 '/Users/igor/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/etc/lldb_commands' -(lldb) type synthetic add -l lldb_lookup.synthetic_lookup -x ".*" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)String$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^&(mut )?str$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^&(mut )?\\[.+\\]$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(std::ffi::([a-z_]+::)+)OsString$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)Vec<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)VecDeque<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)BTreeSet<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)BTreeMap<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(std::collections::([a-z_]+::)+)HashMap<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(std::collections::([a-z_]+::)+)HashSet<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)Rc<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(alloc::([a-z_]+::)+)Arc<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(core::([a-z_]+::)+)Cell<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(core::([a-z_]+::)+)Ref<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(core::([a-z_]+::)+)RefMut<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^(core::([a-z_]+::)+)RefCell<.+>$" --category Rust -(lldb) type summary add -F lldb_lookup.summary_lookup -e -x -h "^core::num::([a-z_]+::)*NonZero.+$" --category Rust -(lldb) type category enable Rust -(lldb) process attach --pid 58189 -Process 58189 stopped -* thread #1, name = 'main', queue = 'com.apple.main-thread', stop reason = signal SIGSTOP - frame #0: 0x000000018c11c0ac libsystem_kernel.dylib`__psynch_cvwait + 8 -libsystem_kernel.dylib`: --> 0x18c11c0ac <+8>: b.lo 0x18c11c0cc ; <+40> - 0x18c11c0b0 <+12>: pacibsp - 0x18c11c0b4 <+16>: stp x29, x30, [sp, #-0x10]! - 0x18c11c0b8 <+20>: mov x29, sp -Target 0: (ubuntu) stopped. -Executable module set to "/Users/igor/projects/2021-06-rust-qbittorrent/target/debug/examples/ubuntu". -Architecture set to: arm64-apple-macosx-. -(lldb) bt all -(lldb) thread backtrace all - thread #2, name = 'tokio-runtime-worker' - frame #0: 0x000000018c11c0ac libsystem_kernel.dylib`__psynch_cvwait + 8 - frame #1: 0x000000018c1595fc libsystem_pthread.dylib`_pthread_cond_wait + 1228 - frame #2: 0x000000010157ac94 ubuntu`_$LT$parking_lot_core..thread_parker..imp..ThreadParker$u20$as$u20$parking_lot_core..thread_parker..ThreadParkerT$GT$::park::h18f017ec19297713(self=0x000000012a80a1e8) at unix.rs:77:21 - frame #3: 0x000000010158015c ubuntu`parking_lot_core::parking_lot::park::_$u7b$$u7b$closure$u7d$$u7d$::hfa01ae81bb4bc0f2(thread_data=0x000000012a80a1e8) at parking_lot.rs:635:17 - frame #4: 0x000000010157f038 ubuntu`parking_lot_core::parking_lot::park::hacebd5119a4df3c1 at parking_lot.rs:207:5 - frame #5: 0x000000010157eff4 ubuntu`parking_lot_core::parking_lot::park::hacebd5119a4df3c1(key=105553151705104, validate={closure_env#0} @ 0x000000017075b5c0, before_sleep={closure_env#1} @ 0x000000017075b5d7, timed_out={closure_env#2} @ 0x000000017075b5d8, park_token=ParkToken @ 0x000000017075b578, timeout=Option @ 0x000000017075b580) at parking_lot.rs:600:5 - frame #6: 0x000000010157a404 ubuntu`parking_lot::raw_rwlock::RawRwLock::lock_common::ha8fc34a3cb806226(self=0x00006000021cc010, timeout=Option @ 0x000000017075b778, token=ParkToken @ 0x000000017075b788, try_lock={closure_env#0} @ 0x000000017075b6f8, validate_flags=12) at raw_rwlock.rs:1115:17 - frame #7: 0x00000001015ec5fc ubuntu`parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h7dc15f4d593b3d53(self=0x00006000021cc010, timeout=Option @ 0x000000017075b7d8) at raw_rwlock.rs:633:26 - frame #8: 0x0000000100e5b470 ubuntu`_$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_exclusive::h5270fe9f3619f0de(self=0x00006000021cc010) at raw_rwlock.rs:73:26 - frame #9: 0x0000000100e687f0 ubuntu`lock_api::rwlock::RwLock$LT$R$C$T$GT$::write::haa255ee1570efc80(self=0x00006000021cc010) at rwlock.rs:491:9 - frame #10: 0x0000000100f2a01c ubuntu`librqbit::torrent_state::TorrentState::lock_write::_$u7b$$u7b$closure$u7d$$u7d$::h2321908ec997b34a at torrent_state.rs:527:47 - frame #11: 0x0000000100f17a88 ubuntu`librqbit::torrent_state::TorrentState::lock_write::h9d38ed3237018f3a [inlined] librqbit::torrent_state::timed_existence::timeit::ha8a3d4926cb7dc8f(_n="mark_chunk_downloaded", f={closure_env#0} @ 0x000000017075b908) at torrent_state.rs:320:9 - frame #12: 0x0000000100f17a84 ubuntu`librqbit::torrent_state::TorrentState::lock_write::h9d38ed3237018f3a(self=0x000000012ac04ea0, reason="mark_chunk_downloaded") at torrent_state.rs:527:29 - frame #13: 0x0000000100f246e0 ubuntu`librqbit::torrent_state::PeerHandler::on_received_piece::hfc76de485b1e69e4(self=0x000000012b819690, handle=SocketAddr @ 0x000000017075cb00, piece=Piece @ 0x000000017075cae0) at torrent_state.rs:1217:25 - frame #14: 0x0000000100f1ed9c ubuntu`_$LT$librqbit..torrent_state..PeerHandler$u20$as$u20$librqbit..peer_connection..PeerConnectionHandler$GT$::on_received_message::hcc2c1a998973e6ea(self=0x000000012b819690, message=Message @ 0x000000017075e308) at torrent_state.rs:860:38 - frame #15: 0x0000000100ec903c ubuntu`librqbit::peer_connection::PeerConnection$LT$H$GT$::manage_peer::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hd19286c0558488e9((null)=0x00000001707659c0) at peer_connection.rs:270:17 - frame #16: 0x0000000100eca618 ubuntu`librqbit::peer_connection::PeerConnection$LT$H$GT$::manage_peer::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hdf7259baa4ab1268(cx=0x00000001707659c0) at select.rs:524:49 - frame #17: 0x0000000100e5dac4 ubuntu`_$LT$tokio..future..poll_fn..PollFn$LT$F$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h598619c9121a1021(self=Pin<&mut tokio::future::poll_fn::PollFn>> @ 0x000000017075e790, cx=0x00000001707659c0) at poll_fn.rs:58:9 - frame #18: 0x0000000100ec62f4 ubuntu`librqbit::peer_connection::PeerConnection$LT$H$GT$::manage_peer::_$u7b$$u7b$closure$u7d$$u7d$::hbde87e7c4a75cde5((null)=0x00000001707659c0) at peer_connection.rs:285:17 - frame #19: 0x0000000100f285a0 ubuntu`librqbit::torrent_state::TorrentState::task_manage_peer::_$u7b$$u7b$closure$u7d$$u7d$::hea04718635b021e0((null)=0x00000001707659c0) at torrent_state.rs:462:51 - frame #20: 0x0000000100eb6a58 ubuntu`librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::h22a15ea7de950e84((null)=0x00000001707659c0) at spawn_utils.rs:9:19 - frame #21: 0x0000000100f37ad4 ubuntu`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hf306b1b8f8b746ec(self=Pin<&mut tracing::instrument::Instrumented>> @ 0x00000001707657b0, cx=0x00000001707659c0) at instrument.rs:321:9 - frame #22: 0x0000000100e5c764 ubuntu`_$LT$core..pin..Pin$LT$P$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h75c2f3181b0cf1aa(self=Pin<&mut core::pin::Pin>, alloc::alloc::Global>>> @ 0x00000001707658b8, cx=0x00000001707659c0) at future.rs:125:9 - frame #23: 0x0000000100ea616c ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::_$u7b$$u7b$closure$u7d$$u7d$::h5e7de2bf5eee2830(ptr=0x000000012ac046b0) at core.rs:328:17 - frame #24: 0x0000000100ea4ef4 ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hc59bc6d6b6e00c95 [inlined] tokio::loom::std::unsafe_cell::UnsafeCell$LT$T$GT$::with_mut::h6f1eac3b5cc2f9fc(self=0x000000012ac046b0, f={closure_env#0}>, alloc::alloc::Global>>, alloc::sync::Arc> @ 0x00000001707659f8) at unsafe_cell.rs:16:9 - frame #25: 0x0000000100ea4ee8 ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hc59bc6d6b6e00c95(self=0x000000012ac046a0, cx=Context @ 0x00000001707659c0) at core.rs:317:13 - frame #26: 0x0000000100f46a7c ubuntu`tokio::runtime::task::harness::poll_future::_$u7b$$u7b$closure$u7d$$u7d$::h1ac58a34f257fa4e at harness.rs:485:19 - frame #27: 0x0000000100ecf5a8 ubuntu`_$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h65267074a1338221(self=AssertUnwindSafe>, alloc::alloc::Global>>, alloc::sync::Arc>> @ 0x0000000170765a70, (null)=) at unwind_safe.rs:272:9 - frame #28: 0x0000000100e75468 ubuntu`std::panicking::try::do_call::ha519f6d3905eb2d3(data="\xa0F\xc0*\U00000001") at panicking.rs:552:40 - frame #29: 0x0000000100e72540 ubuntu`std::panicking::try::hf6253d263edac0a7(f=AssertUnwindSafe>, alloc::alloc::Global>>, alloc::sync::Arc>> @ 0x0000000170765b20) at panicking.rs:516:19 - frame #30: 0x0000000100ed36a8 ubuntu`std::panic::catch_unwind::h5882a801edf9c0d0(f=AssertUnwindSafe>, alloc::alloc::Global>>, alloc::sync::Arc>> @ 0x0000000170765b60) at panic.rs:142:14 - frame #31: 0x0000000100f45c10 ubuntu`tokio::runtime::task::harness::poll_future::hd86755375ddf0d4a(core=0x000000012ac046a0, cx=Context @ 0x0000000170765c70) at harness.rs:473:18 - frame #32: 0x0000000100f48b9c ubuntu`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll_inner::h37fc87829deea2a7(self=0x0000000170765d28) at harness.rs:208:27 - frame #33: 0x0000000100f50188 ubuntu`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h7332793119460ed4(self=Harness>, alloc::alloc::Global>>, alloc::sync::Arc> @ 0x0000000170765d28) at harness.rs:153:15 - frame #34: 0x0000000100f0f104 ubuntu`tokio::runtime::task::raw::poll::h51db310fbcdeebd3(ptr=NonNull @ 0x0000000170765d50) at raw.rs:271:5 - frame #35: 0x0000000101477900 ubuntu`tokio::runtime::task::raw::RawTask::poll::h1000d6912ad57420(self=RawTask @ 0x0000000170765d70) at raw.rs:201:18 - frame #36: 0x0000000101463ba8 ubuntu`tokio::runtime::task::LocalNotified$LT$S$GT$::run::h614d754e09832cad(self=LocalNotified> @ 0x0000000170765da0) at mod.rs:408:9 - frame #37: 0x0000000101491e18 ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::_$u7b$$u7b$closure$u7d$$u7d$::ha7f5ee623f6de024 at worker.rs:577:13 - frame #38: 0x0000000101491ddc ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h3a91c4bdfa345831 at coop.rs:107:5 - frame #39: 0x0000000101491dac ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h3a91c4bdfa345831 [inlined] tokio::runtime::coop::budget::h8d1d2f494ba6a7cb(f={closure_env#0} @ 0x0000000170765f30) at coop.rs:73:5 - frame #40: 0x0000000101491d88 ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h3a91c4bdfa345831(self=0x0000000170766260, task=Notified> @ 0x0000000170765f20, core=0x00006000039cc280) at worker.rs:576:9 - frame #41: 0x0000000101491a84 ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run::heaa445e39d3099a1(self=0x0000000170766260, core=0x00006000039cc280) at worker.rs:526:24 - frame #42: 0x0000000101491894 ubuntu`tokio::runtime::scheduler::multi_thread::worker::run::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h2b571f29a8f60888 at worker.rs:491:21 - frame #43: 0x0000000101483090 ubuntu`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::hf925c595bd252f01(self=0x000000012a80a038, t=0x0000000170766258, f={closure_env#0} @ 0x00000001707660e8) at scoped.rs:40:9 - frame #44: 0x000000010144c988 ubuntu`tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::h0302d095e8b65143(c=0x000000012a80a000) at context.rs:176:26 - frame #45: 0x000000010147ffa0 ubuntu`std::thread::local::LocalKey$LT$T$GT$::try_with::h6fb83be6e86818c6(self=0x0000000101766de8, f={closure_env#0}<(), tokio::runtime::scheduler::multi_thread::worker::run::{closure#0}::{closure_env#0}> @ 0x00000001707661f0) at local.rs:270:16 - frame #46: 0x000000010147eca4 ubuntu`std::thread::local::LocalKey$LT$T$GT$::with::h5dcf9435a259397f(self=0x0000000101766de8, f=) at local.rs:246:9 - frame #47: 0x000000010144c954 ubuntu`tokio::runtime::context::set_scheduler::h6b6f06a5ae3a93e1(v=0x0000000170766258, f={closure_env#0} @ 0x0000000170766210) at context.rs:176:9 - frame #48: 0x0000000101491848 ubuntu`tokio::runtime::scheduler::multi_thread::worker::run::_$u7b$$u7b$closure$u7d$$u7d$::hf0230b52cc3b88d3((null)=0x00000001707663c0) at worker.rs:486:9 - frame #49: 0x000000010145d464 ubuntu`tokio::runtime::context::runtime::enter_runtime::h7a46156447e47d54(handle=0x0000000170766458, allow_block_in_place=true, f={closure_env#0} @ 0x0000000170766400) at runtime.rs:65:16 - frame #50: 0x000000010149172c ubuntu`tokio::runtime::scheduler::multi_thread::worker::run::h4cf7d8d53344654d(worker=strong=1, weak=0) at worker.rs:478:5 - frame #51: 0x0000000100f165f0 ubuntu`tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hdcd0200f1ace3c10 at worker.rs:422:41 - frame #52: 0x0000000100ee9704 ubuntu`_$LT$tokio..runtime..blocking..task..BlockingTask$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h5e51c8253a97db96(self=Pin<&mut tokio::runtime::blocking::task::BlockingTask>>> @ 0x00000001707664b8, _cx=0x00000001707665c0) at task.rs:42:21 - frame #53: 0x0000000100ea6efc ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::_$u7b$$u7b$closure$u7d$$u7d$::hb7e35a417059b0ad(ptr=0x000000012a9052a8) at core.rs:328:17 - frame #54: 0x0000000100ea50b0 ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd59079f2084d2a5c [inlined] tokio::loom::std::unsafe_cell::UnsafeCell$LT$T$GT$::with_mut::hd64ff7d14075f21c(self=0x000000012a9052a8, f={closure_env#0}>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ 0x00000001707665f8) at unsafe_cell.rs:16:9 - frame #55: 0x0000000100ea50a4 ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd59079f2084d2a5c(self=0x000000012a9052a0, cx=Context @ 0x00000001707665c0) at core.rs:317:13 - frame #56: 0x0000000100f4772c ubuntu`tokio::runtime::task::harness::poll_future::_$u7b$$u7b$closure$u7d$$u7d$::hb5f6e8c09d369fd1 at harness.rs:485:19 - frame #57: 0x0000000100ed04b0 ubuntu`_$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::he3ee8a4cae328095(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000000170766670, (null)=) at unwind_safe.rs:272:9 - frame #58: 0x0000000100e73aec ubuntu`std::panicking::try::do_call::h489a70e89d3ca1b6(data="\xa0R\x90*\U00000001") at panicking.rs:552:40 - frame #59: 0x0000000100e6e638 ubuntu`std::panicking::try::h5e0d069f0af730a8(f=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000000170766720) at panicking.rs:516:19 - frame #60: 0x0000000100ed34a8 ubuntu`std::panic::catch_unwind::h4669e6cae3323c93(f=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000000170766760) at panic.rs:142:14 - frame #61: 0x0000000100f442e8 ubuntu`tokio::runtime::task::harness::poll_future::h7d428e00030d2cfa(core=0x000000012a9052a0, cx=Context @ 0x0000000170766870) at harness.rs:473:18 - frame #62: 0x0000000100f49700 ubuntu`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll_inner::h6b3fcd463fc98a43(self=0x0000000170766928) at harness.rs:208:27 - frame #63: 0x0000000100f4fa50 ubuntu`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h34abb3e8b9684af7(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ 0x0000000170766928) at harness.rs:153:15 - frame #64: 0x0000000100f0ef84 ubuntu`tokio::runtime::task::raw::poll::h30cae272b2c909e0(ptr=NonNull @ 0x0000000170766950) at raw.rs:271:5 - frame #65: 0x0000000101477900 ubuntu`tokio::runtime::task::raw::RawTask::poll::h1000d6912ad57420(self=RawTask @ 0x0000000170766970) at raw.rs:201:18 - frame #66: 0x0000000101463c2c ubuntu`tokio::runtime::task::UnownedTask$LT$S$GT$::run::hfc4dd67afb1a17b6(self=UnownedTask @ 0x00000001707669a0) at mod.rs:445:9 - frame #67: 0x000000010146ff54 ubuntu`tokio::runtime::blocking::pool::Task::run::hf0982e055b4d9b3d(self=Task @ 0x00000001707669c0) at pool.rs:159:9 - frame #68: 0x0000000101471428 ubuntu`tokio::runtime::blocking::pool::Inner::run::h613e034fcd5273c1(self=0x0000000129e052e0, worker_thread_id=10) at pool.rs:513:17 - frame #69: 0x00000001014712ac ubuntu`tokio::runtime::blocking::pool::Spawner::spawn_thread::_$u7b$$u7b$closure$u7d$$u7d$::h85055799f1079122 at pool.rs:471:13 - frame #70: 0x0000000101450fb0 ubuntu`std::sys_common::backtrace::__rust_begin_short_backtrace::hc00264b51514bc2a(f=) at backtrace.rs:154:18 - frame #71: 0x0000000101445cdc ubuntu`std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hf0c597d86743f4b0 at mod.rs:529:17 - frame #72: 0x00000001014a09f0 ubuntu`_$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h8e1e63be06f0c84a(self=, (null)=) at unwind_safe.rs:272:9 - frame #73: 0x0000000101456584 ubuntu`std::panicking::try::do_call::hce3444c785deac15(data="\U00000001") at panicking.rs:552:40 - frame #74: 0x0000000101455bb4 ubuntu`std::panicking::try::hdf0c5aa4f459a133(f=) at panicking.rs:516:19 - frame #75: 0x0000000101445c08 ubuntu`std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::h3869e60e8161d6b6 at panic.rs:142:14 - frame #76: 0x0000000101445c04 ubuntu`std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::h3869e60e8161d6b6 at mod.rs:528:30 - frame #77: 0x0000000101446144 ubuntu`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h079508b8f3dc0adc((null)=0x0000600000fccf80, (null)=) at function.rs:250:5 - frame #78: 0x00000001015b7334 ubuntu`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::ha50e0d33beaa94b5 at boxed.rs:2007:9 [opt] - frame #79: 0x00000001015b7328 ubuntu`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h320b0db4bb8e0440 at boxed.rs:2007:9 [opt] - frame #80: 0x00000001015b7324 ubuntu`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 at thread.rs:108:17 [opt] - frame #81: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 - thread #3, name = 'tokio-runtime-worker' - frame #0: 0x000000018c11c0ac libsystem_kernel.dylib`__psynch_cvwait + 8 - frame #1: 0x000000018c1595fc libsystem_pthread.dylib`_pthread_cond_wait + 1228 - frame #2: 0x0000000101124828 ubuntu`_$LT$parking_lot_core..thread_parker..imp..ThreadParker$u20$as$u20$parking_lot_core..thread_parker..ThreadParkerT$GT$::park::h81c3633b1efcc0d3(self=0x0000000129e0eb68) at unix.rs:77:21 - frame #3: 0x0000000101125fd8 ubuntu`parking_lot_core::parking_lot::park::_$u7b$$u7b$closure$u7d$$u7d$::h86031eb220440ab6(thread_data=0x0000000129e0eb68) at parking_lot.rs:635:17 - frame #4: 0x00000001011258b0 ubuntu`parking_lot_core::parking_lot::park::hf4b3e8965b659760 at parking_lot.rs:207:5 - frame #5: 0x000000010112586c ubuntu`parking_lot_core::parking_lot::park::hf4b3e8965b659760(key=5024852649, validate={closure_env#0} @ 0x0000000170d87b30, before_sleep={closure_env#1} @ 0x0000000170d87b3e, timed_out={closure_env#2} @ 0x0000000170d87b3f, park_token=ParkToken @ 0x0000000170d87af8, timeout=Option @ 0x0000000170d87b00) at parking_lot.rs:600:5 - frame #6: 0x00000001015e2a10 ubuntu`dashmap::lock::RawRwLock::lock_shared_slow::h334165b2f5c9384b(self=0x000000012b812aa8) at lock.rs:270:21 - frame #7: 0x0000000100e41588 ubuntu`_$LT$dashmap..lock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_shared::h5de6b0427458a49d(self=0x000000012b812aa8) at lock.rs:62:13 - frame #8: 0x0000000100e68760 ubuntu`lock_api::rwlock::RwLock$LT$R$C$T$GT$::read::h608658d5ac4b6a2d(self=0x000000012b812aa8) at rwlock.rs:459:9 - frame #9: 0x0000000100e516e0 ubuntu`_$LT$dashmap..DashMap$LT$K$C$V$C$S$GT$$u20$as$u20$dashmap..t..Map$LT$K$C$V$C$S$GT$$GT$::_yield_read_shard::h84bc69d2d64a0791(self=0x000000012ac04f38, i=3) at lib.rs:891:9 - frame #10: 0x0000000100f16ba0 ubuntu`_$LT$dashmap..iter..Iter$LT$K$C$V$C$S$C$M$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$::next::hb1e9fda45c3f5907(self=0x0000000170d88170) at iter.rs:174:34 - frame #11: 0x0000000100f16884 ubuntu`core::iter::traits::iterator::Iterator::fold::hb050bd376eb4851a(self=Iter> @ 0x0000000170d88170, init=, f={closure_env#0} @ 0x0000000170d88007) at iterator.rs:2639:29 - frame #12: 0x0000000100f25db8 ubuntu`librqbit::torrent_state::PeerStates::stats::_$u7b$$u7b$closure$u7d$$u7d$::hd59e6c38ca10527f at torrent_state.rs:83:13 - frame #13: 0x0000000100f16cd0 ubuntu`librqbit::torrent_state::PeerStates::stats::h19c78f686fc82ec4 [inlined] librqbit::torrent_state::timed_existence::timeit::he9134af8f822c0db(_n="PeerStates::stats", f={closure_env#0} @ 0x0000000170d88218) at torrent_state.rs:320:9 - frame #14: 0x0000000100f16ccc ubuntu`librqbit::torrent_state::PeerStates::stats::h19c78f686fc82ec4(self=0x000000012ac04f38) at torrent_state.rs:82:9 - frame #15: 0x0000000100f1e854 ubuntu`librqbit::torrent_state::TorrentState::stats_snapshot::hd1d23431a2423ac4(self=0x000000012ac04ea0) at torrent_state.rs:814:26 - frame #16: 0x0000000100e4c4fc ubuntu`librqbit::torrent_manager::TorrentManager::start::_$u7b$$u7b$closure$u7d$$u7d$::h62a7502cf005da13((null)=0x0000000170d899c0) at torrent_manager.rs:297:33 - frame #17: 0x0000000100ebc734 ubuntu`librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::hbdaad5f0a4164a94((null)=0x0000000170d899c0) at spawn_utils.rs:9:19 - frame #18: 0x0000000100f37184 ubuntu`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h42823f57e36e7cf3(self=Pin<&mut tracing::instrument::Instrumented>>> @ 0x0000000170d897f0, cx=0x0000000170d899c0) at instrument.rs:321:9 - frame #19: 0x0000000100ea654c ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::_$u7b$$u7b$closure$u7d$$u7d$::h678c6d0f8a67cc6f(ptr=0x000000012ac05330) at core.rs:328:17 - frame #20: 0x0000000100ea4f88 ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hc89ae778a2e35e40 [inlined] tokio::loom::std::unsafe_cell::UnsafeCell$LT$T$GT$::with_mut::h593c2072a3a046ed(self=0x000000012ac05330, f={closure_env#0}>>, alloc::sync::Arc> @ 0x0000000170d899f8) at unsafe_cell.rs:16:9 - frame #21: 0x0000000100ea4f7c ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hc89ae778a2e35e40(self=0x000000012ac05320, cx=Context @ 0x0000000170d899c0) at core.rs:317:13 - frame #22: 0x0000000100f46ce4 ubuntu`tokio::runtime::task::harness::poll_future::_$u7b$$u7b$closure$u7d$$u7d$::h435df6023246cf3b at harness.rs:485:19 - frame #23: 0x0000000100ecff14 ubuntu`_$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::hc4ec710da91a1c38(self=AssertUnwindSafe>>, alloc::sync::Arc>> @ 0x0000000170d89a70, (null)=) at unwind_safe.rs:272:9 - frame #24: 0x0000000100e74588 ubuntu`std::panicking::try::do_call::h745f369d74749300(data=" S\xc0*\U00000001") at panicking.rs:552:40 - frame #25: 0x0000000100e6cc08 ubuntu`std::panicking::try::h1becb456d9205ba9(f=AssertUnwindSafe>>, alloc::sync::Arc>> @ 0x0000000170d89b20) at panicking.rs:516:19 - frame #26: 0x0000000100ed4174 ubuntu`std::panic::catch_unwind::hc60f07b69988dbe8(f=AssertUnwindSafe>>, alloc::sync::Arc>> @ 0x0000000170d89b60) at panic.rs:142:14 - frame #27: 0x0000000100f46340 ubuntu`tokio::runtime::task::harness::poll_future::hf4a5b35eda817472(core=0x000000012ac05320, cx=Context @ 0x0000000170d89c70) at harness.rs:473:18 - frame #28: 0x0000000100f4a8b8 ubuntu`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll_inner::hc08f3c0aa1b326b2(self=0x0000000170d89d28) at harness.rs:208:27 - frame #29: 0x0000000100f50770 ubuntu`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::hb7cc37e070326c7e(self=Harness>>, alloc::sync::Arc> @ 0x0000000170d89d28) at harness.rs:153:15 - frame #30: 0x0000000100f0f044 ubuntu`tokio::runtime::task::raw::poll::h3f6472418aa31498(ptr=NonNull @ 0x0000000170d89d50) at raw.rs:271:5 - frame #31: 0x0000000101477900 ubuntu`tokio::runtime::task::raw::RawTask::poll::h1000d6912ad57420(self=RawTask @ 0x0000000170d89d70) at raw.rs:201:18 - frame #32: 0x0000000101463ba8 ubuntu`tokio::runtime::task::LocalNotified$LT$S$GT$::run::h614d754e09832cad(self=LocalNotified> @ 0x0000000170d89da0) at mod.rs:408:9 - frame #33: 0x0000000101491e18 ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::_$u7b$$u7b$closure$u7d$$u7d$::ha7f5ee623f6de024 at worker.rs:577:13 - frame #34: 0x0000000101491ddc ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h3a91c4bdfa345831 at coop.rs:107:5 - frame #35: 0x0000000101491dac ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h3a91c4bdfa345831 [inlined] tokio::runtime::coop::budget::h8d1d2f494ba6a7cb(f={closure_env#0} @ 0x0000000170d89f30) at coop.rs:73:5 - frame #36: 0x0000000101491d88 ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h3a91c4bdfa345831(self=0x0000000170d8a260, task=Notified> @ 0x0000000170d89f20, core=0x00006000039cc2d0) at worker.rs:576:9 - frame #37: 0x0000000101491a84 ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run::heaa445e39d3099a1(self=0x0000000170d8a260, core=0x00006000039cc2d0) at worker.rs:526:24 - frame #38: 0x0000000101491894 ubuntu`tokio::runtime::scheduler::multi_thread::worker::run::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h2b571f29a8f60888 at worker.rs:491:21 - frame #39: 0x0000000101483090 ubuntu`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::hf925c595bd252f01(self=0x0000000129e0e9b8, t=0x0000000170d8a258, f={closure_env#0} @ 0x0000000170d8a0e8) at scoped.rs:40:9 - frame #40: 0x000000010144c988 ubuntu`tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::h0302d095e8b65143(c=0x0000000129e0e980) at context.rs:176:26 - frame #41: 0x000000010147ffa0 ubuntu`std::thread::local::LocalKey$LT$T$GT$::try_with::h6fb83be6e86818c6(self=0x0000000101766de8, f={closure_env#0}<(), tokio::runtime::scheduler::multi_thread::worker::run::{closure#0}::{closure_env#0}> @ 0x0000000170d8a1f0) at local.rs:270:16 - frame #42: 0x000000010147eca4 ubuntu`std::thread::local::LocalKey$LT$T$GT$::with::h5dcf9435a259397f(self=0x0000000101766de8, f=) at local.rs:246:9 - frame #43: 0x000000010144c954 ubuntu`tokio::runtime::context::set_scheduler::h6b6f06a5ae3a93e1(v=0x0000000170d8a258, f={closure_env#0} @ 0x0000000170d8a210) at context.rs:176:9 - frame #44: 0x0000000101491848 ubuntu`tokio::runtime::scheduler::multi_thread::worker::run::_$u7b$$u7b$closure$u7d$$u7d$::hf0230b52cc3b88d3((null)=0x0000000170d8a3c0) at worker.rs:486:9 - frame #45: 0x000000010145d464 ubuntu`tokio::runtime::context::runtime::enter_runtime::h7a46156447e47d54(handle=0x0000000170d8a458, allow_block_in_place=true, f={closure_env#0} @ 0x0000000170d8a400) at runtime.rs:65:16 - frame #46: 0x000000010149172c ubuntu`tokio::runtime::scheduler::multi_thread::worker::run::h4cf7d8d53344654d(worker=strong=2, weak=0) at worker.rs:478:5 - frame #47: 0x0000000100f165f0 ubuntu`tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hdcd0200f1ace3c10 at worker.rs:422:41 - frame #48: 0x0000000100ee9704 ubuntu`_$LT$tokio..runtime..blocking..task..BlockingTask$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h5e51c8253a97db96(self=Pin<&mut tokio::runtime::blocking::task::BlockingTask>>> @ 0x0000000170d8a4b8, _cx=0x0000000170d8a5c0) at task.rs:42:21 - frame #49: 0x0000000100ea6efc ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::_$u7b$$u7b$closure$u7d$$u7d$::hb7e35a417059b0ad(ptr=0x0000000129e0cb28) at core.rs:328:17 - frame #50: 0x0000000100ea50b0 ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd59079f2084d2a5c [inlined] tokio::loom::std::unsafe_cell::UnsafeCell$LT$T$GT$::with_mut::hd64ff7d14075f21c(self=0x0000000129e0cb28, f={closure_env#0}>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ 0x0000000170d8a5f8) at unsafe_cell.rs:16:9 - frame #51: 0x0000000100ea50a4 ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd59079f2084d2a5c(self=0x0000000129e0cb20, cx=Context @ 0x0000000170d8a5c0) at core.rs:317:13 - frame #52: 0x0000000100f4772c ubuntu`tokio::runtime::task::harness::poll_future::_$u7b$$u7b$closure$u7d$$u7d$::hb5f6e8c09d369fd1 at harness.rs:485:19 - frame #53: 0x0000000100ed04b0 ubuntu`_$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::he3ee8a4cae328095(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000000170d8a670, (null)=) at unwind_safe.rs:272:9 - frame #54: 0x0000000100e73aec ubuntu`std::panicking::try::do_call::h489a70e89d3ca1b6(data=" \xcb\xe0)\U00000001") at panicking.rs:552:40 - frame #55: 0x0000000100e6e638 ubuntu`std::panicking::try::h5e0d069f0af730a8(f=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000000170d8a720) at panicking.rs:516:19 - frame #56: 0x0000000100ed34a8 ubuntu`std::panic::catch_unwind::h4669e6cae3323c93(f=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000000170d8a760) at panic.rs:142:14 - frame #57: 0x0000000100f442e8 ubuntu`tokio::runtime::task::harness::poll_future::h7d428e00030d2cfa(core=0x0000000129e0cb20, cx=Context @ 0x0000000170d8a870) at harness.rs:473:18 - frame #58: 0x0000000100f49700 ubuntu`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll_inner::h6b3fcd463fc98a43(self=0x0000000170d8a928) at harness.rs:208:27 - frame #59: 0x0000000100f4fa50 ubuntu`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h34abb3e8b9684af7(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ 0x0000000170d8a928) at harness.rs:153:15 - frame #60: 0x0000000100f0ef84 ubuntu`tokio::runtime::task::raw::poll::h30cae272b2c909e0(ptr=NonNull @ 0x0000000170d8a950) at raw.rs:271:5 - frame #61: 0x0000000101477900 ubuntu`tokio::runtime::task::raw::RawTask::poll::h1000d6912ad57420(self=RawTask @ 0x0000000170d8a970) at raw.rs:201:18 - frame #62: 0x0000000101463c2c ubuntu`tokio::runtime::task::UnownedTask$LT$S$GT$::run::hfc4dd67afb1a17b6(self=UnownedTask @ 0x0000000170d8a9a0) at mod.rs:445:9 - frame #63: 0x000000010146ff54 ubuntu`tokio::runtime::blocking::pool::Task::run::hf0982e055b4d9b3d(self=Task @ 0x0000000170d8a9c0) at pool.rs:159:9 - frame #64: 0x0000000101471428 ubuntu`tokio::runtime::blocking::pool::Inner::run::h613e034fcd5273c1(self=0x0000000129e052e0, worker_thread_id=13) at pool.rs:513:17 - frame #65: 0x00000001014712ac ubuntu`tokio::runtime::blocking::pool::Spawner::spawn_thread::_$u7b$$u7b$closure$u7d$$u7d$::h85055799f1079122 at pool.rs:471:13 - frame #66: 0x0000000101450fb0 ubuntu`std::sys_common::backtrace::__rust_begin_short_backtrace::hc00264b51514bc2a(f=) at backtrace.rs:154:18 - frame #67: 0x0000000101445cdc ubuntu`std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hf0c597d86743f4b0 at mod.rs:529:17 - frame #68: 0x00000001014a09f0 ubuntu`_$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h8e1e63be06f0c84a(self=, (null)=) at unwind_safe.rs:272:9 - frame #69: 0x0000000101456584 ubuntu`std::panicking::try::do_call::hce3444c785deac15(data="\U00000001") at panicking.rs:552:40 - frame #70: 0x0000000101455bb4 ubuntu`std::panicking::try::hdf0c5aa4f459a133(f=) at panicking.rs:516:19 - frame #71: 0x0000000101445c08 ubuntu`std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::h3869e60e8161d6b6 at panic.rs:142:14 - frame #72: 0x0000000101445c04 ubuntu`std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::h3869e60e8161d6b6 at mod.rs:528:30 - frame #73: 0x0000000101446144 ubuntu`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h079508b8f3dc0adc((null)=0x0000600000fccd40, (null)=) at function.rs:250:5 - frame #74: 0x00000001015b7334 ubuntu`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::ha50e0d33beaa94b5 at boxed.rs:2007:9 [opt] - frame #75: 0x00000001015b7328 ubuntu`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h320b0db4bb8e0440 at boxed.rs:2007:9 [opt] - frame #76: 0x00000001015b7324 ubuntu`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 at thread.rs:108:17 [opt] - frame #77: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 - thread #6, name = 'tokio-runtime-worker' - frame #0: 0x000000018c11c0ac libsystem_kernel.dylib`__psynch_cvwait + 8 - frame #1: 0x000000018c1595fc libsystem_pthread.dylib`_pthread_cond_wait + 1228 - frame #2: 0x000000010157ac94 ubuntu`_$LT$parking_lot_core..thread_parker..imp..ThreadParker$u20$as$u20$parking_lot_core..thread_parker..ThreadParkerT$GT$::park::h18f017ec19297713(self=0x000000012a90ac68) at unix.rs:77:21 - frame #3: 0x000000010158015c ubuntu`parking_lot_core::parking_lot::park::_$u7b$$u7b$closure$u7d$$u7d$::hfa01ae81bb4bc0f2(thread_data=0x000000012a90ac68) at parking_lot.rs:635:17 - frame #4: 0x000000010157f038 ubuntu`parking_lot_core::parking_lot::park::hacebd5119a4df3c1 at parking_lot.rs:207:5 - frame #5: 0x000000010157eff4 ubuntu`parking_lot_core::parking_lot::park::hacebd5119a4df3c1(key=105553151705104, validate={closure_env#0} @ 0x00000001713a85b0, before_sleep={closure_env#1} @ 0x00000001713a85c7, timed_out={closure_env#2} @ 0x00000001713a85c8, park_token=ParkToken @ 0x00000001713a8568, timeout=Option @ 0x00000001713a8570) at parking_lot.rs:600:5 - frame #6: 0x000000010157a404 ubuntu`parking_lot::raw_rwlock::RawRwLock::lock_common::ha8fc34a3cb806226(self=0x00006000021cc010, timeout=Option @ 0x00000001713a8768, token=ParkToken @ 0x00000001713a8778, try_lock={closure_env#0} @ 0x00000001713a86e8, validate_flags=12) at raw_rwlock.rs:1115:17 - frame #7: 0x00000001015ec5fc ubuntu`parking_lot::raw_rwlock::RawRwLock::lock_exclusive_slow::h7dc15f4d593b3d53(self=0x00006000021cc010, timeout=Option @ 0x00000001713a87c8) at raw_rwlock.rs:633:26 - frame #8: 0x0000000100e5b470 ubuntu`_$LT$parking_lot..raw_rwlock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_exclusive::h5270fe9f3619f0de(self=0x00006000021cc010) at raw_rwlock.rs:73:26 - frame #9: 0x0000000100e687f0 ubuntu`lock_api::rwlock::RwLock$LT$R$C$T$GT$::write::haa255ee1570efc80(self=0x00006000021cc010) at rwlock.rs:491:9 - frame #10: 0x0000000100f2a01c ubuntu`librqbit::torrent_state::TorrentState::lock_write::_$u7b$$u7b$closure$u7d$$u7d$::h2321908ec997b34a at torrent_state.rs:527:47 - frame #11: 0x0000000100f17a88 ubuntu`librqbit::torrent_state::TorrentState::lock_write::h9d38ed3237018f3a [inlined] librqbit::torrent_state::timed_existence::timeit::ha8a3d4926cb7dc8f(_n="reserve_next_needed_piece", f={closure_env#0} @ 0x00000001713a88f8) at torrent_state.rs:320:9 - frame #12: 0x0000000100f17a84 ubuntu`librqbit::torrent_state::TorrentState::lock_write::h9d38ed3237018f3a(self=0x000000012ac04ea0, reason="reserve_next_needed_piece") at torrent_state.rs:527:29 - frame #13: 0x0000000100f2a28c ubuntu`librqbit::torrent_state::TorrentState::reserve_next_needed_piece::_$u7b$$u7b$closure$u7d$$u7d$::hd0fbceff9780e430(live=0x000000012b8274e8) at torrent_state.rs:557:29 - frame #14: 0x0000000100f27ae0 ubuntu`librqbit::torrent_state::PeerStates::with_live_mut::_$u7b$$u7b$closure$u7d$$u7d$::h320cb76d1ceaf8b8(peer=0x000000012b8274e8) at torrent_state.rs:134:40 - frame #15: 0x0000000100f26e88 ubuntu`librqbit::torrent_state::PeerStates::with_peer_mut::_$u7b$$u7b$closure$u7d$$u7d$::h995e1245d2ec2d40(e=) at torrent_state.rs:119:22 - frame #16: 0x0000000100f3c414 ubuntu`core::option::Option$LT$T$GT$::map::h4d8ca31a4de2418b(self=Option> @ 0x00000001713a9200, f={closure_env#1}>, librqbit::torrent_state::{impl#0}::with_live_mut::{closure_env#0}, librqbit::torrent_state::{impl#4}::reserve_next_needed_piece::{closure_env#0}>> @ 0x00000001713a9228) at option.rs:1072:29 - frame #17: 0x0000000100f26460 ubuntu`librqbit::torrent_state::PeerStates::with_peer_mut::h746c3f2e9fa6ae69(self=0x000000012ac04f38, addr=, reason="reserve_next_needed_piece", f={closure_env#0}, librqbit::torrent_state::{impl#4}::reserve_next_needed_piece::{closure_env#0}> @ 0x00000001713a9240) at torrent_state.rs:118:9 - frame #18: 0x0000000100f2792c ubuntu`librqbit::torrent_state::PeerStates::with_live_mut::ha54fdf952970b0fb(self=0x000000012ac04f38, addr=, reason="reserve_next_needed_piece", f={closure_env#0} @ 0x00000001713a92b0) at torrent_state.rs:133:9 - frame #19: 0x0000000100f17c10 ubuntu`librqbit::torrent_state::TorrentState::reserve_next_needed_piece::h7530534a0f6e875c(self=0x000000012ac04ea0, peer_handle=SocketAddr @ 0x000000012ac04f38) at torrent_state.rs:551:9 - frame #20: 0x0000000100f2ca18 ubuntu`librqbit::torrent_state::PeerHandler::requester::_$u7b$$u7b$closure$u7d$$u7d$::h5bca314bc041909d((null)=0x00000001713ad9c0) at torrent_state.rs:1061:31 - frame #21: 0x0000000100f2c138 ubuntu`librqbit::torrent_state::PeerHandler::task_peer_chunk_requester::_$u7b$$u7b$closure$u7d$$u7d$::h61185154eba132e6((null)=0x00000001713ad9c0) at torrent_state.rs:1015:32 - frame #22: 0x0000000100eb8230 ubuntu`librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::h54a23f93dc690329((null)=0x00000001713ad9c0) at spawn_utils.rs:9:19 - frame #23: 0x0000000100f3762c ubuntu`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::ha0949784faec682f(self=Pin<&mut tracing::instrument::Instrumented>> @ 0x00000001713ad7f0, cx=0x00000001713ad9c0) at instrument.rs:321:9 - frame #24: 0x0000000100ea6b1c ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::_$u7b$$u7b$closure$u7d$$u7d$::h85fc0804c4a96f63(ptr=0x000000012a030430) at core.rs:328:17 - frame #25: 0x0000000100ea4a54 ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::ha70c61143b17e094 [inlined] tokio::loom::std::unsafe_cell::UnsafeCell$LT$T$GT$::with_mut::he9488f24d16aedc4(self=0x000000012a030430, f={closure_env#0}>, alloc::sync::Arc> @ 0x00000001713ad9f8) at unsafe_cell.rs:16:9 - frame #26: 0x0000000100ea4a48 ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::ha70c61143b17e094(self=0x000000012a030420, cx=Context @ 0x00000001713ad9c0) at core.rs:317:13 - frame #27: 0x0000000100f4710c ubuntu`tokio::runtime::task::harness::poll_future::_$u7b$$u7b$closure$u7d$$u7d$::h792587d9f0af054a at harness.rs:485:19 - frame #28: 0x0000000100eced44 ubuntu`_$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h1eb2b6f1d0041d89(self=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x00000001713ada70, (null)=) at unwind_safe.rs:272:9 - frame #29: 0x0000000100e75664 ubuntu`std::panicking::try::do_call::hb17d9cc020d00e50(data=" \U00000004\U00000003*\U00000001") at panicking.rs:552:40 - frame #30: 0x0000000100e71358 ubuntu`std::panicking::try::hca4e5afab064f4af(f=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x00000001713adb20) at panicking.rs:516:19 - frame #31: 0x0000000100ed44f8 ubuntu`std::panic::catch_unwind::he79306e778f6e542(f=AssertUnwindSafe>, alloc::sync::Arc>> @ 0x00000001713adb60) at panic.rs:142:14 - frame #32: 0x0000000100f454e0 ubuntu`tokio::runtime::task::harness::poll_future::hc6f17e9606493faf(core=0x000000012a030420, cx=Context @ 0x00000001713adc70) at harness.rs:473:18 - frame #33: 0x0000000100f4a630 ubuntu`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll_inner::haccf94a72e87a1f4(self=0x00000001713add28) at harness.rs:208:27 - frame #34: 0x0000000100f50428 ubuntu`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h962477a665dbd927(self=Harness>, alloc::sync::Arc> @ 0x00000001713add28) at harness.rs:153:15 - frame #35: 0x0000000100f0f014 ubuntu`tokio::runtime::task::raw::poll::h3ced65a33e48f0be(ptr=NonNull @ 0x00000001713add50) at raw.rs:271:5 - frame #36: 0x0000000101477900 ubuntu`tokio::runtime::task::raw::RawTask::poll::h1000d6912ad57420(self=RawTask @ 0x00000001713add70) at raw.rs:201:18 - frame #37: 0x0000000101463ba8 ubuntu`tokio::runtime::task::LocalNotified$LT$S$GT$::run::h614d754e09832cad(self=LocalNotified> @ 0x00000001713adda0) at mod.rs:408:9 - frame #38: 0x0000000101491e18 ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::_$u7b$$u7b$closure$u7d$$u7d$::ha7f5ee623f6de024 at worker.rs:577:13 - frame #39: 0x0000000101491ddc ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h3a91c4bdfa345831 at coop.rs:107:5 - frame #40: 0x0000000101491dac ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h3a91c4bdfa345831 [inlined] tokio::runtime::coop::budget::h8d1d2f494ba6a7cb(f={closure_env#0} @ 0x00000001713adf30) at coop.rs:73:5 - frame #41: 0x0000000101491d88 ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h3a91c4bdfa345831(self=0x00000001713ae260, task=Notified> @ 0x00000001713adf20, core=0x00006000039cc190) at worker.rs:576:9 - frame #42: 0x0000000101491a84 ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run::heaa445e39d3099a1(self=0x00000001713ae260, core=0x00006000039cc190) at worker.rs:526:24 - frame #43: 0x0000000101491894 ubuntu`tokio::runtime::scheduler::multi_thread::worker::run::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h2b571f29a8f60888 at worker.rs:491:21 - frame #44: 0x0000000101483090 ubuntu`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::hf925c595bd252f01(self=0x000000012a90aab8, t=0x00000001713ae258, f={closure_env#0} @ 0x00000001713ae0e8) at scoped.rs:40:9 - frame #45: 0x000000010144c988 ubuntu`tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::h0302d095e8b65143(c=0x000000012a90aa80) at context.rs:176:26 - frame #46: 0x000000010147ffa0 ubuntu`std::thread::local::LocalKey$LT$T$GT$::try_with::h6fb83be6e86818c6(self=0x0000000101766de8, f={closure_env#0}<(), tokio::runtime::scheduler::multi_thread::worker::run::{closure#0}::{closure_env#0}> @ 0x00000001713ae1f0) at local.rs:270:16 - frame #47: 0x000000010147eca4 ubuntu`std::thread::local::LocalKey$LT$T$GT$::with::h5dcf9435a259397f(self=0x0000000101766de8, f=) at local.rs:246:9 - frame #48: 0x000000010144c954 ubuntu`tokio::runtime::context::set_scheduler::h6b6f06a5ae3a93e1(v=0x00000001713ae258, f={closure_env#0} @ 0x00000001713ae210) at context.rs:176:9 - frame #49: 0x0000000101491848 ubuntu`tokio::runtime::scheduler::multi_thread::worker::run::_$u7b$$u7b$closure$u7d$$u7d$::hf0230b52cc3b88d3((null)=0x00000001713ae3c0) at worker.rs:486:9 - frame #50: 0x000000010145d464 ubuntu`tokio::runtime::context::runtime::enter_runtime::h7a46156447e47d54(handle=0x00000001713ae458, allow_block_in_place=true, f={closure_env#0} @ 0x00000001713ae400) at runtime.rs:65:16 - frame #51: 0x000000010149172c ubuntu`tokio::runtime::scheduler::multi_thread::worker::run::h4cf7d8d53344654d(worker=strong=1, weak=0) at worker.rs:478:5 - frame #52: 0x0000000100f165f0 ubuntu`tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hdcd0200f1ace3c10 at worker.rs:422:41 - frame #53: 0x0000000100ee9704 ubuntu`_$LT$tokio..runtime..blocking..task..BlockingTask$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h5e51c8253a97db96(self=Pin<&mut tokio::runtime::blocking::task::BlockingTask>>> @ 0x00000001713ae4b8, _cx=0x00000001713ae5c0) at task.rs:42:21 - frame #54: 0x0000000100ea6efc ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::_$u7b$$u7b$closure$u7d$$u7d$::hb7e35a417059b0ad(ptr=0x000000012a8067a8) at core.rs:328:17 - frame #55: 0x0000000100ea50b0 ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd59079f2084d2a5c [inlined] tokio::loom::std::unsafe_cell::UnsafeCell$LT$T$GT$::with_mut::hd64ff7d14075f21c(self=0x000000012a8067a8, f={closure_env#0}>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ 0x00000001713ae5f8) at unsafe_cell.rs:16:9 - frame #56: 0x0000000100ea50a4 ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd59079f2084d2a5c(self=0x000000012a8067a0, cx=Context @ 0x00000001713ae5c0) at core.rs:317:13 - frame #57: 0x0000000100f4772c ubuntu`tokio::runtime::task::harness::poll_future::_$u7b$$u7b$closure$u7d$$u7d$::hb5f6e8c09d369fd1 at harness.rs:485:19 - frame #58: 0x0000000100ed04b0 ubuntu`_$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::he3ee8a4cae328095(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x00000001713ae670, (null)=) at unwind_safe.rs:272:9 - frame #59: 0x0000000100e73aec ubuntu`std::panicking::try::do_call::h489a70e89d3ca1b6(data="\xa0g\x80*\U00000001") at panicking.rs:552:40 - frame #60: 0x0000000100e6e638 ubuntu`std::panicking::try::h5e0d069f0af730a8(f=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x00000001713ae720) at panicking.rs:516:19 - frame #61: 0x0000000100ed34a8 ubuntu`std::panic::catch_unwind::h4669e6cae3323c93(f=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x00000001713ae760) at panic.rs:142:14 - frame #62: 0x0000000100f442e8 ubuntu`tokio::runtime::task::harness::poll_future::h7d428e00030d2cfa(core=0x000000012a8067a0, cx=Context @ 0x00000001713ae870) at harness.rs:473:18 - frame #63: 0x0000000100f49700 ubuntu`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll_inner::h6b3fcd463fc98a43(self=0x00000001713ae928) at harness.rs:208:27 - frame #64: 0x0000000100f4fa50 ubuntu`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h34abb3e8b9684af7(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ 0x00000001713ae928) at harness.rs:153:15 - frame #65: 0x0000000100f0ef84 ubuntu`tokio::runtime::task::raw::poll::h30cae272b2c909e0(ptr=NonNull @ 0x00000001713ae950) at raw.rs:271:5 - frame #66: 0x0000000101477900 ubuntu`tokio::runtime::task::raw::RawTask::poll::h1000d6912ad57420(self=RawTask @ 0x00000001713ae970) at raw.rs:201:18 - frame #67: 0x0000000101463c2c ubuntu`tokio::runtime::task::UnownedTask$LT$S$GT$::run::hfc4dd67afb1a17b6(self=UnownedTask @ 0x00000001713ae9a0) at mod.rs:445:9 - frame #68: 0x000000010146ff54 ubuntu`tokio::runtime::blocking::pool::Task::run::hf0982e055b4d9b3d(self=Task @ 0x00000001713ae9c0) at pool.rs:159:9 - frame #69: 0x0000000101471428 ubuntu`tokio::runtime::blocking::pool::Inner::run::h613e034fcd5273c1(self=0x0000000129e052e0, worker_thread_id=16) at pool.rs:513:17 - frame #70: 0x00000001014712ac ubuntu`tokio::runtime::blocking::pool::Spawner::spawn_thread::_$u7b$$u7b$closure$u7d$$u7d$::h85055799f1079122 at pool.rs:471:13 - frame #71: 0x0000000101450fb0 ubuntu`std::sys_common::backtrace::__rust_begin_short_backtrace::hc00264b51514bc2a(f=) at backtrace.rs:154:18 - frame #72: 0x0000000101445cdc ubuntu`std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hf0c597d86743f4b0 at mod.rs:529:17 - frame #73: 0x00000001014a09f0 ubuntu`_$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h8e1e63be06f0c84a(self=, (null)=) at unwind_safe.rs:272:9 - frame #74: 0x0000000101456584 ubuntu`std::panicking::try::do_call::hce3444c785deac15(data="\U00000001") at panicking.rs:552:40 - frame #75: 0x0000000101455bb4 ubuntu`std::panicking::try::hdf0c5aa4f459a133(f=) at panicking.rs:516:19 - frame #76: 0x0000000101445c08 ubuntu`std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::h3869e60e8161d6b6 at panic.rs:142:14 - frame #77: 0x0000000101445c04 ubuntu`std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::h3869e60e8161d6b6 at mod.rs:528:30 - frame #78: 0x0000000101446144 ubuntu`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h079508b8f3dc0adc((null)=0x0000600000fc0040, (null)=) at function.rs:250:5 - frame #79: 0x00000001015b7334 ubuntu`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::ha50e0d33beaa94b5 at boxed.rs:2007:9 [opt] - frame #80: 0x00000001015b7328 ubuntu`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h320b0db4bb8e0440 at boxed.rs:2007:9 [opt] - frame #81: 0x00000001015b7324 ubuntu`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 at thread.rs:108:17 [opt] - frame #82: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 - thread #9, name = 'tokio-runtime-worker' - frame #0: 0x000000018c11c0ac libsystem_kernel.dylib`__psynch_cvwait + 8 - frame #1: 0x000000018c1595fc libsystem_pthread.dylib`_pthread_cond_wait + 1228 - frame #2: 0x0000000101124828 ubuntu`_$LT$parking_lot_core..thread_parker..imp..ThreadParker$u20$as$u20$parking_lot_core..thread_parker..ThreadParkerT$GT$::park::h81c3633b1efcc0d3(self=0x000000012a9064c8) at unix.rs:77:21 - frame #3: 0x0000000101125fd8 ubuntu`parking_lot_core::parking_lot::park::_$u7b$$u7b$closure$u7d$$u7d$::h86031eb220440ab6(thread_data=0x000000012a9064c8) at parking_lot.rs:635:17 - frame #4: 0x00000001011258b0 ubuntu`parking_lot_core::parking_lot::park::hf4b3e8965b659760 at parking_lot.rs:207:5 - frame #5: 0x000000010112586c ubuntu`parking_lot_core::parking_lot::park::hf4b3e8965b659760(key=5024852649, validate={closure_env#0} @ 0x0000000172824a00, before_sleep={closure_env#1} @ 0x0000000172824a0e, timed_out={closure_env#2} @ 0x0000000172824a0f, park_token=ParkToken @ 0x00000001728249c8, timeout=Option @ 0x00000001728249d0) at parking_lot.rs:600:5 - frame #6: 0x00000001015e2a10 ubuntu`dashmap::lock::RawRwLock::lock_shared_slow::h334165b2f5c9384b(self=0x000000012b812aa8) at lock.rs:270:21 - frame #7: 0x0000000100e41588 ubuntu`_$LT$dashmap..lock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_shared::h5de6b0427458a49d(self=0x000000012b812aa8) at lock.rs:62:13 - frame #8: 0x0000000100e68760 ubuntu`lock_api::rwlock::RwLock$LT$R$C$T$GT$::read::h608658d5ac4b6a2d(self=0x000000012b812aa8) at rwlock.rs:459:9 - frame #9: 0x0000000100e516e0 ubuntu`_$LT$dashmap..DashMap$LT$K$C$V$C$S$GT$$u20$as$u20$dashmap..t..Map$LT$K$C$V$C$S$GT$$GT$::_yield_read_shard::h84bc69d2d64a0791(self=0x000000012ac04f38, i=3) at lib.rs:891:9 - frame #10: 0x0000000100f16ba0 ubuntu`_$LT$dashmap..iter..Iter$LT$K$C$V$C$S$C$M$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$::next::hb1e9fda45c3f5907(self=0x0000000172825040) at iter.rs:174:34 - frame #11: 0x0000000100f16884 ubuntu`core::iter::traits::iterator::Iterator::fold::hb050bd376eb4851a(self=Iter> @ 0x0000000172825040, init=, f={closure_env#0} @ 0x0000000172824ed7) at iterator.rs:2639:29 - frame #12: 0x0000000100f25db8 ubuntu`librqbit::torrent_state::PeerStates::stats::_$u7b$$u7b$closure$u7d$$u7d$::hd59e6c38ca10527f at torrent_state.rs:83:13 - frame #13: 0x0000000100f16cd0 ubuntu`librqbit::torrent_state::PeerStates::stats::h19c78f686fc82ec4 [inlined] librqbit::torrent_state::timed_existence::timeit::he9134af8f822c0db(_n="PeerStates::stats", f={closure_env#0} @ 0x00000001728250e8) at torrent_state.rs:320:9 - frame #14: 0x0000000100f16ccc ubuntu`librqbit::torrent_state::PeerStates::stats::h19c78f686fc82ec4(self=0x000000012ac04f38) at torrent_state.rs:82:9 - frame #15: 0x0000000100f1e854 ubuntu`librqbit::torrent_state::TorrentState::stats_snapshot::hd1d23431a2423ac4(self=0x000000012ac04ea0) at torrent_state.rs:814:26 - frame #16: 0x0000000100d3ce18 ubuntu`ubuntu::main::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h83250063274c5a73((null)=0x00000001728259c0) at ubuntu.rs:58:29 - frame #17: 0x0000000100daf5a0 ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::_$u7b$$u7b$closure$u7d$$u7d$::h79917eeebd8da4bf(ptr=0x000000012a8054b0) at core.rs:328:17 - frame #18: 0x0000000100dae914 ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h4de5834817b41167 [inlined] tokio::loom::std::unsafe_cell::UnsafeCell$LT$T$GT$::with_mut::h814e071762dc01e7(self=0x000000012a8054b0, f={closure_env#0}> @ 0x00000001728259f8) at unsafe_cell.rs:16:9 - frame #19: 0x0000000100dae908 ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::h4de5834817b41167(self=0x000000012a8054a0, cx=Context @ 0x00000001728259c0) at core.rs:317:13 - frame #20: 0x0000000100d20fc0 ubuntu`tokio::runtime::task::harness::poll_future::_$u7b$$u7b$closure$u7d$$u7d$::h5dbac610dcd51c05 at harness.rs:485:19 - frame #21: 0x0000000100d2c850 ubuntu`_$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h9543cf5917c58f0a(self=AssertUnwindSafe>> @ 0x0000000172825a70, (null)=) at unwind_safe.rs:272:9 - frame #22: 0x0000000100d978c0 ubuntu`std::panicking::try::do_call::h787058153fa1937a(data="\xa0T\x80*\U00000001") at panicking.rs:552:40 - frame #23: 0x0000000100d956b0 ubuntu`std::panicking::try::ha4b80fdbe60b6612(f=AssertUnwindSafe>> @ 0x0000000172825b20) at panicking.rs:516:19 - frame #24: 0x0000000100dc30a0 ubuntu`std::panic::catch_unwind::hef8577e7fdc5ba02(f=AssertUnwindSafe>> @ 0x0000000172825b60) at panic.rs:142:14 - frame #25: 0x0000000100d20660 ubuntu`tokio::runtime::task::harness::poll_future::hd3f48a099c574665(core=0x000000012a8054a0, cx=Context @ 0x0000000172825c70) at harness.rs:473:18 - frame #26: 0x0000000100d22414 ubuntu`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll_inner::h633fce5e0d45add7(self=0x0000000172825d28) at harness.rs:208:27 - frame #27: 0x0000000100d2514c ubuntu`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h082197922e651306(self=Harness> @ 0x0000000172825d28) at harness.rs:153:15 - frame #28: 0x0000000100dc455c ubuntu`tokio::runtime::task::raw::poll::h88effb4e48acc935(ptr=NonNull @ 0x0000000172825d50) at raw.rs:271:5 - frame #29: 0x0000000101477900 ubuntu`tokio::runtime::task::raw::RawTask::poll::h1000d6912ad57420(self=RawTask @ 0x0000000172825d70) at raw.rs:201:18 - frame #30: 0x0000000101463ba8 ubuntu`tokio::runtime::task::LocalNotified$LT$S$GT$::run::h614d754e09832cad(self=LocalNotified> @ 0x0000000172825da0) at mod.rs:408:9 - frame #31: 0x0000000101491e18 ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::_$u7b$$u7b$closure$u7d$$u7d$::ha7f5ee623f6de024 at worker.rs:577:13 - frame #32: 0x0000000101491ddc ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h3a91c4bdfa345831 at coop.rs:107:5 - frame #33: 0x0000000101491dac ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h3a91c4bdfa345831 [inlined] tokio::runtime::coop::budget::h8d1d2f494ba6a7cb(f={closure_env#0} @ 0x0000000172825f30) at coop.rs:73:5 - frame #34: 0x0000000101491d88 ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h3a91c4bdfa345831(self=0x0000000172826260, task=Notified> @ 0x0000000172825f20, core=0x00006000039cc230) at worker.rs:576:9 - frame #35: 0x0000000101491b7c ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run::heaa445e39d3099a1(self=0x0000000172826260, core=0x00006000039cc230) at worker.rs:538:24 - frame #36: 0x0000000101491894 ubuntu`tokio::runtime::scheduler::multi_thread::worker::run::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h2b571f29a8f60888 at worker.rs:491:21 - frame #37: 0x0000000101483090 ubuntu`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::hf925c595bd252f01(self=0x000000012a906318, t=0x0000000172826258, f={closure_env#0} @ 0x00000001728260e8) at scoped.rs:40:9 - frame #38: 0x000000010144c988 ubuntu`tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::h0302d095e8b65143(c=0x000000012a9062e0) at context.rs:176:26 - frame #39: 0x000000010147ffa0 ubuntu`std::thread::local::LocalKey$LT$T$GT$::try_with::h6fb83be6e86818c6(self=0x0000000101766de8, f={closure_env#0}<(), tokio::runtime::scheduler::multi_thread::worker::run::{closure#0}::{closure_env#0}> @ 0x00000001728261f0) at local.rs:270:16 - frame #40: 0x000000010147eca4 ubuntu`std::thread::local::LocalKey$LT$T$GT$::with::h5dcf9435a259397f(self=0x0000000101766de8, f=) at local.rs:246:9 - frame #41: 0x000000010144c954 ubuntu`tokio::runtime::context::set_scheduler::h6b6f06a5ae3a93e1(v=0x0000000172826258, f={closure_env#0} @ 0x0000000172826210) at context.rs:176:9 - frame #42: 0x0000000101491848 ubuntu`tokio::runtime::scheduler::multi_thread::worker::run::_$u7b$$u7b$closure$u7d$$u7d$::hf0230b52cc3b88d3((null)=0x00000001728263c0) at worker.rs:486:9 - frame #43: 0x000000010145d464 ubuntu`tokio::runtime::context::runtime::enter_runtime::h7a46156447e47d54(handle=0x0000000172826458, allow_block_in_place=true, f={closure_env#0} @ 0x0000000172826400) at runtime.rs:65:16 - frame #44: 0x000000010149172c ubuntu`tokio::runtime::scheduler::multi_thread::worker::run::h4cf7d8d53344654d(worker=strong=1, weak=0) at worker.rs:478:5 - frame #45: 0x0000000100f165f0 ubuntu`tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hdcd0200f1ace3c10 at worker.rs:422:41 - frame #46: 0x0000000100ee9704 ubuntu`_$LT$tokio..runtime..blocking..task..BlockingTask$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h5e51c8253a97db96(self=Pin<&mut tokio::runtime::blocking::task::BlockingTask>>> @ 0x00000001728264b8, _cx=0x00000001728265c0) at task.rs:42:21 - frame #47: 0x0000000100ea6efc ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::_$u7b$$u7b$closure$u7d$$u7d$::hb7e35a417059b0ad(ptr=0x000000012ac06828) at core.rs:328:17 - frame #48: 0x0000000100ea50b0 ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd59079f2084d2a5c [inlined] tokio::loom::std::unsafe_cell::UnsafeCell$LT$T$GT$::with_mut::hd64ff7d14075f21c(self=0x000000012ac06828, f={closure_env#0}>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ 0x00000001728265f8) at unsafe_cell.rs:16:9 - frame #49: 0x0000000100ea50a4 ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd59079f2084d2a5c(self=0x000000012ac06820, cx=Context @ 0x00000001728265c0) at core.rs:317:13 - frame #50: 0x0000000100f4772c ubuntu`tokio::runtime::task::harness::poll_future::_$u7b$$u7b$closure$u7d$$u7d$::hb5f6e8c09d369fd1 at harness.rs:485:19 - frame #51: 0x0000000100ed04b0 ubuntu`_$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::he3ee8a4cae328095(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000000172826670, (null)=) at unwind_safe.rs:272:9 - frame #52: 0x0000000100e73aec ubuntu`std::panicking::try::do_call::h489a70e89d3ca1b6(data=" h\xc0*\U00000001") at panicking.rs:552:40 - frame #53: 0x0000000100e6e638 ubuntu`std::panicking::try::h5e0d069f0af730a8(f=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000000172826720) at panicking.rs:516:19 - frame #54: 0x0000000100ed34a8 ubuntu`std::panic::catch_unwind::h4669e6cae3323c93(f=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000000172826760) at panic.rs:142:14 - frame #55: 0x0000000100f442e8 ubuntu`tokio::runtime::task::harness::poll_future::h7d428e00030d2cfa(core=0x000000012ac06820, cx=Context @ 0x0000000172826870) at harness.rs:473:18 - frame #56: 0x0000000100f49700 ubuntu`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll_inner::h6b3fcd463fc98a43(self=0x0000000172826928) at harness.rs:208:27 - frame #57: 0x0000000100f4fa50 ubuntu`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h34abb3e8b9684af7(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ 0x0000000172826928) at harness.rs:153:15 - frame #58: 0x0000000100f0ef84 ubuntu`tokio::runtime::task::raw::poll::h30cae272b2c909e0(ptr=NonNull @ 0x0000000172826950) at raw.rs:271:5 - frame #59: 0x0000000101477900 ubuntu`tokio::runtime::task::raw::RawTask::poll::h1000d6912ad57420(self=RawTask @ 0x0000000172826970) at raw.rs:201:18 - frame #60: 0x0000000101463c2c ubuntu`tokio::runtime::task::UnownedTask$LT$S$GT$::run::hfc4dd67afb1a17b6(self=UnownedTask @ 0x00000001728269a0) at mod.rs:445:9 - frame #61: 0x000000010146ff54 ubuntu`tokio::runtime::blocking::pool::Task::run::hf0982e055b4d9b3d(self=Task @ 0x00000001728269c0) at pool.rs:159:9 - frame #62: 0x0000000101471428 ubuntu`tokio::runtime::blocking::pool::Inner::run::h613e034fcd5273c1(self=0x0000000129e052e0, worker_thread_id=26) at pool.rs:513:17 - frame #63: 0x00000001014712ac ubuntu`tokio::runtime::blocking::pool::Spawner::spawn_thread::_$u7b$$u7b$closure$u7d$$u7d$::h85055799f1079122 at pool.rs:471:13 - frame #64: 0x0000000101450fb0 ubuntu`std::sys_common::backtrace::__rust_begin_short_backtrace::hc00264b51514bc2a(f=) at backtrace.rs:154:18 - frame #65: 0x0000000101445cdc ubuntu`std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hf0c597d86743f4b0 at mod.rs:529:17 - frame #66: 0x00000001014a09f0 ubuntu`_$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h8e1e63be06f0c84a(self=, (null)=) at unwind_safe.rs:272:9 - frame #67: 0x0000000101456584 ubuntu`std::panicking::try::do_call::hce3444c785deac15(data="\U00000001") at panicking.rs:552:40 - frame #68: 0x0000000101455bb4 ubuntu`std::panicking::try::hdf0c5aa4f459a133(f=) at panicking.rs:516:19 - frame #69: 0x0000000101445c08 ubuntu`std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::h3869e60e8161d6b6 at panic.rs:142:14 - frame #70: 0x0000000101445c04 ubuntu`std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::h3869e60e8161d6b6 at mod.rs:528:30 - frame #71: 0x0000000101446144 ubuntu`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h079508b8f3dc0adc((null)=0x0000600000fc4700, (null)=) at function.rs:250:5 - frame #72: 0x00000001015b7334 ubuntu`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::ha50e0d33beaa94b5 at boxed.rs:2007:9 [opt] - frame #73: 0x00000001015b7328 ubuntu`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h320b0db4bb8e0440 at boxed.rs:2007:9 [opt] - frame #74: 0x00000001015b7324 ubuntu`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 at thread.rs:108:17 [opt] - frame #75: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136 - thread #10, name = 'tokio-runtime-worker' - frame #0: 0x000000018c11c0ac libsystem_kernel.dylib`__psynch_cvwait + 8 - frame #1: 0x000000018c1595fc libsystem_pthread.dylib`_pthread_cond_wait + 1228 - frame #2: 0x0000000101124828 ubuntu`_$LT$parking_lot_core..thread_parker..imp..ThreadParker$u20$as$u20$parking_lot_core..thread_parker..ThreadParkerT$GT$::park::h81c3633b1efcc0d3(self=0x0000000129e09668) at unix.rs:77:21 - frame #3: 0x0000000101125b50 ubuntu`parking_lot_core::parking_lot::park::_$u7b$$u7b$closure$u7d$$u7d$::h18f410baacc0559c(thread_data=0x0000000129e09668) at parking_lot.rs:635:17 - frame #4: 0x0000000101125974 ubuntu`parking_lot_core::parking_lot::park::hffd40fb41585b576 at parking_lot.rs:207:5 - frame #5: 0x0000000101125930 ubuntu`parking_lot_core::parking_lot::park::hffd40fb41585b576(key=5024852648, validate={closure_env#0} @ 0x0000000172c327f0, before_sleep={closure_env#1} @ 0x0000000172c327fe, timed_out={closure_env#2} @ 0x0000000172c327ff, park_token=ParkToken @ 0x0000000172c327b8, timeout=Option @ 0x0000000172c327c0) at parking_lot.rs:600:5 - frame #6: 0x00000001015e23e4 ubuntu`dashmap::lock::RawRwLock::lock_exclusive_slow::hb412df9abc0204f0(self=0x000000012b812aa8) at lock.rs:127:21 - frame #7: 0x0000000100e4165c ubuntu`_$LT$dashmap..lock..RawRwLock$u20$as$u20$lock_api..rwlock..RawRwLock$GT$::lock_exclusive::h8ead4ac4d98471f7(self=0x000000012b812aa8) at lock.rs:39:13 - frame #8: 0x0000000100e68820 ubuntu`lock_api::rwlock::RwLock$LT$R$C$T$GT$::write::hc4e7fe16952d8032(self=0x000000012b812aa8) at rwlock.rs:491:9 - frame #9: 0x0000000100e51764 ubuntu`_$LT$dashmap..DashMap$LT$K$C$V$C$S$GT$$u20$as$u20$dashmap..t..Map$LT$K$C$V$C$S$GT$$GT$::_yield_write_shard::h971feeadba981b7d(self=0x000000012ac04f38, i=3) at lib.rs:897:9 - frame #10: 0x0000000100e51bcc ubuntu`_$LT$dashmap..DashMap$LT$K$C$V$C$S$GT$$u20$as$u20$dashmap..t..Map$LT$K$C$V$C$S$GT$$GT$::_get_mut::hc1bddeaceb84f34a(self=0x000000012ac04f38, key=0x0000000172c32b90) at lib.rs:1037:30 - frame #11: 0x0000000100e51658 ubuntu`dashmap::DashMap$LT$K$C$V$C$S$GT$::get_mut::h96e2ddc143de3c77(self=0x000000012ac04f38, key=0x0000000172c32b90) at lib.rs:595:9 - frame #12: 0x0000000100f26948 ubuntu`librqbit::torrent_state::PeerStates::with_peer_mut::_$u7b$$u7b$closure$u7d$$u7d$::hc8aa11de2fa81c71 at torrent_state.rs:118:27 - frame #13: 0x0000000100f26750 ubuntu`librqbit::torrent_state::PeerStates::with_peer_mut::he509a74b0af1a29d [inlined] librqbit::torrent_state::timed_existence::timeit::hfd902a2f8ad09d07(_n="reset_peer_backoff", f={closure_env#0}<(), librqbit::torrent_state::{impl#0}::reset_peer_backoff::{closure_env#0}> @ 0x0000000172c32b60) at torrent_state.rs:320:9 - frame #14: 0x0000000100f2674c ubuntu`librqbit::torrent_state::PeerStates::with_peer_mut::he509a74b0af1a29d(self=0x000000012ac04f38, addr=, reason="reset_peer_backoff", f={closure_env#0} @ 0x0000000172c32b4f) at torrent_state.rs:118:9 - frame #15: 0x0000000100f170d4 ubuntu`librqbit::torrent_state::PeerStates::reset_peer_backoff::ha633931ec2b2dfc2(self=0x000000012ac04f38, handle=) at torrent_state.rs:187:9 - frame #16: 0x0000000100f2f7bc ubuntu`librqbit::torrent_state::PeerHandler::on_received_piece::_$u7b$$u7b$closure$u7d$$u7d$::hc462ed89ec5b7416 at torrent_state.rs:1292:29 - frame #17: 0x0000000100efc118 ubuntu`tokio::runtime::context::runtime_mt::exit_runtime::h36289c34cbb792cc(f={closure_env#2} @ 0x0000000172c342c0) at runtime_mt.rs:35:5 - frame #18: 0x0000000100f15ce8 ubuntu`tokio::runtime::scheduler::multi_thread::worker::block_in_place::h371a12fb5f797b5b(f={closure_env#2} @ 0x0000000172c342c0) at worker.rs:438:9 - frame #19: 0x0000000100efc8fc ubuntu`tokio::runtime::scheduler::block_in_place::block_in_place::h49e3226cebf17b1b(f=) at block_in_place.rs:20:5 - frame #20: 0x0000000100ef6ec8 ubuntu`tokio::task::blocking::block_in_place::ha149fbe3163f3299(f=) at blocking.rs:78:9 - frame #21: 0x0000000100ebeddc ubuntu`librqbit::spawn_utils::BlockingSpawner::spawn_block_in_place::h85643b434b030ed1(self=0x000000012d01a2b8, f={closure_env#2} @ 0x0000000172c342c0) at spawn_utils.rs:35:20 - frame #22: 0x0000000100f25080 ubuntu`librqbit::torrent_state::PeerHandler::on_received_piece::hfc76de485b1e69e4(self=0x000000012d01a290, handle=SocketAddr @ 0x0000000172c34b00, piece=Piece @ 0x0000000172c34ae0) at torrent_state.rs:1241:9 - frame #23: 0x0000000100f1ed9c ubuntu`_$LT$librqbit..torrent_state..PeerHandler$u20$as$u20$librqbit..peer_connection..PeerConnectionHandler$GT$::on_received_message::hcc2c1a998973e6ea(self=0x000000012d01a290, message=Message @ 0x0000000172c36308) at torrent_state.rs:860:38 - frame #24: 0x0000000100ec903c ubuntu`librqbit::peer_connection::PeerConnection$LT$H$GT$::manage_peer::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hd19286c0558488e9((null)=0x0000000172c3d9c0) at peer_connection.rs:270:17 - frame #25: 0x0000000100eca618 ubuntu`librqbit::peer_connection::PeerConnection$LT$H$GT$::manage_peer::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hdf7259baa4ab1268(cx=0x0000000172c3d9c0) at select.rs:524:49 - frame #26: 0x0000000100e5dac4 ubuntu`_$LT$tokio..future..poll_fn..PollFn$LT$F$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h598619c9121a1021(self=Pin<&mut tokio::future::poll_fn::PollFn>> @ 0x0000000172c36790, cx=0x0000000172c3d9c0) at poll_fn.rs:58:9 - frame #27: 0x0000000100ec62f4 ubuntu`librqbit::peer_connection::PeerConnection$LT$H$GT$::manage_peer::_$u7b$$u7b$closure$u7d$$u7d$::hbde87e7c4a75cde5((null)=0x0000000172c3d9c0) at peer_connection.rs:285:17 - frame #28: 0x0000000100f285a0 ubuntu`librqbit::torrent_state::TorrentState::task_manage_peer::_$u7b$$u7b$closure$u7d$$u7d$::hea04718635b021e0((null)=0x0000000172c3d9c0) at torrent_state.rs:462:51 - frame #29: 0x0000000100eb6a58 ubuntu`librqbit::spawn_utils::spawn::_$u7b$$u7b$closure$u7d$$u7d$::h22a15ea7de950e84((null)=0x0000000172c3d9c0) at spawn_utils.rs:9:19 - frame #30: 0x0000000100f37ad4 ubuntu`_$LT$tracing..instrument..Instrumented$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::hf306b1b8f8b746ec(self=Pin<&mut tracing::instrument::Instrumented>> @ 0x0000000172c3d7b0, cx=0x0000000172c3d9c0) at instrument.rs:321:9 - frame #31: 0x0000000100e5c764 ubuntu`_$LT$core..pin..Pin$LT$P$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h75c2f3181b0cf1aa(self=Pin<&mut core::pin::Pin>, alloc::alloc::Global>>> @ 0x0000000172c3d8b8, cx=0x0000000172c3d9c0) at future.rs:125:9 - frame #32: 0x0000000100ea616c ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::_$u7b$$u7b$closure$u7d$$u7d$::h5e7de2bf5eee2830(ptr=0x000000012a905630) at core.rs:328:17 - frame #33: 0x0000000100ea4ef4 ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hc59bc6d6b6e00c95 [inlined] tokio::loom::std::unsafe_cell::UnsafeCell$LT$T$GT$::with_mut::h6f1eac3b5cc2f9fc(self=0x000000012a905630, f={closure_env#0}>, alloc::alloc::Global>>, alloc::sync::Arc> @ 0x0000000172c3d9f8) at unsafe_cell.rs:16:9 - frame #34: 0x0000000100ea4ee8 ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hc59bc6d6b6e00c95(self=0x000000012a905620, cx=Context @ 0x0000000172c3d9c0) at core.rs:317:13 - frame #35: 0x0000000100f46a7c ubuntu`tokio::runtime::task::harness::poll_future::_$u7b$$u7b$closure$u7d$$u7d$::h1ac58a34f257fa4e at harness.rs:485:19 - frame #36: 0x0000000100ecf5a8 ubuntu`_$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h65267074a1338221(self=AssertUnwindSafe>, alloc::alloc::Global>>, alloc::sync::Arc>> @ 0x0000000172c3da70, (null)=) at unwind_safe.rs:272:9 - frame #37: 0x0000000100e75468 ubuntu`std::panicking::try::do_call::ha519f6d3905eb2d3(data=" V\x90*\U00000001") at panicking.rs:552:40 - frame #38: 0x0000000100e72540 ubuntu`std::panicking::try::hf6253d263edac0a7(f=AssertUnwindSafe>, alloc::alloc::Global>>, alloc::sync::Arc>> @ 0x0000000172c3db20) at panicking.rs:516:19 - frame #39: 0x0000000100ed36a8 ubuntu`std::panic::catch_unwind::h5882a801edf9c0d0(f=AssertUnwindSafe>, alloc::alloc::Global>>, alloc::sync::Arc>> @ 0x0000000172c3db60) at panic.rs:142:14 - frame #40: 0x0000000100f45c10 ubuntu`tokio::runtime::task::harness::poll_future::hd86755375ddf0d4a(core=0x000000012a905620, cx=Context @ 0x0000000172c3dc70) at harness.rs:473:18 - frame #41: 0x0000000100f48b9c ubuntu`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll_inner::h37fc87829deea2a7(self=0x0000000172c3dd28) at harness.rs:208:27 - frame #42: 0x0000000100f50188 ubuntu`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h7332793119460ed4(self=Harness>, alloc::alloc::Global>>, alloc::sync::Arc> @ 0x0000000172c3dd28) at harness.rs:153:15 - frame #43: 0x0000000100f0f104 ubuntu`tokio::runtime::task::raw::poll::h51db310fbcdeebd3(ptr=NonNull @ 0x0000000172c3dd50) at raw.rs:271:5 - frame #44: 0x0000000101477900 ubuntu`tokio::runtime::task::raw::RawTask::poll::h1000d6912ad57420(self=RawTask @ 0x0000000172c3dd70) at raw.rs:201:18 - frame #45: 0x0000000101463ba8 ubuntu`tokio::runtime::task::LocalNotified$LT$S$GT$::run::h614d754e09832cad(self=LocalNotified> @ 0x0000000172c3dda0) at mod.rs:408:9 - frame #46: 0x0000000101491e18 ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::_$u7b$$u7b$closure$u7d$$u7d$::ha7f5ee623f6de024 at worker.rs:577:13 - frame #47: 0x0000000101491ddc ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h3a91c4bdfa345831 at coop.rs:107:5 - frame #48: 0x0000000101491dac ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h3a91c4bdfa345831 [inlined] tokio::runtime::coop::budget::h8d1d2f494ba6a7cb(f={closure_env#0} @ 0x0000000172c3df30) at coop.rs:73:5 - frame #49: 0x0000000101491d88 ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run_task::h3a91c4bdfa345831(self=0x0000000172c3e260, task=Notified> @ 0x0000000172c3df20, core=0x00006000039cc2d0) at worker.rs:576:9 - frame #50: 0x0000000101491a84 ubuntu`tokio::runtime::scheduler::multi_thread::worker::Context::run::heaa445e39d3099a1(self=0x0000000172c3e260, core=0x00006000039cc2d0) at worker.rs:526:24 - frame #51: 0x0000000101491894 ubuntu`tokio::runtime::scheduler::multi_thread::worker::run::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h2b571f29a8f60888 at worker.rs:491:21 - frame #52: 0x0000000101483090 ubuntu`tokio::runtime::context::scoped::Scoped$LT$T$GT$::set::hf925c595bd252f01(self=0x0000000129e094b8, t=0x0000000172c3e258, f={closure_env#0} @ 0x0000000172c3e0e8) at scoped.rs:40:9 - frame #53: 0x000000010144c988 ubuntu`tokio::runtime::context::set_scheduler::_$u7b$$u7b$closure$u7d$$u7d$::h0302d095e8b65143(c=0x0000000129e09480) at context.rs:176:26 - frame #54: 0x000000010147ffa0 ubuntu`std::thread::local::LocalKey$LT$T$GT$::try_with::h6fb83be6e86818c6(self=0x0000000101766de8, f={closure_env#0}<(), tokio::runtime::scheduler::multi_thread::worker::run::{closure#0}::{closure_env#0}> @ 0x0000000172c3e1f0) at local.rs:270:16 - frame #55: 0x000000010147eca4 ubuntu`std::thread::local::LocalKey$LT$T$GT$::with::h5dcf9435a259397f(self=0x0000000101766de8, f=) at local.rs:246:9 - frame #56: 0x000000010144c954 ubuntu`tokio::runtime::context::set_scheduler::h6b6f06a5ae3a93e1(v=0x0000000172c3e258, f={closure_env#0} @ 0x0000000172c3e210) at context.rs:176:9 - frame #57: 0x0000000101491848 ubuntu`tokio::runtime::scheduler::multi_thread::worker::run::_$u7b$$u7b$closure$u7d$$u7d$::hf0230b52cc3b88d3((null)=0x0000000172c3e3c0) at worker.rs:486:9 - frame #58: 0x000000010145d464 ubuntu`tokio::runtime::context::runtime::enter_runtime::h7a46156447e47d54(handle=0x0000000172c3e458, allow_block_in_place=true, f={closure_env#0} @ 0x0000000172c3e400) at runtime.rs:65:16 - frame #59: 0x000000010149172c ubuntu`tokio::runtime::scheduler::multi_thread::worker::run::h4cf7d8d53344654d(worker=strong=2, weak=0) at worker.rs:478:5 - frame #60: 0x0000000100f165f0 ubuntu`tokio::runtime::scheduler::multi_thread::worker::block_in_place::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hdcd0200f1ace3c10 at worker.rs:422:41 - frame #61: 0x0000000100ee9704 ubuntu`_$LT$tokio..runtime..blocking..task..BlockingTask$LT$T$GT$$u20$as$u20$core..future..future..Future$GT$::poll::h5e51c8253a97db96(self=Pin<&mut tokio::runtime::blocking::task::BlockingTask>>> @ 0x0000000172c3e4b8, _cx=0x0000000172c3e5c0) at task.rs:42:21 - frame #62: 0x0000000100ea6efc ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::_$u7b$$u7b$closure$u7d$$u7d$::hb7e35a417059b0ad(ptr=0x0000000129e07328) at core.rs:328:17 - frame #63: 0x0000000100ea50b0 ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd59079f2084d2a5c [inlined] tokio::loom::std::unsafe_cell::UnsafeCell$LT$T$GT$::with_mut::hd64ff7d14075f21c(self=0x0000000129e07328, f={closure_env#0}>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ 0x0000000172c3e5f8) at unsafe_cell.rs:16:9 - frame #64: 0x0000000100ea50a4 ubuntu`tokio::runtime::task::core::Core$LT$T$C$S$GT$::poll::hd59079f2084d2a5c(self=0x0000000129e07320, cx=Context @ 0x0000000172c3e5c0) at core.rs:317:13 - frame #65: 0x0000000100f4772c ubuntu`tokio::runtime::task::harness::poll_future::_$u7b$$u7b$closure$u7d$$u7d$::hb5f6e8c09d369fd1 at harness.rs:485:19 - frame #66: 0x0000000100ed04b0 ubuntu`_$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::he3ee8a4cae328095(self=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000000172c3e670, (null)=) at unwind_safe.rs:272:9 - frame #67: 0x0000000100e73aec ubuntu`std::panicking::try::do_call::h489a70e89d3ca1b6(data=" s\xe0)\U00000001") at panicking.rs:552:40 - frame #68: 0x0000000100e6e638 ubuntu`std::panicking::try::h5e0d069f0af730a8(f=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000000172c3e720) at panicking.rs:516:19 - frame #69: 0x0000000100ed34a8 ubuntu`std::panic::catch_unwind::h4669e6cae3323c93(f=AssertUnwindSafe>>, tokio::runtime::blocking::schedule::BlockingSchedule>> @ 0x0000000172c3e760) at panic.rs:142:14 - frame #70: 0x0000000100f442e8 ubuntu`tokio::runtime::task::harness::poll_future::h7d428e00030d2cfa(core=0x0000000129e07320, cx=Context @ 0x0000000172c3e870) at harness.rs:473:18 - frame #71: 0x0000000100f49700 ubuntu`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll_inner::h6b3fcd463fc98a43(self=0x0000000172c3e928) at harness.rs:208:27 - frame #72: 0x0000000100f4fa50 ubuntu`tokio::runtime::task::harness::Harness$LT$T$C$S$GT$::poll::h34abb3e8b9684af7(self=Harness>>, tokio::runtime::blocking::schedule::BlockingSchedule> @ 0x0000000172c3e928) at harness.rs:153:15 - frame #73: 0x0000000100f0ef84 ubuntu`tokio::runtime::task::raw::poll::h30cae272b2c909e0(ptr=NonNull @ 0x0000000172c3e950) at raw.rs:271:5 - frame #74: 0x0000000101477900 ubuntu`tokio::runtime::task::raw::RawTask::poll::h1000d6912ad57420(self=RawTask @ 0x0000000172c3e970) at raw.rs:201:18 - frame #75: 0x0000000101463c2c ubuntu`tokio::runtime::task::UnownedTask$LT$S$GT$::run::hfc4dd67afb1a17b6(self=UnownedTask @ 0x0000000172c3e9a0) at mod.rs:445:9 - frame #76: 0x000000010146ff54 ubuntu`tokio::runtime::blocking::pool::Task::run::hf0982e055b4d9b3d(self=Task @ 0x0000000172c3e9c0) at pool.rs:159:9 - frame #77: 0x0000000101471428 ubuntu`tokio::runtime::blocking::pool::Inner::run::h613e034fcd5273c1(self=0x0000000129e052e0, worker_thread_id=28) at pool.rs:513:17 - frame #78: 0x00000001014712ac ubuntu`tokio::runtime::blocking::pool::Spawner::spawn_thread::_$u7b$$u7b$closure$u7d$$u7d$::h85055799f1079122 at pool.rs:471:13 - frame #79: 0x0000000101450fb0 ubuntu`std::sys_common::backtrace::__rust_begin_short_backtrace::hc00264b51514bc2a(f=) at backtrace.rs:154:18 - frame #80: 0x0000000101445cdc ubuntu`std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::hf0c597d86743f4b0 at mod.rs:529:17 - frame #81: 0x00000001014a09f0 ubuntu`_$LT$core..panic..unwind_safe..AssertUnwindSafe$LT$F$GT$$u20$as$u20$core..ops..function..FnOnce$LT$$LP$$RP$$GT$$GT$::call_once::h8e1e63be06f0c84a(self=, (null)=) at unwind_safe.rs:272:9 - frame #82: 0x0000000101456584 ubuntu`std::panicking::try::do_call::hce3444c785deac15(data="\U00000001") at panicking.rs:552:40 - frame #83: 0x0000000101455bb4 ubuntu`std::panicking::try::hdf0c5aa4f459a133(f=) at panicking.rs:516:19 - frame #84: 0x0000000101445c08 ubuntu`std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::h3869e60e8161d6b6 at panic.rs:142:14 - frame #85: 0x0000000101445c04 ubuntu`std::thread::Builder::spawn_unchecked_::_$u7b$$u7b$closure$u7d$$u7d$::h3869e60e8161d6b6 at mod.rs:528:30 - frame #86: 0x0000000101446144 ubuntu`core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h079508b8f3dc0adc((null)=0x0000600000fc4ac0, (null)=) at function.rs:250:5 - frame #87: 0x00000001015b7334 ubuntu`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::ha50e0d33beaa94b5 at boxed.rs:2007:9 [opt] - frame #88: 0x00000001015b7328 ubuntu`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 [inlined] _$LT$alloc..boxed..Box$LT$F$C$A$GT$$u20$as$u20$core..ops..function..FnOnce$LT$Args$GT$$GT$::call_once::h320b0db4bb8e0440 at boxed.rs:2007:9 [opt] - frame #89: 0x00000001015b7324 ubuntu`std::sys::unix::thread::Thread::new::thread_start::hc8d37e25d4657683 at thread.rs:108:17 [opt] - frame #90: 0x000000018c159034 libsystem_pthread.dylib`_pthread_start + 136