On the first morning of July 2012, check-in staff at Qantas and Virgin Australia put down their keyboards and started processing passengers by hand.

Their reservation system had stopped working. So had Reddit, LinkedIn, Yelp and a decent slice of everything else running on Linux, for a reason nobody outside a few data centres saw coming. No breach, no bad deployment, no severed cable. One extra second had been added to the world’s clocks, and a great many computers could not cope with it.

Why there was an extra second at all

Earth is a lumpy, wobbling, tide-dragged sphere, and it does not spin at a fixed rate. Atomic clocks tick at exactly the same pace forever, which is the entire point of them. Left alone, the two slowly part company. Timekeepers have compensated since 1972 by wedging an occasional leap second into Coordinated Universal Time to pull them back into line.

On 30 June 2012, the final minute of the day ran to 61 seconds. Clocks went 23:59:59, then 23:59:60, then midnight.

That reading is perfectly legal under the standard. It also appears almost nowhere in real software, because hardly anyone writes code expecting a minute to carry a sixty-first second.

What actually broke

Heaviest damage landed on Amadeus Altéa, the booking and departure control platform underpinning a large share of global aviation. The Register reported that Amadeus traced the failure to a bug in the Linux kernel, triggered directly by the leap second, and that the platform stayed offline for roughly an hour.

Elsewhere the symptom was stranger than an outright crash. Servers did not fall over. They sprinted on the spot, burning every scrap of processor capacity while accomplishing nothing at all.

Reddit’s own trouble came through Cassandra, the Java-based database behind the site. In coverage by Tim Hornyak for Network World, Red Hat’s Ron Pacheco later described a spread of damage that weekend running from sluggish performance at one end to processors locking up entirely at the other. Unpatched kernels, Hadoop clusters, Cassandra and MySQL databases and assorted Java programs all turned up on the casualty list.

A bug that had been asleep since 2008

Writing on LWN.net, Jonathan Corbet laid out the diagnosis that kernel developer John Stultz had chased down over the weekend. Timekeeping code inserted the extra second but never told the high-resolution timer code that the clock had shifted. Timers due to fire moments later checked the new time, decided their deadline had already passed, and fired at once. Reset, they fired again immediately, and kept doing so.

Corbet made a sharper point about why nobody caught it beforehand. The previous leap second had landed at the end of 2008, which left three and a half years in which the flaw could sit quietly broken without a soul noticing, because nobody had a test in the habit of exercising that code path.

A workaround circulated among sysadmins that weekend, and it was almost insulting in its simplicity. Reset the system clock to the time it already believed it was. The kernel registered the change, the stuck timers recalculated properly, and the spinning stopped.

Google had quietly dodged the whole thing

Back in September 2011, site reliability engineer Christopher Pascoe laid out Google’s method on the official Google blog. Instead of letting its machines meet 23:59:60 head-on, the company modified its internal time servers to tell a small, controlled lie, adding a few milliseconds to every update across a window of hours beforehand. By midnight the adjustment was fully absorbed. Not one server saw the odd timestamp, and no engineer had to comb a vast codebase for time-handling assumptions. Pascoe wrote that the approach grew out of a smaller scare in 2005, when some of Google’s clustered systems stopped accepting work during that year’s leap second.

They called it the leap smear.

The second itself is being retired

The 2015 leap second is sometimes remembered as the quiet one, and compared with 2012 it was. It was not trouble-free. Per Jeremy Kirk’s reporting for TechCentral, Dyn’s Doug Madory logged roughly 2,000 networks dropping offline just after midnight UTC, nearly half of them in Brazil, most recovering within minutes once a router was rebooted. A single misbehaving router model, repeated across enough networks, is still a leap second bug. It is simply a quieter species of one.

A deeper fix took longer to arrive. In November 2022 the General Conference on Weights and Measures voted to abandon the practice altogether, a decision reported by Elizabeth Gibney in Nature, with insertions due to cease by 2035.

Resolution 4, the text adopted that day, is blunt about why. Digital networks and satellite systems rely on UTC, and they need it specified as a continuous scale, which means the jolts have to go.

Tucked into the same document sits a second reason, and it should make anyone still running elderly servers sit very still. Earth’s rotation has been speeding up. If that continues, the world may eventually need to take a second away rather than add one, and the resolution notes plainly that such a removal has never been foreseen or tested.

Half a century of timekeeping code has never once been asked to skip a second.