mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-11 06:28:31 +01:00
fuzz: p2p: Detect peer deadlocks
This commit is contained in:
@@ -78,13 +78,17 @@ FUZZ_TARGET(process_messages, .init = initialize_process_messages)
|
||||
|
||||
connman.FlushSendBuffer(random_node);
|
||||
(void)connman.ReceiveMsgFrom(random_node, std::move(net_msg));
|
||||
random_node.fPauseSend = false;
|
||||
|
||||
try {
|
||||
connman.ProcessMessagesOnce(random_node);
|
||||
} catch (const std::ios_base::failure&) {
|
||||
bool more_work{true};
|
||||
while (more_work) { // Ensure that every message is eventually processed in some way or another
|
||||
random_node.fPauseSend = false;
|
||||
|
||||
try {
|
||||
more_work = connman.ProcessMessagesOnce(random_node);
|
||||
} catch (const std::ios_base::failure&) {
|
||||
}
|
||||
g_setup->m_node.peerman->SendMessages(&random_node);
|
||||
}
|
||||
g_setup->m_node.peerman->SendMessages(&random_node);
|
||||
}
|
||||
SyncWithValidationInterfaceQueue();
|
||||
g_setup->m_node.connman->StopNodes();
|
||||
|
||||
Reference in New Issue
Block a user