[devel] racket cpu hog (was: CPU time limit exceeded)

Anton Farygin rider на basealt.ru
Вс Окт 23 22:37:44 MSK 2022


On 23.10.2022 22:05, Vitaly Chikunov wrote:
> Anton,
>
> On Sun, Oct 23, 2022 at 09:52:39PM +0300, Anton Zhukharev wrote:
>> On Sun, Oct 23, 2022 at 08:25:05PM +0300, Dmitry V. Levin wrote:
>>> On Sun, Oct 23, 2022 at 12:39:16PM +0300, Anton Zhukharev wrote:
>>>> Добрый день!
>>>>
>>>> Недавно столкнулся с проблемой следующего вида:
>>>>
>>>> [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 полёт нормальный).
>>>>
>>>> Есть способ обхода такого ограничения?
>>> Сделать так, чтобы racket перестал быть таким неуёмно прожорливым,
>>> что особенно проявляется на более медленных архитектурах.
>>>
>> Это, конечно, не лучшее решение, но сделав установку Racket-пакетов в
>> 1 поток (-j 1), пакет стал собираться (см. задание 308872).
>>
>> Похоже, что планировщик в установщике пакетов Racket'а работает не очень
>> оптимальным образом.
>>
>> Что ж, решение найдено. Процесс сборки стал дольше (кстати, не сильно),
>> однако мне важен результат, а не скорость.
>>
>> Осталось подлатать и в репозитории будет Racket ;).
> Racket уже был в Сизице до 2022-06-18. Может стоит базироваться на
> старом спеке. Например, назвать пакет racket.
>
Кстати да, лучше конечно наследование какое-то сделать.


https://github.com/racket/racket

к тому же он и у апстрима называется racket.

Но, если я правильно понимаю - сейчас собрано в режиме In-place:

https://github.com/racket/racket/blob/master/build.md#12-git-repository-build-modes

А почему бы не взять за основу апстримный git, кстати ?




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