Sometimes we get stuck in a busy loop here:
whileself.conn.lock().unwrap().block_disconnect_socket{
thread::yield_now();}I think this is caused by one of the two places that has the following structure:
ifletErr(e) = peer_manager.write_buffer_space_avail(&mut our_descriptor){shutdown_socket!(e,Disconnect::CloseConnection);}
us.lock().unwrap().block_disconnect_socket = false;since shutdown_socket! jumps out of the surrounding loop.
The last log entry was:
2021-06-13 17:01:03 TRACE [lightning::ln::peer_handler:1370] Disconnecting peer with id 03cef01527340b029e2b4a6293b98190e4e51b7c07b5e49b6412a7d4edd3b0d03d due to ping timeout
Sometimes we get stuck in a busy loop here:
I think this is caused by one of the two places that has the following structure:
since
shutdown_socket!jumps out of the surrounding loop.The last log entry was:
2021-06-13 17:01:03 TRACE [lightning::ln::peer_handler:1370] Disconnecting peer with id 03cef01527340b029e2b4a6293b98190e4e51b7c07b5e49b6412a7d4edd3b0d03d due to ping timeout