From owner-freebsd-stable@FreeBSD.ORG Sat Jul 17 22:11:52 2010 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5C973106567C for ; Sat, 17 Jul 2010 22:11:52 +0000 (UTC) (envelope-from jilles@stack.nl) Received: from mx1.stack.nl (relay02.stack.nl [IPv6:2001:610:1108:5010::104]) by mx1.freebsd.org (Postfix) with ESMTP id 240B28FC1A for ; Sat, 17 Jul 2010 22:11:52 +0000 (UTC) Received: from turtle.stack.nl (turtle.stack.nl [IPv6:2001:610:1108:5010::132]) by mx1.stack.nl (Postfix) with ESMTP id 13C2E35A835; Sun, 18 Jul 2010 00:11:51 +0200 (CEST) Received: by turtle.stack.nl (Postfix, from userid 1677) id F40641721D; Sun, 18 Jul 2010 00:11:50 +0200 (CEST) Date: Sun, 18 Jul 2010 00:11:50 +0200 From: Jilles Tjoelker To: Alex Kozlov Message-ID: <20100717221150.GA18562@stack.nl> References: <20100717152455.GA61987@ravenloft.kiev.ua> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20100717152455.GA61987@ravenloft.kiev.ua> User-Agent: Mutt/1.5.20 (2009-06-14) Cc: freebsd-stable@freebsd.org Subject: Re: SIGEPIPE after update to 8.1-RC2 X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 17 Jul 2010 22:11:52 -0000 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