[sisyphus] broken pipe при сборке пакета
Vladislav Zavjalov
slazav на altlinux.org
Ср Июн 3 14:18:24 MSD 2009
On 05/15/09 00:58, Vitaly Ostanin wrote:
> Здравствуйте.
>
> Собираю пакет в hasher, в логе вижу:
> find-requires: running scripts
> (files,lib,pam,perl,pkgconfig,pkgconfiglib,python,rpmlib,shebang,shell,static,symlinks)
> /usr/lib/rpm/files.req: line 33: echo: write error: Broken pipe
> /usr/lib/rpm/files.req: line 33: echo: write error: Broken pipe
> /usr/lib/rpm/files.req: line 33: echo: write error: Broken pipe
> /usr/lib/rpm/lib.req: line 58: printf: write error: Broken pipe
> ...
> + /usr/lib/rpm/find-provides
> find-provides: empty file list, nothing to do
>
> Воспроизводится регулярно. Это как-нибудь лечится?
Недавно лечил похожее. Может и тут пригодится...
a | b
а много пишет, b удовлетворяется и закрывает pipe раньше времени. Если
a - отдельный процесс, то он получает SIGPIPE и тихо умирает, и все
довольны.
Если a - команда shell, то SIGPIPE получает shell и молчать не хочет.
Убивает эту команду и страшно ругается.
Я ради чистоты логов делал так:
(a) | b
Возникает лишний subshell, который по SIGPIPE убивается тихо, и все
довольны...
Подробная информация о списке рассылки Sisyphus