From owner-freebsd-stable Thu Feb 11 06:16:36 1999 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id GAA21330 for freebsd-stable-outgoing; Thu, 11 Feb 1999 06:16:36 -0800 (PST) (envelope-from owner-freebsd-stable@FreeBSD.ORG) Received: from frolic.no-support.loc (ppp36-14.hrz.uni-bielefeld.de [129.70.36.14]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id GAA21310 for ; Thu, 11 Feb 1999 06:16:32 -0800 (PST) (envelope-from bfischer@Techfak.Uni-Bielefeld.DE) Received: from broccoli.no-support.loc (broccoli.no-support.loc [192.168.43.99]) by frolic.no-support.loc (8.9.2/8.8.8/Debian/GNU) with ESMTP id DAA00597; Thu, 11 Feb 1999 03:17:05 +0100 (CET) From: Bjoern Fischer Received: (from bjoern@localhost) by broccoli.no-support.loc (8.9.2/8.9.2) id DAA02745; Thu, 11 Feb 1999 03:16:37 +0100 (CET) (envelope-from bjoern) Date: Thu, 11 Feb 1999 03:16:37 +0100 To: Matthew Dillon Cc: Bjoern Fischer , freebsd-stable@FreeBSD.ORG Subject: Re: NFS + cdda2wav Message-ID: <19990211031636.A2690@broccoli.no-support.loc> References: <19990209233951.A402@broccoli.no-support.loc> <199902100355.TAA77997@apollo.backplane.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.95i In-Reply-To: <199902100355.TAA77997@apollo.backplane.com>; from Matthew Dillon on Tue, Feb 09, 1999 at 07:55:20PM -0800 Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Tue, Feb 09, 1999 at 07:55:20PM -0800, Matthew Dillon wrote: [...] > Bjoern, ktrace the program run. I suspect the problem is not > NFS but that the write() latency is causing one of cdda2wav's > forked processes to exit and kill its child before the child > finishes writing. > > ktrace -t cn -i cdda2wav .... > > kdump -R | less > > Try to match up reads from the CD to writes to the output file. > See if the final couple of read/write's match up. Hmm, the procedure of testing changes the object being tested. The problem disappears while ktracing the run. In the kdump I could see that the size of the last write to the audio file is exactly what is missing without ktrace. The last write is simply skipped. Then I compiled the whole thing for debugging. Synchronization between the parent (writing) process and the child (reading) process is managed with fifos. Just before the last write should be done the syncing function receives a SIGPIPE as it was trying to write to the pipe. At the time I don't know how this can happen. Bjoern -- -----BEGIN GEEK CODE BLOCK----- GCS d--(+) s++: a- C+++(-) UBL++++OSI++++$ P+++(-) L+++(-) !E W- N+ o>+ K- !w !O !M !V PS++ PE- PGP++ t+++ !5 X++ tv- b+++ D++ G e+ h-- y+ ------END GEEK CODE BLOCK------ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message