From owner-freebsd-current Thu Feb 4 16:37:23 1999 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id QAA21764 for freebsd-current-outgoing; Thu, 4 Feb 1999 16:37:23 -0800 (PST) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from apollo.backplane.com (apollo.backplane.com [209.157.86.2]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id QAA21759 for ; Thu, 4 Feb 1999 16:37:22 -0800 (PST) (envelope-from dillon@apollo.backplane.com) Received: (from dillon@localhost) by apollo.backplane.com (8.9.2/8.9.1) id QAA91805; Thu, 4 Feb 1999 16:37:20 -0800 (PST) (envelope-from dillon) Date: Thu, 4 Feb 1999 16:37:20 -0800 (PST) From: Matthew Dillon Message-Id: <199902050037.QAA91805@apollo.backplane.com> To: Julian Elischer Cc: current@FreeBSD.ORG Subject: Re: Bug in piperd References: <199902042219.OAA90785@apollo.backplane.com> <36BA3B93.2781E494@whistle.com> Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG : :I've been seeng lockups in 3.0 where as is in piperd, :but the stack trace has always looked as if the problem was in soft :updates or the syncer daemon.. : It's quite possible for as to be in 'piperd' when some other unassociated crash occurs, since it is typically waiting for input from cc1. What is not typical, however, is if as is stuck 'piperd' and the other end of the pipe has been closed. The particular piperd bug I found cannot crash the system - at worst it will block a process forever. And you can still kill the process. 3.0's lockups could be very well due to a number of low-memory interlock situations that typically occur when heavy paging is going on, if that is how you are running 3.0. I suspect it is too late to get my getpbuf() changes into 3.1, which might mitigate that somewhat. -Matt Matthew Dillon :> The problem is simple (pseudo code fragment): :> :> pipe read: :> ... :> * check for EOF :> * check for waiting writers :> * lock the pipe :> * check for waiting writers :> * check for non-blocking I/O :> * sleep in 'piperd' To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message