ProIT: медіа для профі в IT
Приблизно хвилину

Unix Epochalypse може настати раніше: збої почнуться у 2037 році

author avatar ProIT NEWS

Попередження про майбутню Epochalypse, відому як проблема 2038 року, надійшло з неочікуваного боку: реставратори Національного музею обчислювальної техніки (Велика Британія) під час роботи зі старими системами виявили нові збої, які виникають ще у 2037-му. Про це йдеться в матеріалі The Register.

Експеримент із PDP-11

Волонтер музею Робін Даунс продемонстрував проблему на комп’ютері PDP-11/73 від Digital Equipment Corporation.

• Систему було пропатчено для Y2K у 1990-х, але вона використовує іншу структуру збереження часу.

• Компілятор C (1982 року) вже зараз видає правильний час, але неправильну дату.

• Під час тестів після переведення годинника на 2036 рік усе працювало, однак на початку 2037-го будь-яка програма, що викликала функцію time, падала.

«Виявилося, що у функції часу є ще одна невідома помилка, яка викликає збій програм ще до 2038 року», — пояснив Даунс.

Суть проблеми 2038 року

Unix-системи зберігають час як кількість секунд від 1 січня 1970 року у 32-бітному цілому числі зі знаком. О 03:14:07 UTC 19 січня 2038 року цей лічильник переповниться. Теоретично це має відкотити дату до 1901 року.

Однак у випадку PDP-11 функція localtime повернула 1970-й замість 1901-го, що вказує на додаткові помилки в коді.

Наслідки

• Це означає, що поведінка старих систем може бути непередбачуваною і відрізнятися від очікуваної.

• Проблеми можуть виникати у компіляторах, бібліотеках і навіть у самих ОС.

• Масштаб потенційних збоїв значно ширший, ніж у Y2K.

Оптимізм і занепокоєння

Колишній інженер Microsoft Дейв Пламмер вважає, що часу для виправлень достатньо:

«Будь-які системи, що використовуватимуть 32-бітний час у 2038-му, будуть під загрозою, але 13 років має вистачити, щоб їх знайти й виправити».

Втім, Даунс наголошує, що навіть сучасні розробники  не завжди усвідомлюють масштаб проблеми.

«Ми створюємо системи, які мають працювати понад 12 років, і вони теж можуть постраждати», — додав він.

Єдиного рішення, як у випадку з Y2K, не існує. Кожен пристрій і версію програмного забезпечення потрібно тестувати окремо. І хоча до 2038 року ще більше 10 років, Epochalypse може початися раніше.

Читайте також на ProIT, що інструменти GenAI виявляють інстинкти самозбереження: шантажують, копіюють себе й уникають вимкнення.

Підписуйтеся на ProIT у Telegram, щоб не пропустити жодної публікації!

Приєднатися до company logo
Продовжуючи, ти погоджуєшся з умовами Публічної оферти та Політикою конфіденційності.