[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