Is there an existing issue for this?
- I have searched the existing issues
Current behaviour
There is a bug in net_processing.cpp logic. We might be m_protect=true because that feature sees us as unsynced (easy to simulate/spoof by an adversary) Or this is actually possible:
0 if (state == nullptr) return; // shouldn't be possible, but just in case
Secondly something sets fDisconnect=true (could be anything) So basically we kind of accumulate 200 remote bitcoins connected to us which want to disconnect from us but simultaneously can’t. I mean on the live network we have 200 uploader slots so 200 bitcoins become connected to us who really can’t disconnect from us. Kind of silly bug in bitcoin. fDisconnect=true kills any messages to us except ping. m_protect=true (theoretically kills the actual disconnect)
Expected behaviour
Eventually the remote bitcoin should disconnect from us anyway, as we consume it’s slot forever.
Steps to reproduce
- Adversary connects to Bitcoin
- Stays connected to bitcoin forever.
Relevant log output
No response
How did you obtain Bitcoin Core
Compiled from source
What version of Bitcoin Core are you using?
25
Operating system and version
ubuntu
Machine specifications
No response