TGViewer
Linux Education Linux Education @linux_education · 11.1K subscribers
Post #2313 2.02K
‍⚡️ Девушка нашла баг в Linux, который существовал дольше неё самой

21-летняя разработчица просто готовилась к лекции. Открыла PDF - и система зависла. Не первый раз, но в этот раз она решила не перезапускать, а разобраться.

Оказалось, проблема сидит в оконном менеджере Enlightenment E16. Это код из 90-х. Баг, судя по всему, жил там больше 20 лет. И всё это время его никто не трогал.

Enlightenment E16 распространяется с открытым исходным кодом и до сих пор относительно активно поддерживается сообществом разработчиков, к числу которых себя причисляет и Камилла. Самая последняя его версия на момент выхода статьи датирована августом 2024 г. и имеет индекс 1.0.30.

cal gao / UnsplashКлассическое ПО для Linux содержит баги, которые могут скрываться десятилетиями

Enlightenment E16 не стоит путать с более современным оконным менеджером Enlightenment E25. Е16 можно установить на многие современные дистрибутивы Linux, например, на Ubuntu, Debian, Fedora, Mandriva и OpenSUSE.

В своем блоге 21-летняя Камилла написала, что внезапно столкнулась с зависаниями Е16. «У меня было несколько PDF-файлов со слайдами лекций и листом с упражнениями, набранными в LaTeX. В какой-то момент я открыла один из них в Atril (просмотрщик документов в графической среде MATE – прим. CNews), и весь рабочий стол завис», – написала она.

По ее словам, в дальнейшем проблема проявила себя еще несколько раз, но поначалу Камилле не удалось установить причину ее возникновения.

Однако в итоге источник сбоя был выявлен. Оказалось, что E16 зависал лишь в моменты, когда пытался сократить слишком длинное имя файла, с которым работала Камилла.

Она нашла причину, разобралась в старом коде и исправила ошибку, которую десятилетиями обходили стороной.

Первое нововведение - это ограничение количества итераций. Камилла посчитала, что 32 будет достаточно. Второе – она предотвратила возникновение вырожденного перекрытия из-за отрицательных исправлений. Наконец, третье изменение в коде – это защита от ошибки деления на ноль.

Можно иметь огромный open source проект, миллионы пользователей и длинную историю, но внутри всё равно будут жить старые баги, до которых просто никто не добрался.

И в какой-то момент приходит один человек, без команды и ресурсов, и закрывает этот вопрос.

Вот так на самом деле работает open source. Не за счёт корпораций и масштаба, а за счёт людей, которые готовы копаться в системе до конца.

Иногда баг живёт десятилетиями не потому что его сложно исправить. А потому что никто всерьёз не пытался это сделать.

https://www.cnews.ru/news/top/2026-04-16_yunaya_devushka_izbavila_linux

@linux_education
  • ❤ 16
  • 👍 12
More from @linux_education
  1. Oct 18, 2026Post #2863
  2. Oct 17, 2026🗝 Claude разгадал 26-летнюю загадку криптографии за 30 минут Когда АНБ передало числа, из…
  3. Oct 17, 2026Post #2861
  4. Oct 17, 2026@linux_education
  5. Oct 17, 2026Post #2859
  6. Oct 17, 2026‍🔥 Хочешь быстрее расти в IT? Хватит учиться в одиночку Окружение решает больше, чем каже…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →