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>
