[devel] Затянувшийся фриз сборочницы
Leonid Krivoshein
klark.devel на gmail.com
Вс Окт 5 15:49:43 MSK 2025
Всем привет!
On 10/5/25 13:46, Grigory Ustinov wrote:
> 03.10.2025 9:18, Anton Zhukharev пишет:
>> On Thu, Oct 02, 2025 at 10:45:34PM +0300, Grigory Ustinov wrote:
>>> 02.10.2025 16:44, Anton Zhukharev пишет:
>>>> Всем привет!
>>>>
>>>> Последние таски по обновлению Python выглядят пугающее: объем
>>>> пересобираемых пакетов невероятно огромный и постоянно растет из-за
>>>> чего
>>>> обновление самого Python в Sisyphus происходит дольше, чем в
>>>> апстриме...
>>> Меня объём пересобираемых пакетов не пугает. Обновление самого Python в
>>> Sisyphus происходит дольше по абсолютно другим причинам.
>> Не всем нравится сидеть и ждать (уже) годами, пока вы обновите Python до
>> следующей минорной версии, поскольку текущему образу сборки обязательно
>> требуется фриз сборочницы.
>>
>> Перечислите все причины, которые, по вашему утверждению, затягивают
>> обновление.
>
> Пожалуй всё-таки имеет смысл вкратце зарезюмировать текущую ситуацию.
> В этом году фриз сборочницы действительно затянулся на неприлично
> длительное время.
Как я понимаю, "фриз" -- это перевод всех собираемых тасков без
test-only в состояние POSTPONED, когда третья попытка закоммитить
успешно собравшийся большой таск провалилась, этот "фриз" нужен для
прохождения в репозиторий одного большого таска, верно?
> У всех ожидающих прошу прощения и немного понимания. Я жду его
> окончания не меньше вашего и почти в круглосуточном режиме слежу за
> таском, делая всё, что в моих силах для его скорейшего прохождения.
>
> Сначала таск был сломан очень несвоевременным обновлением libfmt.
> Только всё разрулили, и тут с двух ног влетел Cython. Решили проблемы
> и с ним. Сейчас таск уже почти неделю в полностью готовом состоянии не
> может пройти из-за нехватки ресурсов на архитектурах i586 и aarch64.
> Проблема не в количестве пакетов, а в том, что крупные пакеты типа
> llvm, blender, vtk и тому подобные собираются вероятностно. Учитывая,
> что сборка идёт на коммит, кэширования результатов нет и имеем что
> имеем. 3 дня таск собирается, потом падает со словами
> [aarch64] hasher-privd: parent: handle_io: idle time limit (3600
> seconds) exceeded
>
> В предыдущих обновлениях python3 эта проблема была не так сильно
> выражена. Возможно имеет смысл в следующем обновлении сформировать
> список пересборки таким образом, чтобы "тяжёлые" пакеты шли поближе к
> началу, но это не всегда возможно, поскольку обычно они требуют
> немалые деревья пакетов.
>
Можно внести пару усовершенствований:
1. Поменять приоритет. Он должен быть не у того таска, который *первым
успешно собрался*, а у того, кто будучи успешно собранным *первым начал
сборку*. Тогда будет достаточно пересобрать на новом состоянии
репозитория менее ёмкие таски, уже успешно собравшиеся, и даже попавшие
в архив. В этом случае их можно удалить из архива. Ёмкость таска можно
определить по суммарному времени его сборки.
2. Разрешить создание субтасков внутри таска не с последовательной, а с
параллельной собираемостью. Когда маинтейнеру точно известна группа
пакетов, от которых есть зависимость, но друг на друга никакого влияния
они не оказывают.
--
WBR, Leonid Krivoshein.
Подробная информация о списке рассылки Devel