21-летняя разработчица устранила баг в оконном менеджере Linux Enlightenment E16

21-летняя программистка Камилла Шевчик из Саарландского университета в Германии устранила давний баг в оконном менеджере Enlightenment E16 для Linux, который существовал почти три десятилетия. Этот глюк приводил к зависаниям рабочего стола и оставался незамеченным или игнорируемым сообществом разработчиков.

  • Баг появился в Enlightenment E16 примерно 20 лет назад, до рождения Камиллы.
  • Enlightenment E16 — оконный менеджер с открытым исходным кодом, поддерживаемый до сих пор.
  • Ошибка проявлялась при попытке усечь слишком длинное имя файла в заголовке окна.
  • Исправление включает ограничение итераций, защиту от отрицательных индексов и деления на ноль.
  • Камилла предпочитает стабильность E16 современным менеджерам окон.

История бага и его проявления

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

Почему баг долго оставался незамеченным

Разработчики Enlightenment E16 по неизвестным причинам игнорировали этот баг. По предположению Камиллы, алгоритм усечения заголовков окон не имел ограничений по количеству итераций, из-за чего происходила бесконечная циклическая обработка, приводящая к зависаниям.

Как удалось устранить баг

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

Номер Изменение Описание
1 Ограничение итераций Установлено максимум 32 итерации для алгоритма усечения заголовков
2 Защита от отрицательных исправлений Предотвращение вырожденного перекрытия при отрицательных индексах
3 Защита от деления на ноль Обеспечение стабильности работы алгоритма без ошибок вычисления

Это позволило исключить зависания и повысить надежность оконного менеджера.

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

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

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

Понравилась статья? Поделиться с друзьями: