Date: Mon, 31 May 1999 10:24:55 -0700 (PDT) From: Matthew Dillon <dillon@apollo.backplane.com> To: Kevin Day <toasty@home.dragondata.com> Cc: hackers@FreeBSD.ORG Subject: Re: Possible race in pipe device driver, esp on multi-cpu machines. Message-ID: <199905311724.KAA76020@apollo.backplane.com> References: <199905310829.DAA10969@home.dragondata.com>
next in thread | previous in thread | raw e-mail | index | archive | help
:While I really doubt that this is related, I discovered today that I'm able :to repeatably lock up my -current machine with: : :find /home -print | afio -T 3k -G 6 -Z -z -v -o - | tee /scratch/backup.afio >/dev/rsa0 : :It runs for about 5 minutes, then hangs completely. Removing the tee and :writing to either of them doesn't cause a hang. Running two afio's with run :going to the file and one going to tape doesn't cause a hang. : :When it locks up, it's doing it pretty solidly. (no ddb, no keyboard echo, :etc). : :I haven't ruled out hardware issues yet though, but it looks slightly pipe :related. : :Kevin Alan and I are working on it. We are testing a fix for pipe_read() now and I'm working on one for pipe_write(). The fixes basically involve holding the pipe's lock throughout all calculations and I/O ops except when the code needs to explicitly tsleep() on a pipe-empty or pipe-full condition. The race conditions in the pipe code can lead to a crash in the case where you have multiple writers or multiple readers accessing the same pipe, but should only lead to corruption in certain cases where one reader and one writer exist. It may or may not be related to your problem. -Matt To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199905311724.KAA76020>