В конце недели приложения, использующие службу gpsd, могут «отправить пользователей в прошлое»

В ближайшее воскресенье пользователи программного обеспечения, использующего службу gpsd для обработки данных о времени, могут обнаружить, что приложения «перенесли их в прошлое» почти на 20 лет. Это произойдёт из-за старого бага, который уже был исправлен разработчиками, но продолжает присутствовать там, где не был применён соответствующий патч.

Изображение: The Register

Согласно имеющимся данным, баг gpsd, из-за которого 24 октября текущее время в приложениях будет переведено на март 2002 года, был обнаружен в июле этого года. С тех пор разработчики исправили ошибку и выпустили соответствующий патч, но едва ли он был применён ко всем приложениям и устройствам, которые в своей работе используют gpsd.

Что касается gpsd, то эта служба используется для сбора и преобразования данных от Глобальной системы позиционирования (GPS), Глобальной навигационной спутниковой системы (GNSS) и Автоматической идентификационной системы (AIS), а также дальнейшей передачи информации клиентским приложениям через интернет. Служба gpsd используется в большом количестве приложений для платформ Android, macOS, Linux и других Unix-подобных операционных систем. Кроме того, gpsd используется в мобильных встроенных системах, беспилотниках, автономном транспорте, морской навигации и военных радиолокационных системах.    

Спутники GPS отслеживают количество недель, прошедших с 5 января 1980 года. Они передают номер недели в виде 10-битного целого числа, которое может иметь значение от 0 до 1023. Таким образом, каждые 1024 недели или 19,6 лет система даёт сбой. Впервые такой сбой произошёл 21 августа 1999 года, а во второй раз он повторился 6 апреля 2019 года. Третий подобный инцидент должен произойти только 20 ноября 2038 года, но из-за бага в gpsd сброс номера недели произойдёт на этих выходных, в момент окончания субботы и начала воскресенья.

Источник:

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *