Closed jespertheend closed 11 months ago
Actually now that I think about it this is probably just main thread and arena worker not being synced
The weird thing is that the logs also say Uncaught (in worker "")
, which seems to suggest that an error was thrown from inside the worker. Yet 'the tile points to a non existent' errors are only being thrown by the main thread.
Hmm I think I see what's going on. The main thread has a TypedMessage handler called notifyAreasFilled
which is fired from within the worker. This in turn fires onRectFilled
callbacks, causing getTileTypeForMessage
to throw inside one of these callbacks. The TypedMessenger then catches the error and sends it to the worker, causing it to be thrown from inside the worker.
This seems fixed now
This is the only issue that really seems to crash the server right now. The last error from the log below keeps getting logged until the process is killed by the OOM killer for some reason. The error makes sense, it just tries to send the playing area to everyone who connects. But I'm not sure where the memory leak comes from.
Either way, we should either:
The first option is preferred, but the second option could be a good short term solution.