[devel] CPU time limit exceeded

Anton Zhukharev ancieg на altlinux.org
Вс Окт 23 19:32:30 MSK 2022


On Sun, Oct 23, 2022 at 03:33:24PM +0300, Leonid Krivoshein wrote:
> Добрый день!
> 
> 
> 23.10.2022 12:39, Anton Zhukharev пишет:
> > Добрый день!
> >
> > Недавно столкнулся с проблемой следующего вида:
> >
> > [ppc64le] /usr/sbin/chroot.fakechroot: line 147: 2435617 CPU time limit exceeded env -u FAKECHROOT_BASE_ORIG FAKECHROOT_CMD_ORIG= LD_LIBRARY_PATH="$fakechroot_chroot_paths" FAKECHROOT_BASE="$fakechroot_chroot_base" "$fakechroot_chroot_chroot" "${@:1:$(($fakechroot_chroot_n - 1))}" "$fakechroot_chroot_final_newroot" "${@:$(($fakechroot_chroot_n + 1))}"
> > 2022-Oct-22 21:18:00 :: [ppc64le] racket-main-distribution.git 8.6-alt1: remote: build failed
> > 2022-Oct-22 21:18:00 :: [ppc64le] #100 racket-main-distribution.git 8.6-alt1: build FAILED
> >
> > в задании 308872.
> >
> > Насколько я понимаю, эта ошибка связана с разделением времени работы
> > процессора между пользовательскими процессами (воспроизвелась только на
> > архитектурах i586, armh и ppc64le - на x86_64 и aarch64 полёт нормальный).
> 
> Насколько повторяем результат при перезапуске задания?
> 
Постоянно.
 
> > Есть способ обхода такого ограничения?
> 
> Мне кажется, это не ограничение сборочницы, это текущая загруженность её 
> узлов так отражается на вашу "вероятностную" сборку, внутри которой 
> заложены временные ограничения. Чинить нужно именно сборку. К примеру на 
> x86_64 до этого места плавненько дошли за 4.5 минуты, а на ppc64 к этому 
> месту шли почти 44 минуты.
> 
В этом же задании в спек добавил вызов команды "ulimit -a". Это, всё
таки, ограничение.
Сколько суммарно собирается пакет - не важно (racket-base на ppc64le
собирался где-то 2.5 часа, однако CPU time не превысил).

Распараллеливание сборки не поможет (и не помогает: уже убедился),
поскольку потребуется столько же процессорного времени (ну или примерно
столько же).
К тому же распараллеливание привело к "out of memory" на 32-разрядных
архитектурах.

В данном пакете происходит банальная установка пакетов для Racket с
попутной их компиляцией, поэтому как "чинить именно сборку" не ясно.
Как вариант можно было бы отделить сборку пакетов от сборки документаций
к ним, однако по результатам нескольких пересборок видно, что порой
превышение процессорного времени происходит ещё до начала сборки
документаций.

Для меня удивительно то, что на ppc64le превышение CPU limit
происходит быстрее, чем заканчивается сборка на x86_64 без превышения.

Жалко, что обойти это, скорее всего, рядовыми способами не получится.

> > Возможно, что ошибка связана с пакетом fakechroot (к сожалению,
> > его использование при сборки этого пакета - единственный рабочий
> > способ; подробнее на этом останавливаться пока не буду).
> 
> 
> -- 
> С уважением,
> Леонид Кривошеин.
> _______________________________________________
> Devel mailing list
> Devel на lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel

-- 
С уважением,
Жухарев Антон
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : signature.asc
Тип     : application/pgp-signature
Размер  : 833 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20221023/f07d5917/attachment.bin>


Подробная информация о списке рассылки Devel