Hello hosters.
As there was a master server crash yesterday (a usually rare event but it has happened 4 times in the past couple of months) I was investigating how that could have happened.
Anyway, I still don't really know how it can crash, though I have cleaned up a certain function to make it safer and we have added debugging in order to catch the crash if it does happen again.
But what this post is really about is that while updating the master I did discover and fix one issue that did affect any hosts which had more than 24 users connected, if the master was restarted for any reason (manually for an update or automatically after a crash). There was a statistics packet sent to the master and this exceeded the maximum allowed packet size, causing the master to close the connection to that host.
The result of this error was that if the master was ever restarted (or crashed) then any host with more than 24 users would be unable to connect to the master, until later on when enough users disconnected. This bug has been there ever since LFS was upgraded to allow 48 connections.
That is fixed now but I heard that this affected some league races recently and I want to say sorry for that because it was quite a silly bug, to have created a large packet several versions ago, without checking that the packet receive function could handle it. Anyway it is now fixed on the master which can now handle any incoming packets safely.
As there was a master server crash yesterday (a usually rare event but it has happened 4 times in the past couple of months) I was investigating how that could have happened.
Anyway, I still don't really know how it can crash, though I have cleaned up a certain function to make it safer and we have added debugging in order to catch the crash if it does happen again.
But what this post is really about is that while updating the master I did discover and fix one issue that did affect any hosts which had more than 24 users connected, if the master was restarted for any reason (manually for an update or automatically after a crash). There was a statistics packet sent to the master and this exceeded the maximum allowed packet size, causing the master to close the connection to that host.
The result of this error was that if the master was ever restarted (or crashed) then any host with more than 24 users would be unable to connect to the master, until later on when enough users disconnected. This bug has been there ever since LFS was upgraded to allow 48 connections.
That is fixed now but I heard that this affected some league races recently and I want to say sorry for that because it was quite a silly bug, to have created a large packet several versions ago, without checking that the packet receive function could handle it. Anyway it is now fixed on the master which can now handle any incoming packets safely.