From owner-freebsd-current@FreeBSD.ORG Fri Jan 2 20:01:33 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id ED63D16A4CE for ; Fri, 2 Jan 2004 20:01:33 -0800 (PST) Received: from gw.catspoiler.org (217-ip-163.nccn.net [209.79.217.163]) by mx1.FreeBSD.org (Postfix) with ESMTP id BFACE43D53 for ; Fri, 2 Jan 2004 20:01:32 -0800 (PST) (envelope-from truckman@FreeBSD.org) Received: from FreeBSD.org (mousie.catspoiler.org [192.168.101.2]) by gw.catspoiler.org (8.12.9p2/8.12.9) with ESMTP id i0341O7E003439; Fri, 2 Jan 2004 20:01:29 -0800 (PST) (envelope-from truckman@FreeBSD.org) Message-Id: <200401030401.i0341O7E003439@gw.catspoiler.org> Date: Fri, 2 Jan 2004 20:01:24 -0800 (PST) From: Don Lewis To: shoesoft@gmx.net In-Reply-To: <1073062285.1971.13.camel@shoeserv.freebsd> MIME-Version: 1.0 Content-Type: TEXT/plain; charset=us-ascii cc: current@FreeBSD.org Subject: Re: page fault panic tracked down (selwakeuppri()) X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 03 Jan 2004 04:01:34 -0000 On 2 Jan, Stefan Ehmann wrote: > On Sun, 2003-12-28 at 14:41, Stefan Ehmann wrote: >> Some weeks ago I posted about a panic in 5.2-BETA. >> >> After accessing a read-only ext2fs for some hours I got a "page fault" >> panic (or rarely a "getblk: size(7537385) > MAXBSIZE(65536)"). The >> backtrace was always somewhat different. > > Since nobody has been able to reproduce this panic yet I did some more > testing today. > > I wanted to find out if reading from the ext2fs was the sole cause for > the panic. > > To cause the same kind of load I played music files from the ext2 > partition in random mode on a different pc over network. No panic (~6 > hrs up) yet. > > Maybe there's a race if writing to dsp and reading from the ext2fs. > > dsp as sole cause is also unlikely because I've been listening for > longer times from cdrom/ufs2 without panics. I wouldn't rule out the dsp, since you audio player software may be calling select() on the fd for the audio device. You might want to back out Bruce's quick hack and change the second argument to selwakeuppri() to -1 in chn_wakeup() in dev/sound/pcm/channel.c. Is your kernel compiled with the INVARIANTS and INVARIANTS_SUPPORT options? Something else that I noticed is that the CHN_LOCKASSERT macro has an empty definition in dev/sound/pcm/channel.h. You might want to try defining it as mtx_assert((struct mtx *)((c)->lock), MA_OWNED) I still don't see any obvious cause for this problem.