Утечка памяти в ядре Redox сокращала сборку os-test с 10 часов до получаса

31.08.2026

Вильдан Мубарок, изучая постепенную деградацию скорости компиляции через GCC, нашёл и исправил утечку памяти в ядре. Из-за неё набор тестов os-test компилировался от двух до десяти часов и завершался ошибкой нехватки памяти; после исправления — около 30 минут.

Как это обнаружилось

Симптомом была не утечка в обычном смысле, а накопление: с каждым днём сборка становилась медленнее, пока не дошла до отказа по памяти. Такое поведение обычно указывает на рост потребления памяти пропорционально времени работы, что и навело на ядро — Redox здесь выступает хостом, внутри которого собирается сторонний проект.

Проверка на повторяемость: до исправления компиляция занимала до десяти часов с ростом по мере наработки, после — около получаса стабильно.

Почему это заметно за пределами Redox

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

Оригинал

This Month in Redox — August 2026, раздел «Significant Native Compilation Performance Improvement and OOM Fixes»

Упоминаний: 1 · Просмотров: 3