From owner-freebsd-current@FreeBSD.ORG Sun Mar 10 21:23:12 2013 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 8286E128; Sun, 10 Mar 2013 21:23:12 +0000 (UTC) (envelope-from jilles@stack.nl) Received: from mx1.stack.nl (unknown [IPv6:2001:610:1108:5012::107]) by mx1.freebsd.org (Postfix) with ESMTP id 3E329109; Sun, 10 Mar 2013 21:23:12 +0000 (UTC) Received: from snail.stack.nl (snail.stack.nl [IPv6:2001:610:1108:5010::131]) by mx1.stack.nl (Postfix) with ESMTP id 172CC1203BF; Sun, 10 Mar 2013 22:22:57 +0100 (CET) Received: by snail.stack.nl (Postfix, from userid 1677) id E65542848C; Sun, 10 Mar 2013 22:22:56 +0100 (CET) Date: Sun, 10 Mar 2013 22:22:56 +0100 From: Jilles Tjoelker To: Jan Beich Subject: Re: r247839: broken pipe - for top, sudo and ports Message-ID: <20130310212256.GD94667@stack.nl> References: <5135B7E1.3050002@zedat.fu-berlin.de> <5135BBD9.9090009@FreeBSD.org> <51364914.2010104@zedat.fu-berlin.de> <51364E8D.5020608@zedat.fu-berlin.de> <20130306212408.GA15814@stack.nl> <1UDUQ3-0009HU-83@internal.tormail.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1UDUQ3-0009HU-83@internal.tormail.org> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: Davide Italiano , "Hartmann, O." , FreeBSD Current , Dimitry Andric X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Mar 2013 21:23:12 -0000 On Thu, Mar 07, 2013 at 04:54:01AM -0100, Jan Beich wrote: > Jilles Tjoelker writes: > > On Tue, Mar 05, 2013 at 08:59:09PM +0100, Hartmann, O. wrote: > >> A "truss top" reveals this, is this of help? > >> [...] > >> stat("/etc/nsswitch.conf",{ mode=-rw-r--r-- > >> ,inode=162310,size=1007,blksize=32768 }) = 0 (0x0) > >> stat("/etc/nsswitch.conf",{ mode=-rw-r--r-- > >> ,inode=162310,size=1007,blksize=32768 }) = 0 (0x0) > >> stat("/etc/nsswitch.conf",{ mode=-rw-r--r-- > >> ,inode=162310,size=1007,blksize=32768 }) = 0 (0x0) > >> stat("/etc/nsswitch.conf",{ mode=-rw-r--r-- > >> ,inode=162310,size=1007,blksize=32768 }) = 0 (0x0) > >> stat("/etc/nsswitch.conf",{ mode=-rw-r--r-- > >> ,inode=162310,size=1007,blksize=32768 }) = 0 (0x0) > >> socket(PF_LOCAL,SOCK_STREAM,0) = 4 (0x4) > >> connect(4,{ AF_UNIX "/var/run/nscd" },15) = 0 (0x0) > >> fcntl(4,F_SETFL,O_NONBLOCK) = 0 (0x0) > >> kqueue(0x80183b000,0x80122fc58,0x10,0x80062b308,0x80183b010,0x2) = 5 (0x5) > >> kevent(5,{0x4,EVFILT_WRITE,EV_ADD,0,0x0,0x0},1,0x0,0,0x0) = 0 (0x0) > >> kqueue(0x5,0x7fffffffd2e0,0x1,0x0,0x0,0x0) = 6 (0x6) > >> kevent(6,{0x4,EVFILT_READ,EV_ADD,0,0x0,0x0},1,0x0,0,0x0) = 0 (0x0) > >> kevent(5,{0x4,EVFILT_WRITE,EV_ADD,1,0x4,0x0},1,0x0,0,0x0) = 0 (0x0) > >> kevent(5,0x0,0,{0x4,EVFILT_WRITE,EV_EOF,0,0x2000,0x0},1,0x0) = 1 (0x1) > >> sendmsg(0x4,0x7fffffffd290,0x0,0x1,0x1,0x0) ERR#32 'Broken pipe' > >> SIGNAL 13 (SIGPIPE) > >> process exit, rval = 0 > > Apparently there is a bug that causes nscd to close the connection > > immediately but even then it is wrong that this terminates the calling > > program with SIGPIPE. > > The below patch prevents the SIGPIPE but cannot revive the connection to > > nscd. This may cause numeric UIDs in top or increase the load on the > > directory server. It is compile tested only. > [...] > The patch seems to fix the issue in a world after r247804. I don't see > numeric UIDs in top but without the patch top crashes with SIGPIPE a lot > less frequently than sudo or make install (in base/ports) for me. > In my case shutting down nscd helped, too. Compared to stock > nsswitch.conf I only have "cache" added. Can you find what causes nscd to close the connection quickly, such as using ktrace? -- Jilles Tjoelker