Test Details Overview

Avoid tcp channel close deadlock (#5079)

* Avoid tcp channel close deadlock

Swap the channel set out from under tcp_channels::mutex before closing entries. This avoids holding the mutex while close paths block on io_context shutdown.

* Avoid mutex nesting in bootstrap maintenance

Rename the cleanup loop and thread to maintenance since it now handles broader periodic work. Snapshot bootstrap channels without holding the bootstrap mutex before syncing peer scoring, avoiding network mutex nesting under the bootstrap lock.

__________

Type: commit

Hash: 96aa784aecc0242157985579a937bc7075fa2b59

Created: 2 day(s) ago

__________

gr0v1ty/nano-node:96aa784aecc0242157985579a937bc7075fa2b59

Test Results

Test Case Status Duration Median Deviation Log Graph
5n4pr_conf_10k_bintree PASS 105 s -4.0 s - Show
5n4pr_conf_10k_change PASS 189 s 0.0 s - Show
5n4pr_conf_change_dependant PASS 106 s -4.0 s - -
5n4pr_conf_change_independant PASS 125 s 15.0 s - -
5n4pr_conf_send_dependant PASS 111 s 0.0 s - -
5n4pr_conf_send_independant PASS 103 s -8.0 s - -
5n4pr_rocks_10k_bintree PASS 106 s -6.0 s - -
5n4pr_rocks_10k_change PASS 146 s -21.0 s - -