Молодая разработчица исправила баг в Linux после десятилетий игнорирования

21-летняя разработчица программного обеспечения Камилла Шевчик из Германии устранила баг в оконном менеджере Enlightenment E16 для Linux, который существовал с 1997 года и вызывал зависания системы. Проблема игнорировалась разработчиками десятилетиями, пока Камилла не выявила и не исправила её в 2024 году.

  • Баг присутствовал в Enlightenment E16 с 1997 года.
  • Enlightenment E16 — лёгкий оконный менеджер с открытым исходным кодом.
  • Проблема проявлялась при работе с длинными именами файлов.
  • Исправление добавлено в версию 1.0.30, выпущенную в августе 2024 года.
  • Камилла — аспирантка Саарландского университета, преподаёт курсы по программированию.

История бага и его обнаружение

Оконный менеджер Enlightenment E16, запущенный в 1997 году, до сих пор поддерживается сообществом Linux-разработчиков, включая Камиллу Шевчик. В процессе подготовки лекционного материала и работы с PDF-файлами на рабочем столе под управлением E16 она заметила частые зависания системы.

Внимательное исследование показало, что сбои возникают при попытке усечь слишком длинное имя файла в заголовке окна. Алгоритм усечения, используемый в менеджере, не ограничивал количество повторяющихся операций, что приводило к бесконечным итерациям и зависаниям.

Как было исправлено

Камилла внесла три ключевых изменения в код Enlightenment E16, которые стали частью версии 1.0.30:

Изменение Описание
Ограничение итераций Максимум 32 прохода при усечении заголовка для предотвращения зацикливания
Защита от вырожденного перекрытия Исключение отрицательных значений поправок при усечении
Защита от деления на ноль Добавлена проверка для предотвращения аварийного завершения

Эти изменения позволили полностью устранить причиной зависаний, сделав работу Enlightenment E16 более стабильной.

Мнение разработчицы о современных менеджерах окон

Камилла призналась, что предпочитает Enlightenment E16 более современным оконным менеджерам, таким как Enlightenment E25. По её мнению, Е16 более завершён и надёжен, а современные среды рабочего стола часто изобилуют новыми функциями, которые могут приводить к ошибкам и снижать безопасность.

Она также отметила, что многие ошибки остаются скрытыми в коде современных проектов, и выразила мнение, что разработка ПО может и должна достигать состояния завершённости, а не бесконечного роста функционала.

  1. 1997 год — первая версия Enlightenment E16.
  2. около 2004 года — баг, по предположению, появился в коде.
  3. 2024 год — Камилла обнаружила и исправила баг.
  4. август 2024 — выпуск Enlightenment E16 версии 1.0.30 с исправлениями.
Помогите проекту, поделитесь с друзьями ;)

Добавить комментарий