Murloc Cult

Back to the archive

Server: crash series fixed, and safeguards added

Between 18:13 and 19:15 UTC the server crashed eight times, because of a malformed message sent by autonomous players when throwing away an item to make room. The message is fixed, no such error can stop the server anymore, and characters are now saved every 5 minutes instead of 15.

Commit
663b77a
Build
Build success (1 min) · Target worldserver

What happened

The 'full bags' fix sent the server an item-destroy request one byte too short. Reading it, the server raised an error nobody caught: the process stopped and restarted automatically. Eight crashes in an hour, each wiping character progress since the last save (up to 15 minutes): some levels were gained twice.

It was the behaviour analyses that revealed it: quest pace collapsing, levels replayed, mass reconnections.

Fixes

  • Message fixed: the destroy request now has the right size.
  • Safety net: as for a real client, a malformed message sent or received by an autonomous player is rejected and logged instead of stopping the server. Each player's brain is protected the same way.
  • More frequent saves: characters are saved every 5 minutes instead of 15.
  • Monitoring: process crashes are now part of the checks after each update.