Many software programs have suffered malfunctions because they did not realize that there could be another day in the year.
Published
Update
Reading time: 4 min
The event surprised many residents of Paris. During the night of Wednesday February 28 to Thursday February 29, most of the streets of the capital found themselves without public lighting, as reported by Internet users. A shame for the “city of lights”.
The cause: neither a cyberattack nor a test for the Paris Olympic Games, but a simple bug linked to the date. “The Cielis operator told us that the problem was linked to a programming fault regarding February 29 in leap years”explained the town hall to Parisian. The explanation sparked ridicule. But it is indeed a known and widespread bug that causes numerous problems around the world every four years. And 2024 was no exception.
Cases all over the world
In New Zealand, self-service fuel pumps were paralyzed across the country for more than ten hours, for all brands of fuel. “It appears to be a software issue with the payment service provider because it is February 29, a leap year”declared a spokesperson for the Gull oil group.
Many software programs have been affected by problems with similar causes: several Japanese prefectures were unable to distribute driving licenses for a few hours, connected watches were found frozen on February 28 at 11:59 p.m.… Online games have also become unusable, such as the racing game EA Sports WRC – to resolve the issue, the publisher recommended changing its console date to March 1st.
A recurring error
The origin of this bug is easy to find: these computer systems were designed without integrating the calculation of a 29th day every four years in February. “This is something that happens regularly in programming: humans intuitively understand a concept, but they must write all possible cases in the program code, otherwise this type of thing happensexplains Aurélie Guillaume, director of technology at Creads, a content creation platform. “We taught the software that a year had 365 days, which we divided into portions of 31, 30 and 28, but without integrating into its rules that it had to add one day every four years.”
When the fateful date arrives, the software risks displaying an incorrect date such as March 1, or returning an error which, one thing leading to another, can cause the entire computer system to collapse. Especially if very specific functions must be launched at the end of the day or month, such as renewing a subscription. “This kind of bug also often happens during time changes, or on December 31”notes Aurélie Guillaume.
“Between managing time zones, switching to summer or winter time, political decisions, unforeseen events… Time management in IT can quickly become a headache.”
Aurélie Guillaume, director of technology at Creadsat franceinfo
This bug should not come as a surprise, however, as there have been many precedents. In 2012, another leap year, Microsoft Azure, the tech giant’s online storage service, went down for several hours, reported the site Numerama.com. The same year, TomTom GPS devices were no longer able to display their location, recalls the BBC.
The problem is well known
Why are these bugs, which have been well identified for years, not eradicated? “They are relatively rare, which shows that the risk is already well taken into account by developersrecalls Aurélie Guillaume. When a company undergoes them, it generally puts tests in place to prevent it from happening again.” Despite everything, it is difficult to make them disappear.
“You could say that the bigger the companies, the more avoidable the problem is, but their systems are also more complex, and the problem can come from external providers.”
Aurélie Guillaume, director of technology at Creadsat franceinfo
“The developers may not have had time to properly test certain functions that they had to create urgently”she also imagines.
A programming error reminiscent of the famous “year 2000 bug”, when many experts feared that the world’s computer systems would be disrupted by the change of millennium because of the formatting of dates generally used, as recalled in this archive of the ‘INA. The problems are not necessarily over: leap years can also cause bugs on the night of December 30 to 31, since the code of certain applications triggers the change of year after 365 days and not 366, as explained Microsoft in 2016. Only nine months left, therefore, to check the systems.