From owner-freebsd-bugs@FreeBSD.ORG Tue Dec 2 23:40:01 2008 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CC41C1065675 for ; Tue, 2 Dec 2008 23:40:01 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id AA25D8FC12 for ; Tue, 2 Dec 2008 23:40:01 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id mB2Ne1Zb045625 for ; Tue, 2 Dec 2008 23:40:01 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id mB2Ne1Js045624; Tue, 2 Dec 2008 23:40:01 GMT (envelope-from gnats) Resent-Date: Tue, 2 Dec 2008 23:40:01 GMT Resent-Message-Id: <200812022340.mB2Ne1Js045624@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Steve Watt Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CF8BC1065673 for ; Tue, 2 Dec 2008 23:31:40 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21]) by mx1.freebsd.org (Postfix) with ESMTP id AACB78FC22 for ; Tue, 2 Dec 2008 23:31:40 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.14.3/8.14.3) with ESMTP id mB2NVeSQ058046 for ; Tue, 2 Dec 2008 23:31:40 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.14.3/8.14.3/Submit) id mB2NVevN058045; Tue, 2 Dec 2008 23:31:40 GMT (envelope-from nobody) Message-Id: <200812022331.mB2NVevN058045@www.freebsd.org> Date: Tue, 2 Dec 2008 23:31:40 GMT From: Steve Watt To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Cc: Subject: bin/129378: [t]csh loses foreground process group X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 Dec 2008 23:40:02 -0000 >Number: 129378 >Category: bin >Synopsis: [t]csh loses foreground process group >Confidential: no >Severity: critical >Priority: high >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Dec 02 23:40:01 UTC 2008 >Closed-Date: >Last-Modified: >Originator: Steve Watt >Release: 6.4-PRE as of 16 Sept 08 23:30Z >Organization: Watt Consultants >Environment: FreeBSD wattres.Watt.COM 6.4-PRERELEASE FreeBSD 6.4-PRERELEASE #11: Mon Nov 24 12:04:45 PST 2008 root@wattres.Watt.COM:/usr/obj/usr/src/sys/WATTRES i386 >Description: tcsh 6.15.00 appears to lose track of the foreground process group when SIGINT comes in during backquote expansion. This problem does not show up with tcsh 6.14.00. The symptom is that when I do a long-ish running task inside a `` expansion that I then ^C, nobody gets the foreground process group... I never get a prompt back after the ^C, and ^T gets me load: 0.27 no foreground process group Sending SIGCHLD and/or SIGCONT to the tcsh doesn't seem to make any difference at all. The tcsh is sitting in "pause" WCHAN, which seems sensible. A truss on tcsh reveals (oddly enough) that it's sitting in sigsuspend(). Sending it signals makes it loop through a wait4() call and go back into sigsuspend(). It happens running either as root (from sudo) or as a regular user. It happens under xterm, under ssh sessions, and on a direct console login. One portable reproduction: # cd /usr/src # less `egrep -lir '^Foo.*baz' *` ^Cload: 0.02 no foreground process group (I typed ^C ^T) SIGKILL to the shell seems to be the only way to get things back, and it does in your shell. I also got a "me too" from my posting on -hackers about this which stated that a SIGHUP would also make the shell go away. >How-To-Repeat: % cd /usr/src % less `egrep -lir '^Foo.*baz' *` ^C^T >Fix: Use tcsh 6.14.00 (probably not a desirable workaround). >Release-Note: >Audit-Trail: >Unformatted: