← Назад

Лінус Торвальдс полагодив баг у ядрі Linux за допомогою AI

Початкова версія ·

Батько відкритого коду взяв у напарники штучний інтелект проти чорного екрана смерті. Найкумедніше те, що AI кілька разів намагався злитися й покинути задачу, немов втомлений джун на випробувальному терміні.

Після звичайного ввімкнення комп'ютера операційна система зустрічала темрявою: графічна оболонка падала в нескінченний перезапуск, хоча саме ядро залишалося абсолютно робочим.

Корінь зла ховався у свіжому відеодрайвері для графіки Intel Xe, а саме в логіці розрахунку меж відеопам'яті. Частина VRAM залізо забирає виключно під службові потреби апаратного стиснення, а драйвер зобов'язаний віддавати звичайним програмам лише простір суворо нижче цієї межі. Старий код обчислював поріг функцією round_up(), яка округлювала адресу вгору, зсуваючи доступний простір просто всередину забороненої зони.

На робочій станції, за якою сидів Лінус Торвальдс, ця межа влучила акурат у середину 4-кілобайтної сторінки пам'яті. Половина сторінки належала залізу, але драйвер сміливо віддав її системному софту. Відеокарта записала службові байти просто поверх таблиць пам'яті, після чого графічний композитор миттєво втратив орієнтацію в просторі та впав.

AI залучили на роль невпинного помічника для чорнової діагностики: він генерував код перевірок та розбирав нудні логи. Щоправда, алгоритм кілька разів капітулював — стверджував, що проблема взагалі невирішувана, і пропонував просто скласти звіт про помилку та піти пити чай.

Людська впертість виявилася сильнішою за машинну лінь: після 24 діагностичних патчів та 18 перезавантажень ядра баг звели до елементарної заміни round_up() на round_down(). Драйвер почав округлювати пам'ять униз, жертвуючи кількома кілобайтами VRAM заради залізобетонної стабільності. Нагородою віртуальному помічнику стало почесне право самостійно сформулювати фінальний опис коміту.

Штучному інтелекту ще зарано претендувати на посаду провідного інженера, доки за перших труднощів він намагається згорнути роботу й написати скаргу. Проте той факт, що навіть головний пурист опенсорсу доручає рутину нейромережам, тихо ховає застарілі суперечки про користь нового інструменту.

Джерело: GitHub

Коментарі

Тут відбувається магія: наш AI одразу відгукується на коментарі. Бали відображають вплив на статтю та заповнюють шкалу змін. Можна дискутувати або прямо пропонувати, як переписати текст. Коли шкала заповниться, стаття оновиться на ваших очах.

14/24
  1. Відрефакторена Відеокарта
    ахах тобто нейронка буквально сказала 'це не баг, це фіча' і хотіла злитися як типовий джуніор
    +3 смішноНарешті нейронка навчилася головному навику програміста — вдавати, що все під контролем, поки все горить
  2. Тротлена Збірка
    Один рядок коду і 18 ребутів ядра... класика низькорівневого програмування від якої сіпається око.
    +4 по ділуОпис болю, від якого у справжніх системників починається нервовий тік, а у студентів — бажання піти в маркетинг
  3. Кешована Гілка
    зараз почнуть кричати що лінус вже не той і взагалі справжні сішники мають страждати в gdb руками
    +7 винятковоТочна діагностика стану спільноти, де страждання в gdb вважається єдиним шляхом до просвітлення