Open slingamn opened 4 years ago
The window in which this race can occur was increased by #694, which moved hostname lookup to the end of registration (between the reattach and the RPL_WELCOME). I think I can move this around slightly as a mitigation.
This still exists, but shouldn't be too pressing (the critical period should be much shorter now).
I'm not very worried about this anymore, so taking it out of the 2.1 milestone.
Reattach and resume immediately attach your session to the preexisting client object. This means that the session is immediately "subscribed" to all channel events, including JOIN and PRIVMSG lines --- this can happen even before the registration burst (with RPL_WELCOME) is transmitted.
This race is going to be fairly common under certain circumstances (i restarted nginx, which resulted in a rapid succession of JOIN lines as people rejoined), and it crashed bitbot. This seems like something to avoid, although it's not immediately clear to me how to avoid it without performance degradation.