On Sat, Jul 17, 2010 at 06:24:55PM +0300, Alex Kozlov wrote:
> After updating my buildbox from 26 April 8-STABLE
> to 8.1-RC2 I constantly getting SIGEPIPE

> portsnap:
> Fetching 4 metadata patches... done.
> Applying metadata patches... done.
> Fetching 0 metadata files... done.
> Fetching 27 patches.....10....20... done.
> Applying patches... done.
> Fetching 3 new ports or files... done.
> sort: write failed: standard output: Broken pipe
> sort: write error
> Removing old files and directories... done.

> sudo make -C /usr/ports/converters/ascii2binary:
> ===>  Patching for ascii2binary-2.13_2
> ===>  Applying FreeBSD patches for ascii2binary-2.13_2
> ===>   ascii2binary-2.13_2 depends on shared library: intlgrep: writing 
> output: Broken pipe
> grep: writing output: Broken pipe
[snip repetition]
>  - found
>  ===>  Configuring for ascii2binary-2.13_2

> Does anyone know something about this issue?

This looks more like the absence of SIGPIPE than an inappropriate
SIGPIPE. I can reproduce both of those error messages by running the
commands with SIGPIPE ignored. grep(1) seems to behave strangely on
write errors, not aborting, for example
  yes | { trap '' PIPE; grep -v foo; echo $? >&2; } | :
prints an endless stream of error messages.

Note that sh(1) silently ignores attempts to change the disposition of
signals that were ignored on entry to the shell, so a
  trap - PIPE
is unlikely to help you.

Similarly, SIGPIPE may be blocked (masked). Few programs expect this.

The -i and -j options in procstat should be helpful in finding what
exactly is wrong with SIGPIPE. (These options are relatively new, but
should be in 8.1.)

Jilles Tjoelker
freebsd-stable@freebsd.org mailing list
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"

Reply via email to