From owner-freebsd-stable Mon Feb 22 15:42:29 1999 Delivered-To: freebsd-stable@freebsd.org Received: from bolero-x.rahul.net (bolero.rahul.net [192.160.13.1]) by hub.freebsd.org (Postfix) with SMTP id 96827118FB for ; Mon, 22 Feb 1999 15:42:25 -0800 (PST) (envelope-from dhesi@rahul.net) Received: from waltz.rahul.net by bolero-x.rahul.net with SMTP id AA27355 (5.67b8/IDA-1.5 for ); Mon, 22 Feb 1999 15:42:23 -0800 Received: by waltz.rahul.net (5.67b8/jive-a2i-1.0) id AA15858; Mon, 22 Feb 1999 15:41:50 -0800 Message-Id: <199902222341.AA15858@waltz.rahul.net> To: stable@freebsd.org Subject: Re: 3.1-RELEASE crash dump with -g kernel, 'page fault in kernel mode' In-Reply-To: Message from Rahul Dhesi of Fri, 19 Feb 99 19:33:01 -0800 Date: Mon, 22 Feb 99 15:41:50 -0800 From: Rahul Dhesi Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG I have been looking through the open PRs, and found this one that's interesting: kern/2717 Fatal trap 12: page fault while in kernel mode It contains this annotation made on Date: Wed, 12 Feb 1997 17:40:11 +1100: The standard (syscons) console driver and perhaps the pcvt console driver have some races when kernel printfs from interrupt handlers are mixed with normal console output. Workarounds: don't put (m)any printfs in interrupt handlers, or don't use /dev/ttyv0 for normal applications (it's still used for console output by syslogd etc so this only reduces the problem), or use a serial console. I wonder if this is still a problem in current versions of FreeBSD? If so, this might explain a number of different reports of 'page fault while in kernel mode' that I have seen, including mine (below). Would somebody who is familar with the internals of the syscons console driver please comment? What's interesting is that I have a machine (no keyboard) running 3.0-RELEASE doing News processing that never panics like this. It has a /boot.config file that contains '-h', which is supposed to force use of the serial port as console. But a number of machine running any of 3.0-RELEASE, 3.1-RELEASE, and various 3.0 snapshots, all with keyboard and display connected, and not having a /boot.config file, have panic'd with 'page fault while in kernel mode'. *IF* the use of the display is the problem, then I will be very happy, because it's easily fixable by switching to the serial console. I am going to try this. If anybody else has encountered these panics, please comment. Rahul > Date: Fri, 19 Feb 99 19:33:01 PST > From: Rahul Dhesi > To: stable@freebsd.org > Message-Id: <199902200333.AA27605@waltz.rahul.net> > Subject: 3.1-RELEASE crash dump with -g kernel, 'page fault in kernel *** mode' > I am now running 3.1-RELEASE with a kernel that was compiled with -g, > and I have a crash dump available. If anybody is interested in getting > more details, I will be happy to provide them to you -- please contact > me. Below is a little of what I have. This particular problem (page > fault in kernel mode) has been occurring with various STABLE snapshots. > > Rahul > > > Fatal trap 12: page fault while in kernel mode > fault virtual address = 0x48 > fault code = supervisor write, page not present > > ... > > (kgdb) where > #0 0xf015d86b in boot () > #1 0xf015daf0 in at_shutdown () > #2 0xf024c305 in trap_fatal () > #3 0xf024bfe3 in trap_pfault () > #4 0xf024bc5a in trap () > #5 0xf02117c8 in acquire_lock () > #6 0xf021440e in softdep_disk_io_initiation () > #7 0xf018caba in spec_strategy () > #8 0xf018c24d in spec_vnoperate () > #9 0xf021fe75 in ufs_vnoperatespec () > #10 0xf021f87b in ufs_strategy () > #11 0xf021fe45 in ufs_vnoperate () > #12 0xf017a023 in bwrite () > #13 0xf017e55a in vop_stdbwrite () > #14 0xf017e3a5 in vop_defaultop () > #15 0xf021fe45 in ufs_vnoperate () > #16 0xf017a9b7 in vfs_bio_awrite () > #17 0xf021966b in ffs_fsync () > #18 0xf0217b7b in ffs_sync () > #19 0xf0182e6f in sync () > #20 0xf015d6b1 in boot () > #21 0xf015daf0 in at_shutdown () > #22 0xf024c305 in trap_fatal () > ---Type to continue, or q to quit--- > #23 0xf024bfe3 in trap_pfault () > #24 0xf024bc5a in trap () > #25 0xf01eb2ad in tulip_rx_intr () > #26 0xf01eb9f3 in tulip_intr_handler () > #27 0xf01ebb51 in tulip_intr_normal () > > == END == > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-stable" in the body of the message > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message