GPS переполнение числа недель — это событие, происходящее каждые 1024 недели, или примерно каждые 19,6 лет. Global Positioning System (GPS) передаёт дату, которая включает счётчик недель, содержащий всего десять двоичных цифр, что задаёт диапазон значений 0–1023. После значения 1023 происходит целочисленное переполнение и внутреннее значение сбрасывается в ноль. Программное обеспечение, не предусматривающие такого обнуления, может перестать работать или откатиться назад по времени на значение, кратное примерно 20 лет. GPS используется не только для позиционирования, но и для синхронизации платёжных операций, радиовещания и работы мобильных операторов.
1999 год
Первое переполнение имело место в полночь (UTC) с 21 на 22 августа 1999 года.
NavCen (Навигационный центр береговой охраны США) выпустил предупреждение, в котором говорилось, что некоторые устройства не выдержат перехода. Из-за относительно ограниченного использования GPS во время переполнения 1999 года сбои были незначительными.
2019 год
Второе переполнение произошло ночью с 6 на 7 апреля 2019 года, кода GPS неделя с номером 2047, представленная в счётчике значением 1023, снова обратилась в 0. Министерство внутренней безопасности Соединённых Штатов, Международная организация гражданской авиации и другие выпустили предупреждение об этом событии.
Продукты, которые, как известно, пострадали от переполнения 2019 года включают программное обеспечение Honeywell управления полётами и навигации, что привело к задержкам рейсов KLM и отменами множества рейсов в Китае из-за того, что технические специалисты не смогли обновить программное обеспечение. Кроме того, вышла из строя беспроводная сеть Нью-Йорка (, NYCWiN), частная сеть муниципальных служб . Среди других затронутых продуктов были мобильные телефоны, проданные в 2013 или раньше, некоторые виды старых наземных станций радиозондов , что привело к приостановке запусков на некоторых станциях на срок до двух недель, погодные буи NOAA, множество научных инструментов и потребительские спутниковые навигаторы.
Перед переходом с летнего времени на стандартное утром 3 ноября 2019 года Apple предупредила владельцев iPhone и iPad, проданных до 2012 года, о необходимости обновления, иначе они рискуют потерять доступ к Интернету.
Некоторые модели имели внутренне переполнение 2 января 2022 года. Если оборудование не было обновлено до последней версии, дата на устройстве отображалась некорректно.
Автомобили Honda и Acura, изготовленные между 2004 и 2012 годами снабжались навигационными системами GPS, неверно показывающих год 2022 как 2002 со смещением времени на несколько минут. Проблема была вызвана переполнением эпохи GPS.
Все модели Porsche с PCM2.1 были также затронуты согласно бюллетеню #1904, выпущенному компанией Porsche 20 декабря 2019 года.
Пользователи квадрокоптера GoPro Karma сообщали, что их дроны были вынуждены прекратить полёты в начале января 2020 года из-за сбоя GPS. Позднее GoPro объяснила, что причиной сбоя стало переполнение счётчика недель GPS и что компания работает над обновлением прошивки для устранения проблемы.
2038 год Третье переполнение произойдёт между 20 и 21 ноября 2038 года. Это не связано с проблемой 2038 года, которая случится в январе того же года.
2137 год Вышеупомянутые переполнения были следствием хранения числа недель в десятибитном поле. Более поздний протокол CNAV, наследник протокола NAV, использует тринадцатибитное поле счётчика недель, что соответствует 157-летнему циклу. Поэтому, при использовании той же эпохи 1980 года первое переполнение случится не раньше 2137-го года.
См. также Ошибки форматирования и хранения времени Структура кодирования времени в
Примечания
Категория:Август 1999 года Категория:Апрель 2019 года Категория:XXII век Категория:GPS Категория:Ошибки программирования Категория:Измерение времени Категория:Проблемы дат в программировании