From owner-freebsd-stable@FreeBSD.ORG Tue Apr 17 20:02:54 2012 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 1812D106564A for ; Tue, 17 Apr 2012 20:02:54 +0000 (UTC) (envelope-from jdc@koitsu.dyndns.org) Received: from qmta07.emeryville.ca.mail.comcast.net (qmta07.emeryville.ca.mail.comcast.net [76.96.30.64]) by mx1.freebsd.org (Postfix) with ESMTP id F07A18FC14 for ; Tue, 17 Apr 2012 20:02:53 +0000 (UTC) Received: from omta19.emeryville.ca.mail.comcast.net ([76.96.30.76]) by qmta07.emeryville.ca.mail.comcast.net with comcast id z7Jo1i0051eYJf8A782tAS; Tue, 17 Apr 2012 20:02:53 +0000 Received: from koitsu.dyndns.org ([67.180.84.87]) by omta19.emeryville.ca.mail.comcast.net with comcast id z82s1i00D1t3BNj0182sSy; Tue, 17 Apr 2012 20:02:53 +0000 Received: by icarus.home.lan (Postfix, from userid 1000) id 32325102C1E; Tue, 17 Apr 2012 13:02:52 -0700 (PDT) Date: Tue, 17 Apr 2012 13:02:52 -0700 From: Jeremy Chadwick To: freebsd-stable@freebsd.org Message-ID: <20120417200252.GA60718@icarus.home.lan> References: <20120417182242.GA58449@icarus.home.lan> <20120417195115.GA60447@icarus.home.lan> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20120417195115.GA60447@icarus.home.lan> User-Agent: Mutt/1.5.21 (2010-09-15) Subject: Re: top not restoring terminal echo/icanon correctly 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: Tue, 17 Apr 2012 20:02:54 -0000 On Tue, Apr 17, 2012 at 12:51:15PM -0700, Jeremy Chadwick wrote: > On Tue, Apr 17, 2012 at 11:22:42AM -0700, Jeremy Chadwick wrote: > > (Please keep me CC'd as I'm not subscribed to the list) > > > > I'd like to request that folks running RELENG_8 (and RELENG_9, though I > > do not use it) please check the behaviour of their terminal after each > > of following commands are run (check terminal after each command): > > > > top -a (press "q" after 1 screen refresh) > > top -b > > > > If you find that your input characters in your shell aren't being echo'd > > back after one of the above commands, blindly type "stty icanon echo" > > and hit and things should be back to normal. > > > > What I'm looking for is confirmation from others of the problem. > > > > Also very important: please provide uname -a output, specifically world > > rebuild date. It greatly matters, because a commit was recently done > > where now -b functions fine (was previously busted in this way), but now > > -a behaves like -b did. So src/world date matters. > > > > All of this is documented in PR 161739. I urge anyone experiencing this > > problem to read that PR in full, as I spent many hours today writing a > > debug routine to confirm that top is sometimes not calling tcsetattr() > > with the original terminal parameters when it exits, and what the > > condition seems to be. > > > > http://www.freebsd.org/cgi/query-pr.cgi?pr=bin/161739 > > > > Finally, if anyone want to tackle the problem (work out the logic bug > > that is in there which causes it), please be my guest. I have other > > things going on right now (doctors appointments) so I don't have as much > > time as I'd like. > > > > Thanks everyone. > > Thanks to all those who have responded, including kib@. > > The problem is very odd and appears specific to the bash shell, but > only "somewhat". Below is a part of what I sent kib@ on the matter. > A chart showing what I've found: > > Location Username TERM Shell bug? > ============================================================= > VGA console root cons25 /bin/csh no > VGA console jdc cons25 /usr/local/bin/bash no > SSH (PuTTY) root xterm /bin/csh no > SSH (PuTTY) jdc xterm /bin/csh no > SSH (PuTTY) jdc xterm /usr/local/bin/bash yes > ============================================================= > > In the last case (and only that case): if I move my dotfiles (.bashrc > and .bash_profile) aside and log in (SSH), top behaves normally. > Naturally this made me think "something is wonky with my dotfiles!"... > > But the problem *doesn't* happen if my dotfiles are intact and I > log in via VGA console (cons25) as myself with a bash shell. So it's > almost like there's some bizarre combination of things that causes this > problem. > > I'll continue to try and narrow it down. Boy this is a weird one. In my .bashrc I've been using the following statement to show all arguments and set the update interval to 1 second: export TOP="-a -s 1" Removing this completely and logging back in results in no problems when running "top" in any way (top -a, top -s 1, or top -a -s 1). However, the problem I describe with icanon/echo never getting restored rears its ugly head when running "top -a -b", but only under bash (with no dotfiles too). It never happens under csh. I can also reproduce this on VGA console when logged in (regardless of user), e.g. log in as root (get csh shell), run bash, "top -a -b", bam, issue happens. I don't know what's different about the two shells at this level that would cause oddities like this, but um, yeah..... *blink* -- | Jeremy Chadwick jdc@parodius.com | | Parodius Networking http://www.parodius.com/ | | UNIX Systems Administrator Mountain View, CA, US | | Making life hard for others since 1977. PGP 4BD6C0CB |