From owner-freebsd-current@FreeBSD.ORG Tue Aug 31 17:05:46 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CB44D16A4CE for ; Tue, 31 Aug 2004 17:05:46 +0000 (GMT) Received: from peedub.jennejohn.org (Gec41.g.pppool.de [80.185.236.65]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0FB5543D2F for ; Tue, 31 Aug 2004 17:05:46 +0000 (GMT) (envelope-from garyj@www.jennejohn.org) Received: from www.jennejohn.org (localhost [127.0.0.1]) by peedub.jennejohn.org (8.13.1/8.11.6) with ESMTP id i7VH5R2A073646; Tue, 31 Aug 2004 19:05:27 +0200 (CEST) (envelope-from garyj@www.jennejohn.org) Message-Id: <200408311705.i7VH5R2A073646@peedub.jennejohn.org> X-Mailer: exmh version 2.7.0 06/18/2004 with nmh-1.0.4 To: Dan Nelson In-Reply-To: Message from Dan Nelson <20040831151437.GE33896@dan.emsphone.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Tue, 31 Aug 2004 19:05:27 +0200 From: Gary Jennejohn X-Mailman-Approved-At: Wed, 01 Sep 2004 12:16:11 +0000 cc: Vladimir Grebenschikov cc: "current@freebsd.org" Subject: Re: sysutils/strace wilderness on 6-CURRENT X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 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: Tue, 31 Aug 2004 17:05:46 -0000 Dan Nelson writes: > In the last episode (Aug 31), Vladimir Grebenschikov said: > > (fresh -CURREMT and fresh strace from ports, UP machine) > > > > It silmple does nothing - sleeps foreaver in suspended: > > > > # strace /bin/ls > > ^T > > load: 0.14 cmd: strace 98957 [suspended] 0.00u 0.00s 0% 760k > > ^C > > # > > This has happened on 5.x for ages. The quick fix is to ^Z, then fg, or > kill -CONT the hung strace process from another vty. I don't know what > strace does different from truss that makes it hang. Nowadays, truss > does almost as good a job as strace, so I don't use it as often as I > used to. The only thing I miss is strace's ability to print the name > of blocking syscalls (read or sleep for example) as it waits. > I fixed a bug like this in strace for Linux. The SIGCHLD handler was being set too late and the child (through some wacky handling of SIGCHLD in the Linux kernel) got into a state where it never returned the expected status in wait(). Both the child and strace ended up hanging. kill -CONT also got things going there. Maybe FreeBSD has a similar problem? --- Gary Jennejohn / garyj[at]jennejohn.org gj[at]freebsd.org gj[at]denx.de