The hard-to-catch bug in LittleBigPlanet
Author of the original post in Russian: HotWaterMusic
The history of the world's gamedev knows quite a few curious bugs that had to be tackled by developers. In fact, judging from the story that Media Molecule's CTO Alex Evans shared on his Twitter page this past weekend, many legends are still waiting to be heard. Evans is famous for his part in a demoscene performance of late 1990s and his work on the LittleBigPlanet game series and on Rag Doll Kung Fu.
The case I am referring to in this article took place ten years ago, in 2008. While working on the first part of LittleBigPlanet — an original puzzle platform video game that was to be released exclusively for PlayStation 3 — the company's developers came across a really hard-to-catch bug.
Normally, for a game to get the green light to be released for consoles, it needs to pass a certification process, i.e. meet a set of requirements predefined by the platform owner. The certification may also include more specific requirements, such as the game running smoothly without crashing for 24 hours.
The development of LittleBigPlanet was at its last stage, with just two weeks to final deployment and distribution. Suddenly a tester from the company's QA in Japan reported that the game was consistently crashing when left overnight. Now the release was evidently out of question unless the bug was fixed.
Time went by, yet the team was failing to replicate the bug. It took them several days to make sure that the developers' and testers' SDKs were identical, i.e. they worked with similar hardware, the same version of the operating system and had identical environment configuration. Because of the time zone lag, each attempt at replicating the bug took over 24 hours, which did not help to relieve the pressure.
Upon further investigation, the developers found out that the tester's SDK included an EveToy digital camera that was recording the audio, although this discovery itself did not serve any purpose. Finally, someone noticed a funny pattern: each crash happened at exactly the same time — 4 am. But what on earth could have been happening in Japan at 4 am?
The answer came unexpected: it was the cleaners who diligently attended to their duties. The game had a built-in voice chat with the game characters' lips synchronized with any talking that the players could do when in multi-player mode. While the cleaners were doing their job, a vacuum cleaner was working beside the sound-recording EyeToy camera. The compression of the chat audio generated a leakage of several bytes of memory, which was curiously happening only when recording white noise. So it took an hour of vacuum cleaning to guarantee another crash.
It is no wonder then, that when Media Molecule tried reproducing this bug at their office using a radio tuned in to white noise, they succeeded on the first try. As a result, it took the developers just about five minutes to fix this bug, although the memory of it persisted even ten years later.