From owner-freebsd-bugs@FreeBSD.ORG Thu Mar 25 23:00:32 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 95FA816A4FD for ; Thu, 25 Mar 2004 23:00:32 -0800 (PST) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 741B043D41 for ; Thu, 25 Mar 2004 23:00:32 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) i2Q70Wbv063274 for ; Thu, 25 Mar 2004 23:00:32 -0800 (PST) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.10/8.12.10/Submit) id i2Q70WRh063267; Thu, 25 Mar 2004 23:00:32 -0800 (PST) (envelope-from gnats) Resent-Date: Thu, 25 Mar 2004 23:00:32 -0800 (PST) Resent-Message-Id: <200403260700.i2Q70WRh063267@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, Gregory Harris Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 961E016A4CE for ; Thu, 25 Mar 2004 22:57:02 -0800 (PST) Received: from www.freebsd.org (www.freebsd.org [216.136.204.117]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8FD9743D41 for ; Thu, 25 Mar 2004 22:57:02 -0800 (PST) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.12.10/8.12.10) with ESMTP id i2Q6v272056435 for ; Thu, 25 Mar 2004 22:57:02 -0800 (PST) (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.12.10/8.12.10/Submit) id i2Q6v2o0056434; Thu, 25 Mar 2004 22:57:02 -0800 (PST) (envelope-from nobody) Message-Id: <200403260657.i2Q6v2o0056434@www.freebsd.org> Date: Thu, 25 Mar 2004 22:57:02 -0800 (PST) From: Gregory Harris To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-2.3 Subject: kern/64739: data being lost through FIFOs X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Mar 2004 07:00:32 -0000 >Number: 64739 >Category: kern >Synopsis: data being lost through FIFOs >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu Mar 25 23:00:31 PST 2004 >Closed-Date: >Last-Modified: >Originator: Gregory Harris >Release: 5.1 >Organization: >Environment: FreeBSD enos.ipsentinel.com 5.1-SECURITY FreeBSD 5.1-SECURITY #0: Thu Feb 5 08:13:19 GMT 2004 root@builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC i386 >Description: Data seems to be either be getting lost in FIFOs, or the FIFOs are not being properly flushed when the write end is being closed. Attached is a tarball containing a simple client and server program. The program operates normally on FreeBSD 4.8, Linux, and Solaris, but fails to operate properly under FreeBSD 5.1, and FreeBSD 5.2.1. Sorry for submitting a sample program, but it was the only way I can replicate the error. >How-To-Repeat: Attached is some sample code to illustrate the problem. Run the server program first via ./server, and then run the client program via ./client. FIFO data will then be sent from the server to the client saying "test x" where x is a number from 0 to 9. There is a 1 second pause between each message. Before the counter reaches 9, hit ctrl-c to send SIGINT to the client. The client program will then send a message over a FIFO to the server telling it to stop. The server will then send a SIGUSR2 signal to its child process managing the test data, which then SHOULD send "___end" back to the client over the FIFO to cause the client to shutdown and go back to a shell prompt. However the "___end" message is not received so the client just hangs waiting for the final message. >Fix: >Release-Note: >Audit-Trail: >Unformatted: