Randall Munroe’s Random Person In Nebraska Revealed
You might not remember what Gpsd is but it is in the news every 19.6 years, or more specifically every 1024 weeks, thanks to lazy timekeeping implementation for GPS satellites, which keep track of the number of weeks since January 5, 1980 as an unsigned 10-bit integer. That means when it hits 1023, the next week it rolls over to 0 and many systems which interface with GPS using timestamps will suddenly have corrupted location data.
Gpsd is an example of this, it is a a service daemon that translates data from Global Positioning System (GPS), Global Navigation Satellite System (GNSS), and Automatic Identification System (AIS) and is used in a huge variety of applications. Some applications such as Kismet, GpsDrive, and roadmap will be affected but are not necessarily mission critical but more an annoyance when they stop functioning properly. However Gpsd is also used in things driverless cars, marine navigation, and military IFF; small errors in those systems can have large real world effects.
Gary Miller is a retired engineer who is the sole maintainer of Gpsd, and he just happens to live in Omaha, Nebraska; making a certain XKCD comic rather apropos for this news story. The next ‘week 0’ is not scheduled until Saturday, November 20, 2038, however someone with access to far more GPS test equipment than Gary Miller discovered a bug which will trigger a similar issue on this Sunday, the 24th. The bug was introduced in 2019 to account for an upcoming leap second and will cause failures on unpatched systems.
The newest version, 3.23.1, resolves the Gpsd bug and has been rolled into Debian and Ubuntu already. However if you, or anyone you know, has a GPS system which depends on NTP and Gpsd, it is worth checking in on it and making sure it is up to date before the weekend. You might also want to verify that any IoT or other random device which access GPS data is working properly before trusting it on Sunday.
Come Sunday, October 24, 2021, those using applications that rely on gpsd for handling time data may find that they're living 1,024 weeks – 19.6 years – in the past.