Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 17 Jan 2000 20:50:42 -0500 (EST)
From:      dgilbert@velocet.ca
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   kern/16165: Diskless machine panics swapping.
Message-ID:  <200001180150.UAA17871@strike.velocet.net>

next in thread | raw e-mail | index | archive | help

>Number:         16165
>Category:       kern
>Synopsis:       Diskless machine panics during swap
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Jan 17 18:00:01 PST 2000
>Closed-Date:
>Last-Modified:
>Originator:     David Gilbert
>Release:        FreeBSD 4.0-CURRENT i386
>Organization:
Velocet Communications
>Environment:

Diskless client and server both running the same 4.0 CURRENT, cvsup'd
this week.  Diskless kernel configuration follows, as does the dmesg.
A 256M file on the server is being swapped to.

Copyright (c) 1992-2000 The FreeBSD Project.
Copyright (c) 1982, 1986, 1989, 1991, 1993
	The Regents of the University of California. All rights reserved.
FreeBSD 4.0-CURRENT #8: Sun Jan 16 23:32:25 EST 2000
    root@strike.velocet.net:/usr/src/sys/compile/DISKLESS
Timecounter "i8254"  frequency 1193182 Hz
CPU: AMD-K6tm w/ multimedia extensions (225.00-MHz 586-class CPU)
  Origin = "AuthenticAMD"  Id = 0x562  Stepping = 2
  Features=0x8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX>
  AMD Features=0x400<<b10>>
real memory  = 67108864 (65536K bytes)
avail memory = 62459904 (60996K bytes)
md0: Malloc disk
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
pcib1: <PCI to PCI bridge (vendor=1106 device=8597)> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
vga-pci0: <S3 model 8a13 graphics accelerator> mem 0xd8000000-0xdbffffff at device 0.0 on pci1
isab0: <VIA 82C586 PCI-ISA bridge> at device 7.0 on pci0
isa0: <ISA bus> on isab0
ata-pci0: <VIA 82C586 ATA-33 controller> port 0xf400-0xf40f at device 7.1 on pci0
ata-pci0: Busmastering DMA supported
pci0: VIA 83C572 USB controller (vendor=0x1106, dev=0x3038) at 7.2 irq 11
chip1: <VIA 82C586B ACPI interface> at device 7.3 on pci0
ed0: <NE2000 PCI Ethernet (RealTek 8029)> port 0xf600-0xf61f irq 9 at device 10.0 on pci0
ed0: address 00:60:67:08:cf:ae, type NE2000 (16 bit) 
devclass_alloc_unit: ed0 already exists, using next available unit number
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
atkbdc0: <keyboard controller (i8042)> at port 0x60-0x6f on isa0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
vga0: <Generic ISA VGA> at port 0x3b0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> on isa0
sc0: VGA <12 virtual consoles, flags=0x200>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1 at port 0x2f8-0x2ff irq 3 on isa0
sio1: type 16550A
unknown: <PNP0000> can't assign resources
unknown0: <PNP0200> at port 0-0xf,0x81-0x83,0x87,0x89-0x8b,0x8f-0x91,0xc0-0xdf drq 4 on isa0
unknown1: <PNP0100> at port 0x40-0x43 irq 0 on isa0
unknown2: <PNP0b00> at port 0x70-0x71 irq 8 on isa0
unknown: <PNP0303> can't assign resources
unknown: <PNP0800> can't assign resources
unknown3: <PNP0c04> at port 0xf0-0xff irq 13 on isa0
unknown4: <PNP0c01> at iomem 0xe0000-0xfffff,0-0x9ffff,0xfffe0000-0xffffffff,0x100000-0x3ffffff on isa0
unknown5: <PNP0a03> at port 0x4d0-0x4d1,0xcf8-0xcff,0x480-0x48f,0x6000-0x607f,0x6080-0x60ff on isa0
unknown: <PNP0501> can't assign resources
unknown: <PNP0700> can't assign resources
unknown6: <PNP0400> at port 0x378-0x37f,0x778-0x77b irq 7 on isa0
unknown: <PNP0501> can't assign resources
bootpc_init: wired to interface 'ed0'
bootpc_init: using network interface 'ed0'
Bootpc testing starting
bootpc hw address is 0:60:67:8:cf:ae
My ip address is <ip address>.35
Server ip address is <ip address>.34
Gateway ip address is 0.0.0.0
boot file is /tftpboot/kernel.debug
Subnet mask is 255.255.255.240
Router is <ip address>.33
rootfs is <ip address>.34:/u4/repeat
swapfs is <ip address>.34:/u4
Ignoring field type 15
md_lookup_swap: Swap size is 262144 KB
Mounting root from nfs:
NFS ROOT: <ip address>.34:/u4/repeat
NFS SWAP: <ip address>.34:/u4

#
# GENERIC -- Generic machine with WD/AHx/NCR/BTx family disks
#
# For more information on this file, please read the handbook section on
# Kernel Configuration Files:
#
#    http://www.freebsd.org/handbook/kernelconfig-config.html
#
# The handbook is also available locally in /usr/share/doc/handbook
# if you've installed the doc distribution, otherwise always see the
# FreeBSD World Wide Web server (http://www.FreeBSD.ORG/) for the
# latest information.
#
# An exhaustive list of options and more detailed explanations of the
# device lines is also present in the ./LINT configuration file. If you are
# in doubt as to the purpose or necessity of a line, check first in LINT.
#
# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.219 1999/12/23 05:32:53 wpaul Exp $

machine		i386
#cpu		I386_CPU
#cpu		I486_CPU
cpu		I586_CPU
#cpu		I686_CPU
ident		GENERIC
maxusers	32

makeoptions	DEBUG=-g		#Build kernel with gdb(1) debug symbols

#options 	MATH_EMULATE		#Support for x87 emulation
options 	INET			#InterNETworking
#options 	FFS			#Berkeley Fast Filesystem
#options 	FFS_ROOT		#FFS usable as root device [keep this!]
options 	MFS			#Memory Filesystem
options 	MD_ROOT			#MD is a potential root device
options 	NFS			#Network Filesystem
options 	NFS_ROOT		#NFS usable as root device, "NFS" req'ed
#options 	MSDOSFS			#MSDOS Filesystem
#options 	CD9660			#ISO 9660 Filesystem
#options 	CD9660_ROOT		#CD-ROM usable as root. "CD9660" req'ed
options 	PROCFS			#Process filesystem
options 	COMPAT_43		#Compatible with BSD 4.3 [KEEP THIS!]
options 	SCSI_DELAY=2000		#Be pessimistic about Joe SCSI device
options 	UCONSOLE		#Allow users to grab the console
options 	USERCONFIG		#boot -c editor
options 	VISUAL_USERCONFIG	#visual boot -c editor
options 	KTRACE			#ktrace(1) syscall trace support
options 	SYSVSHM			#SYSV-style shared memory
options 	SYSVMSG			#SYSV-style message queues
options 	SYSVSEM			#SYSV-style semaphores

# To make an SMP kernel, the next two are needed
#options 	SMP			# Symmetric MultiProcessor Kernel
#options 	APIC_IO			# Symmetric (APIC) I/O
# Optionally these may need tweaked, (defaults shown):
#options 	NCPU=2			# number of CPUs
#options 	NBUS=4			# number of busses
#options 	NAPIC=1			# number of IO APICs
#options 	NINTR=24		# number of INTs

controller	isa0
#controller	eisa0
controller	pci0

# Floppy drives
controller	fdc0	at isa? port IO_FD1 irq 6 drq 2
device		fd0	at fdc0 drive 0
device		fd1	at fdc0 drive 1

# ATA and ATAPI devices
controller	ata0	at isa? port IO_WD1 irq 14
controller	ata1	at isa? port IO_WD2 irq 15
controller	ata2
device		atadisk0	# ATA disk drives
device		atapicd0	# ATAPI CDROM drives
device		atapifd0	# ATAPI floppy drives
device		atapist0	# ATAPI tape drives
options 	ATA_STATIC_ID		#Static device numbering
#options 	ATA_ENABLE_ATAPI_DMA	#Enable DMA on ATAPI devices

# ata0 doesn't appear to work for us.
#controller     wdc0    at isa? port IO_WD1 irq 14
#device         wd0     at wdc0 drive 0
#device         wd1     at wdc0 drive 1
#controller     wdc1    at isa? port IO_WD2 irq 15
#device         wd2     at wdc1 drive 0
#device         wd3     at wdc1 drive 1


# SCSI Controllers
# A single entry for any of these controllers (ahb, ahc, amd, ncr, etc...) is
# sufficient for any number of installed devices.
#controller	ahb0		# EISA AHA1742 family
#controller	ahc0		# AHA2940 and onboard AIC7xxx devices
#controller	amd0		# AMD 53C974 (Teckram DC-390(T))
#controller	dpt0		# DPT Smartcache - See LINT for options!
#controller	isp0		# Qlogic family
#controller	ncr0		# NCR/Symbios Logic
#controller	sym0		# NCR/Symbios Logic (newer chipsets)

#controller	adv0	at isa? port ? irq ?
#controller	adw0
#controller	bt0	at isa? port ? irq ?
#controller	aha0	at isa? port ? irq ?
#controller	aic0	at isa? port ? irq ?

# SCSI peripherals
# Only one of each of these is needed, they are dynamically allocated.
#controller	scbus0		# SCSI bus (required)
#device		da0		# Direct Access (disks)
#device		sa0		# Sequential Access (tape etc)
#device		cd0		# CD
#device		pass0		# Passthrough device (direct SCSI access)

# RAID controllers
#device		amr0		# AMI MegaRAID
#device		mlx0		# Mylex DAC960 family

# atkbdc0 controls both the keyboard and the PS/2 mouse
controller	atkbdc0	at isa? port IO_KBD
device		atkbd0	at atkbdc? irq 1
#device		psm0	at atkbdc? irq 12

device		vga0	at isa? port ? conflicts

# splash screen/screen saver
pseudo-device	splash

# syscons is the default console driver, resembling an SCO console
device		sc0	at isa?

# Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver
#device		vt0	at isa?
#options 	XSERVER			# support for X server
#options 	FAT_CURSOR		# start with block cursor
# If you have a ThinkPAD, uncomment this along with the rest of the PCVT lines
#options 	PCVT_SCANSET=2		# IBM keyboards are non-std

# Floating point support - do not disable.
device		npx0	at nexus? port IO_NPX irq 13

# Power management support (see LINT for more options)
device		apm0    at nexus? disable flags 0x20 # Advanced Power Management

# PCCARD (PCMCIA) support
#controller	card0
#device		pcic0	at isa?
#device		pcic1	at isa?

# Serial (COM) ports
device		sio0	at isa? port IO_COM1 flags 0x10 irq 4
device		sio1	at isa? port IO_COM2 irq 3
#device		sio2	at isa? disable port IO_COM3 irq 5
#device		sio3	at isa? disable port IO_COM4 irq 9

# Parallel port
#device		ppc0	at isa? port? flags 0x40 irq 7
#controller	ppbus0		# Parallel port bus (required)
#device		lpt0		# Printer
#device		plip0		# TCP/IP over parallel
#device		ppi0		# Parallel port interface device
#controller	vpo0		# Requires scbus and da0


# PCI Ethernet NICs.
#device		de0		# DEC/Intel DC21x4x (``Tulip'')
#device		fxp0		# Intel EtherExpress PRO/100B (82557, 82558)
#device		tx0		# SMC 9432TX (83c170 ``EPIC'')
#device		vx0		# 3Com 3c590, 3c595 (``Vortex'')

# PCI Ethernet NICs that use the common MII bus controller code.
#controller	miibus0		# MII bus support
#device		dc0		# DEC/Intel 21143 and various workalikes
#device		rl0		# RealTek 8129/8139
#device		sf0		# Adaptec AIC-6915 (``Starfire'')
#device		sis0		# Silicon Integrated Systems SiS 900/SiS 7016
#device		ste0		# Sundance ST201 (D-Link DFE-550TX)
#device		tl0		# Texas Instruments ThunderLAN
#device		vr0		# VIA Rhine, Rhine II
#device		wb0		# Winbond W89C840F
#device		xl0		# 3Com 3c90x (``Boomerang'', ``Cyclone'')

# ISA Ethernet NICs.
device		ed0	at isa? port 0x280 irq 10 iomem 0xd8000
#device		ex0	at isa? port? irq?
# NOTE: This removes the isa attachment so that the pccard unit numbers
# come out right.
#device		ep0
# WaveLAN/IEEE 802.11 wireless NICs. Note: the WaveLAN/IEEE really
# exists only as a PCMCIA device, so there is no ISA attatement needed
# and resources will always be dynamically assigned by the pccard code.
#device		wi0
# The probe order of these is presently determined by i386/isa/isa_compat.c.
#device		ie0	at isa? port 0x300 irq 10 iomem 0xd0000
#device		fe0	at isa? port 0x300 irq ?
#device		le0	at isa? port 0x300 irq 5 iomem 0xd0000
#device		lnc0	at isa? port 0x280 irq 10 drq 0
#device		cs0	at isa? port 0x300 irq ?
#device		sn0	at isa? port 0x300 irq 10
# requires PCCARD (PCMCIA) support to be activated
#device		xe0	at isa? port? irq ?

# Pseudo devices - the number indicates how many units to allocated.
pseudo-device	loop		# Network loopback
pseudo-device	ether		# Ethernet support
#pseudo-device	sl	1	# Kernel SLIP
#pseudo-device	ppp	1	# Kernel PPP
#pseudo-device	tun		# Packet tunnel.
pseudo-device	pty		# Pseudo-ttys (telnet etc)
pseudo-device	md		# Memory "disks"

# The `bpf' pseudo-device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
pseudo-device	bpf		#Berkeley packet filter

# USB support
#controller	uhci0		# UHCI PCI->USB interface
#controller	ohci0		# OHCI PCI->USB interface
#controller	usb0		# USB Bus (required)
#device		ugen0		# Generic
#device		uhid0		# "Human Interface Devices"
#device		ukbd0		# Keyboard
#device		ulpt0		# Printer
#controller	umass0		# Disks/Mass storage - Requires scbus and da0
#device		ums0		# Mouse

pseudo-device	vn
#pseudo-device	snp	4

options INCLUDE_CONFIG_FILE
options USER_LDT
options MAXCONS=12
options SC_HISTORY_SIZE=200
device pcm0
options PNPBIOS
#options         IPFIREWALL              #firewall
#options         IPFIREWALL_VERBOSE      #print information about
                                        # dropped packets
#options         IPFIREWALL_FORWARD      #enable transparent proxy support
#options         IPFIREWALL_VERBOSE_LIMIT=100    #limit verbosity
#options         IPFIREWALL_DEFAULT_TO_ACCEPT    #allow everything by default
#options         IPDIVERT                #divert sockets
#options         IPFILTER                #ipfilter support
#options         IPFILTER_LOG            #ipfilter logging
#options         IPSTEALTH               #support for stealth forwarding
#options         TCPDEBUG
#options         TCP_DROP_SYNFIN         #drop TCP packets with SYN+FIN
#options         TCP_RESTRICT_RST        #restrict emission of TCP RST
#options         ICMP_BANDLIM
#options         DUMMYNET
#options         BRIDGE

options         BOOTP           # Use BOOTP to obtain IP address/hostname
options         BOOTP_NFSROOT   # NFS mount root filesystem using BOOTP info
options         BOOTP_NFSV3     # Use NFS v3 to NFS mount root
options         BOOTP_COMPAT    # Workaround for broken bootp daemons.
options         BOOTP_WIRED_TO=ed0 # Use interface fxp0 for BOOTP
#options		NULLFS
#options		UNION
options		DDB


>Description:

Machine will panic often.  The signature of the panic that I have
recorded is the following:

fatal trap 12: page fault in kernel mode
curproc: pagedaemon
interupt mask: net bio cam

vn_todev+0x6: movl 0x48(%edx),%eax	(edx and eax are 0x0)
pbgetvp+0x1a
swap_pageer_putpages+0x32b
ufs_vnoperatespec+0x7f
vm_pageout_flush+0x92
vm_page_bits+0x202
vm_pageout_page_free+0x49e
vm_opageout_page_free+0xd8c
fork_trampoline+0x8

I think the vm_pageout_page_free looks suspicious --- that function doesn't
look big enough to have such offsets.  fork_trampoline looks like
particularly difficult magic.  I don't know exactly where I should
be heading to track this one down, but I can reproduce it several
times a day on a small diskless machine.

>How-To-Repeat:

Boot machine, run X, wait.

>Fix:

None known.


>Release-Note:
>Audit-Trail:
>Unformatted:


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200001180150.UAA17871>