I've been looking at the peer connection behavior in the Bitcoin Core peer-to-peer network code, identified a half dozen issues, and proposed fixes for them along with the logging improvements that helped uncover them:
Anyone interested to review or test is very welcome to do so. A big thank you to Vasil Dimov for his initial review.