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 -- С уважением, Жухарев Антон