Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 Jul 2010 23:43:07 +0300
From:      Kostik Belousov <kostikbel@gmail.com>
To:        Jilles Tjoelker <jilles@stack.nl>
Cc:        freebsd-stable@freebsd.org, wxs@freebsd.org
Subject:   Re: SIGEPIPE after update to 8.1-RC2
Message-ID:  <20100728204307.GY22295@deviant.kiev.zoral.com.ua>
In-Reply-To: <20100725114816.GA78541@stack.nl>
References:  <20100717152455.GA61987@ravenloft.kiev.ua> <4C4264F1.4010708@gothic.net.au> <20100725114816.GA78541@stack.nl>

next in thread | previous in thread | raw e-mail | index | archive | help

--9I0HVnGRacHebCDW
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sun, Jul 25, 2010 at 01:48:16PM +0200, Jilles Tjoelker wrote:
> On Sun, Jul 18, 2010 at 12:20:33PM +1000, Sean wrote:
> > I'm getting the same thing; what shell are you using? I changed my shel=
l=20
> > on one machine from /bin/tcsh to /usr/local/bin/bash and problem=20
> > disappeared.
>=20
> That this workaround helps confirms that masked/ignored SIGPIPE is the
> problem. From a few shells I have tried, bash and zsh reset SIGPIPE to
> caught or default even if it was ignored (only in interactive mode,
> however), while tcsh, sh, mksh and ksh93 leave it ignored.
>=20
> The underlying problem is the program that is passing the ignored/masked
> signal to child processes. Please check if the problem occurs with
> various ways to log in (text console, ssh, xterm, etc). Things like PAM
> modules may also cause problems here.
>=20
> For example, sshd sets SIGPIPE to ignored, but resets it back to default
> before starting a child process, so assuming I read the code correctly
> it does not cause problems.

Hm.

pooma% cat
=2E..
In the other shell,
pooma% ps auxww | grep cat
kostik     41346  0.0  0.0  5824  1084   2  I+   11:34PM   0:00.00 cat
pooma% procstat -i 41346 | grep PIPE
41346 cat              PIPE     ---


pooma% sudo cat
=2E..
and
pooma% ps auxww | grep cat
root       41360  0.0  0.0  5824  1084   2  S+   11:36PM   0:00.01 cat
pooma% procstat -i 41366 | grep PIPE
41366 cat              PIPE     ---

And now
oma% sudo -k cat                                                           =
 ~
Password:
=2E..
and
pooma% ps auxww | grep cat
root       41387  0.0  0.0  5824  1084   2  S+   11:39PM   0:00.01 cat
pooma% procstat -i 41387 | grep PIPE
41387 cat              PIPE     -I-

This would describe both the observed behaviour and the reason why
I was unable to repeat it after the first run.

sudo changelog has a promising entry from 2010-06-09, but I definitely
not going to read sudo code. security/sudo maintainer Cc:ed.

--9I0HVnGRacHebCDW
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (FreeBSD)

iEYEARECAAYFAkxQllsACgkQC3+MBN1Mb4g1wQCg8UgCq8jILf7dy0ErYYosINi6
iNwAnRZyqsAx9jZFDVco2ztAmUmtOATE
=FeOc
-----END PGP SIGNATURE-----

--9I0HVnGRacHebCDW--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100728204307.GY22295>