From owner-freebsd-bugs@FreeBSD.ORG Sat Aug 21 21:10:26 2004 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 20BEB16A4CF for ; Sat, 21 Aug 2004 21:10:26 +0000 (GMT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id E848B43D46 for ; Sat, 21 Aug 2004 21:10:25 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.11/8.12.11) with ESMTP id i7LLAP16089746 for ; Sat, 21 Aug 2004 21:10:25 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.11/8.12.11/Submit) id i7LLAP4B089745; Sat, 21 Aug 2004 21:10:25 GMT (envelope-from gnats) Resent-Date: Sat, 21 Aug 2004 21:10:25 GMT Resent-Message-Id: <200408212110.i7LLAP4B089745@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, Robert Watson Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4418516A4CE for ; Sat, 21 Aug 2004 21:03:19 +0000 (GMT) Received: from fledge.watson.org (fledge.watson.org [204.156.12.50]) by mx1.FreeBSD.org (Postfix) with ESMTP id DB32243D2D for ; Sat, 21 Aug 2004 21:03:18 +0000 (GMT) (envelope-from robert@fledge.watson.org) Received: from fledge.watson.org (localhost [127.0.0.1]) by fledge.watson.org (8.12.11/8.12.11) with ESMTP id i7LL1DDD091060 for ; Sat, 21 Aug 2004 17:01:13 -0400 (EDT) (envelope-from robert@fledge.watson.org) Received: (from robert@localhost) by fledge.watson.org (8.12.11/8.12.11/Submit) id i7LL1Dsn091059; Sat, 21 Aug 2004 17:01:13 -0400 (EDT) (envelope-from robert) Message-Id: <200408212101.i7LL1Dsn091059@fledge.watson.org> Date: Sat, 21 Aug 2004 17:01:13 -0400 (EDT) From: Robert Watson To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Subject: bin/70803: truss wedges if child exits at the wrong moment X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Robert Watson List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 21 Aug 2004 21:10:26 -0000 >Number: 70803 >Category: bin >Synopsis: truss wedges if child exits at the wrong moment >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sat Aug 21 21:10:25 GMT 2004 >Closed-Date: >Last-Modified: >Originator: Robert Watson >Release: FreeBSD 6.0-CURRENT i386 >Organization: FreeBSD Project >Environment: System: FreeBSD paprika 6.0-CURRENT FreeBSD 6.0-CURRENT #0: Fri Aug 20 10:04:06 EDT 2004 rwatson@paprika:/usr/obj/usr/src/sys/PAPRIKA i386 >Description: When truss is run on a non-present binary, the child process appears to exit at an untimely moment sometimes leaving the parent truss process wedged. >How-To-Repeat: Mount procfs. Run truss with a target program name that is not found. paprika# truss notfound truss: execvp notfound: No such file or directory load: 0.48 cmd: truss 61304 [pioctl] 0.00u 0.00s 0% 772k >Fix: No fix attached. However, it appears to wedge in the first call to ioctl() in the parent process following the fork() in setup.c:setup_and_wait(). ps(1) reveals the child process is a zombie and is marked "". It looks like the ioctl() is not returning S_EXIT for some reason. If I insert a sleep(5) before the call to err() in the child, it still gets into this state, so perhaps the pioctl() code is not being notified of a child exit, or is treating a zombie as "still alive". >Release-Note: >Audit-Trail: >Unformatted: