Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 17 May 2003 02:21:01 +0200
From:      Stacy Olivas <olivas@digiflux.org>
To:        hackers@freebsd.org
Subject:   MFS and Kernel panics (5.0-RELEASE-p7)
Message-ID:  <200305170221.01711.olivas@digiflux.org>

next in thread | raw e-mail | index | archive | help
I've been playing with various MFS file sizes in a kernel and have come across 
some issues.  Either I'm doing something wrong, or there possibly is a bug 
somewhere.

Background:
OS: FreeBSD 5.0-RELEASE-p7

When building a kernel with an MFS_ROOT size => 8000 bytes (~7.8 megs), after 
the kernel has successfully loaded, if you subsequently try mounting a floppy 
disk (to a mount point on the MFS) (doesn't matter if it's fresh floppy or 
has some files on it) the kernel panics with the following message:

panic: isa_dmastart: bad bounce buffer

syncing disks, buffers remaining... panic: bwrite: buffer is not busy???

But, for an MFS that is 7000 (~6.8 megs) it works with out a hitch.

This behavior has been reproducable on two different systems with more than 
plenty of memort available.

--

dmesg output of kernel that panics (MD_ROOT_SIZE=8000)
(thank god dmesg is saved between warm boots):

Copyright (c) 1992-2003 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD 5.0-RELEASE-p7 #1: Fri May 16 15:18:39 CEST 2003
    
olivas@thos.digiflux.org:/usr/src/release/picobsd/warbsd/build_dir-warbsd/PICOBSD-warbsd
Preloaded elf kernel "/kernel" at 0xc0f86000.
Timecounter "i8254"  frequency 1193182 Hz
Timecounter "TSC"  frequency 360790606 Hz
CPU: AMD-K6(tm) 3D+ Processor (360.79-MHz 586-class CPU)
  Origin = "AuthenticAMD"  Id = 0x591  Stepping = 1
  Features=0x8021bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,PGE,MMX>
  AMD Features=0xffffffff80000800<SYSCALL,3DNow!>
real memory  = 167772160 (160 MB)
avail memory = 146579456 (139 MB)
Initializing GEOMetry subsystem
K6-family MTRR support enabled (2 registers)
    ACPI-0159: *** Error: AcpiLoadTables: Could not get RSDP, 
AE_NO_ACPI_TABLES
    ACPI-0213: *** Error: AcpiLoadTables: Could not load tables: 
AE_NO_ACPI_TABLES
ACPI: table load failed: AE_NO_ACPI_TABLES
npx0: <math processor> on motherboard
npx0: INT 16 interface
Using $PIR table, 4 entries at 0xc00fdf70
pcib0: <OPTi 82C700 host to PCI bridge> at pcibus 0 on motherboard
pci0: <PCI bus> on pcib0
isab0: <PCI-ISA bridge> at device 1.0 on pci0
isa0: <ISA bus> on isab0
cbb0: <TI1131 PCI-CardBus Bridge> at device 10.0 on pci0
cardbus0: <CardBus bus> on cbb0
pccard0: <16-bit PCCard bus> on cbb0
pci_cfgintr: 0:10 INTA routed to irq 11
cbb1: <TI1131 PCI-CardBus Bridge> at device 10.1 on pci0
cardbus1: <CardBus bus> on cbb1
pccard1: <16-bit PCCard bus> on cbb1
pci_cfgintr: 0:10 INTB routed to irq 11
pci0: <display, VGA> at device 18.0 (no driver attached)
ohci0: <OPTi 82C861 (FireLink) USB controller> mem 0xfecff000-0xfecfffff irq 
10 at device 19.0 on pci0
usb0: OHCI version 1.0, legacy support
usb0: <OPTi 82C861 (FireLink) USB controller> on ohci0
usb0: USB revision 1.0
uhub0: OPTi OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
atapci0: <Generic PCI ATA controller> port 0xfcf0-0xfcff at device 20.0 on 
pci0
atapci0: Busmastering DMA not supported
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
orm0: <Option ROM> at iomem 0xc0000-0xcbfff on isa0
fdc0: <Enhanced floppy controller (i82077, NE72065 or clone)> at port 
0x3f7,0x3f0-0x3f5 irq 6 drq 2 on isa0
isa_dmainit(2, 1024) failed
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
atkbdc0: <Keyboard controller (i8042)> at port 0x64,0x60 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model Generic PS/2 mouse, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1: configured irq 3 not in bitmap of probed irqs 0
sio1: port may not be enabled
unknown: <PNP0303> can't assign resources (port)
speaker0: <PC speaker> at port 0x61 on isa0
psmcpnp0: irq resource info is missing; assuming irq 12
unknown: <PNP0501> can't assign resources (port)
unknown: <PNP0700> can't assign resources (port)
Timecounters tick every 10.000 msec
ipfw2 initialized, divert enabled, rule-based forwarding enabled, default to 
accept, logging limited to 100 packets/entry by default
wi0: <WaveLAN/IEEE> at port 0x100-0x13f irq 11 function 0 config 1 on pccard0
wi0: 802.11 address: 00:90:d1:07:60:ee
wi0: using RF:PRISM2 MAC:HFA3841 CARD:HWB3163 rev.A
wi0: Intersil Firmware: Primary 0.03.00, Station 0.07.06
ad0: 19077MB <IBM-DJSA-220> [38760/16/63] at ata0-master BIOSPIO
acd0: CDROM <TOSHIBA CD-ROM XM-1902B> at ata1-master BIOSPIO
Mounting root from ufs:/dev/md0
<118>May 17 01:37:02 init: /etc/pwd.db: No such file or directory
<118>Enter full pathname of shell or RETURN for /bin/sh: 
<118># 
Waiting (max 60 seconds) for system process `vnlru' to stop...stopped
Waiting (max 60 seconds) for system process `bufdaemon' to stop...stopped
Waiting (max 60 seconds) for system process `syncer' to stop...stopped

syncing disks, buffers remaining... 
done
Uptime: 34s
Rebooting...

----------------

dmesg output of kernel that mounts a floppy disk with no problems 
(MD_ROOTSIZE=7000):

Copyright (c) 1992-2003 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD 5.0-RELEASE-p7 #2: Fri May 16 15:56:53 CEST 2003
    
olivas@thos.digiflux.org:/usr/src/release/picobsd/warbsd/build_dir-warbsd/PICOBSD-warbsd
Preloaded elf kernel "/kernel" at 0xc0e90000.
Timecounter "i8254"  frequency 1193182 Hz
Timecounter "TSC"  frequency 360790865 Hz
CPU: AMD-K6(tm) 3D+ Processor (360.79-MHz 586-class CPU)
  Origin = "AuthenticAMD"  Id = 0x591  Stepping = 1
  Features=0x8021bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,PGE,MMX>
  AMD Features=0xffffffff80000800<SYSCALL,3DNow!>
real memory  = 167772160 (160 MB)
avail memory = 147582976 (140 MB)
Initializing GEOMetry subsystem
K6-family MTRR support enabled (2 registers)
    ACPI-0159: *** Error: AcpiLoadTables: Could not get RSDP, 
AE_NO_ACPI_TABLES
    ACPI-0213: *** Error: AcpiLoadTables: Could not load tables: 
AE_NO_ACPI_TABLES
ACPI: table load failed: AE_NO_ACPI_TABLES
npx0: <math processor> on motherboard
npx0: INT 16 interface
Using $PIR table, 4 entries at 0xc00fdf70
pcib0: <OPTi 82C700 host to PCI bridge> at pcibus 0 on motherboard
pci0: <PCI bus> on pcib0
isab0: <PCI-ISA bridge> at device 1.0 on pci0
isa0: <ISA bus> on isab0
cbb0: <TI1131 PCI-CardBus Bridge> at device 10.0 on pci0
cardbus0: <CardBus bus> on cbb0
pccard0: <16-bit PCCard bus> on cbb0
pci_cfgintr: 0:10 INTA routed to irq 11
cbb1: <TI1131 PCI-CardBus Bridge> at device 10.1 on pci0
cardbus1: <CardBus bus> on cbb1
pccard1: <16-bit PCCard bus> on cbb1
pci_cfgintr: 0:10 INTB routed to irq 11
pci0: <display, VGA> at device 18.0 (no driver attached)
ohci0: <OPTi 82C861 (FireLink) USB controller> mem 0xfecff000-0xfecfffff irq 
10 at device 19.0 on pci0
usb0: OHCI version 1.0, legacy support
usb0: <OPTi 82C861 (FireLink) USB controller> on ohci0
usb0: USB revision 1.0
uhub0: OPTi OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
atapci0: <Generic PCI ATA controller> port 0xfcf0-0xfcff at device 20.0 on 
pci0
atapci0: Busmastering DMA not supported
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
orm0: <Option ROM> at iomem 0xc0000-0xcbfff on isa0
pmtimer0 on isa0
fdc0: <Enhanced floppy controller (i82077, NE72065 or clone)> at port 
0x3f7,0x3f0-0x3f5 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 0x64,0x60 on isa0
atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model Generic PS/2 mouse, device ID 0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A
sio1: configured irq 3 not in bitmap of probed irqs 0
sio1: port may not be enabled
unknown: <PNP0303> can't assign resources (port)
speaker0: <PC speaker> at port 0x61 on isa0
psmcpnp0: irq resource info is missing; assuming irq 12
unknown: <PNP0501> can't assign resources (port)
unknown: <PNP0700> can't assign resources (port)
Timecounters tick every 10.000 msec
WARNING: apm_saver module requires apm enabled
ipfw2 initialized, divert enabled, rule-based forwarding enabled, default to 
accept, logging limited to 100 packets/entry by default
wi0: <WaveLAN/IEEE> at port 0x100-0x13f irq 11 function 0 config 1 on pccard0
wi0: 802.11 address: 00:90:d1:07:60:ee
wi0: using RF:PRISM2 MAC:HFA3841 CARD:HWB3163 rev.A
wi0: Intersil Firmware: Primary 0.03.00, Station 0.07.06
ad0: 19077MB <IBM-DJSA-220> [38760/16/63] at ata0-master BIOSPIO
acd0: CDROM <TOSHIBA CD-ROM XM-1902B> at ata1-master BIOSPIO
Mounting root from ufs:/dev/md0
<118>May 17 01:38:24 init: /etc/pwd.db: No such file or directory
<118>Enter full pathname of shell or RETURN for /bin/sh: 
<118># 
<118>

--------------

A diff of the two dmesg outputs:

diff dmesg2 dmesg1

dmesg1=kernel that panics
dmesg2=kernel that does not panic

4c4
< FreeBSD 5.0-RELEASE-p7 #1: Fri May 16 15:18:39 CEST 2003
---
> FreeBSD 5.0-RELEASE-p7 #2: Fri May 16 15:56:53 CEST 2003
6c6
< Preloaded elf kernel "/kernel" at 0xc0f86000.
---
> Preloaded elf kernel "/kernel" at 0xc0e90000.
8c8
< Timecounter "TSC"  frequency 360790606 Hz
---
> Timecounter "TSC"  frequency 360790865 Hz
14c14
< avail memory = 146579456 (139 MB)
---
> avail memory = 147582976 (140 MB)
46a47
> pmtimer0 on isa0
48d48
< isa_dmainit(2, 1024) failed
68a69
> WARNING: apm_saver module requires apm enabled
77c78
< <118>May 17 01:37:02 init: /etc/pwd.db: No such file or directory
---
> <118>May 17 01:38:24 init: /etc/pwd.db: No such file or directory
80,87c81
< Waiting (max 60 seconds) for system process `vnlru' to stop...stopped
< Waiting (max 60 seconds) for system process `bufdaemon' to stop...stopped
< Waiting (max 60 seconds) for system process `syncer' to stop...stopped
< 
< syncing disks, buffers remaining... 
< done
< Uptime: 34s
< Rebooting...
---
> <118>

As you can see, in the kernel that panics, isa_dmainit gives an error.

My current test kernel config file follows:

#
# $FreeBSD: src/release/picobsd/net/PICOBSD,v 1.14 2002/03/15 08:46:18 luigi 
Exp $
#
#Line starting with #PicoBSD contains PicoBSD build parameters
#marker        def_sz  init    MFS_inodes      floppy_inodes
#PicoBSD       7000    init    4096            32768
options MD_ROOT_SIZE=7000      # same as def_sz

hints  "PICOBSD.hints"
machine		i386
#cpu		I386_CPU
cpu		I486_CPU
cpu		I586_CPU
cpu		I686_CPU
ident		WarBSD
maxusers	0

options		INET			#InterNETworking
#options		INET6
#options		SOFTUPDATES
#options		UFS_DIRHASH
#options		UFS_ACL
options		MSDOSFS
options		MD_ROOT
options		SYSVSHM
options		SYSVMSG
options		SYSVSEM
options		_KPOSIX_PRIORITY_SCHEDULING
options		KBD_INSTALL_CDEV
options		FFS			#Berkeley Fast Filesystem
options		NFSCLIENT		#Network Filesystem
options		MD_ROOT			#MFS as root
options		MSDOSFS			#MSDOS Filesystem
options		NTFS
options		CD9660			#ISO 9660 Filesystem
options		PSEUDOFS
options		PROCFS
options		COMPAT_43		#Compatible with BSD 4.3 [KEEP THIS!]
options		COMPAT_FREEBSD4
#options         COMPAT_OLDISA   #Use ISA shims and glue for old drivers

# Support for bridging and bandwidth limiting
#options	DUMMYNET
#options	BRIDGE

#options		INVARIANTS
#options		INVARIANT_SUPPORT
#options		WITNESS
#options		WITNESS_SKIPSPIN

device		isa
device		eisa
device		pci
device		mca

device 		acpi

device		fdc
#options		FDC_DEBUG

device  	ata
device          atadisk
device          atapicd
device		atapifd
                 
options         ATA_STATIC_ID           #Static device numbering

# atkbdc0 controls both the keyboard and the PS/2 mouse
device		atkbdc	
device		atkbd
device 		psm
device		vga
device		splash
device		blank_saver
device		agp
device		apm
device		pmtimer

# syscons is the default console driver, resembling an SCO console
device		sc	

device		npx

device		sio

device		scbus
device		da
device		ppbus
#device		ppc
device		lpt
#device		plip
#device		ppi

device		uhci
device		ohci
device		usb
device		ugen
#device		uhid
device		ukbd
#device		ulpt
device		umass
#device		ums
#device		aue
#device		cue
#device		kue


#PCCARD (PCMCIA) Support
device		cbb
device		pccard
device		cardbus

#oldcard pcmcia bus
#device		card	2
#device		pcic

#Serial ports
device		sio

# PCI Ethernet NICs.
device         de              # DEC/Intel DC21x4x (``Tulip'')
device         em              # Intel PRO/1000 adapter Gigabit Ethernet Card
device         txp             # 3Com 3cR990 (``Typhoon'')
device         vx              # 3Com 3c590, 3c595 (``Vortex'')

# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device         miibus          # MII bus support
device         dc              # DEC/Intel 21143 and various workalikes
device         fxp             # Intel EtherExpress PRO/100B (82557, 82558)
device         pcn             # AMD Am79C97x PCI 10/100 (precedence over 
'lnc')
device         rl              # RealTek 8129/8139
device         sf              # Adaptec AIC-6915 (``Starfire'')
device         sis             # Silicon Integrated Systems SiS 900/SiS 7016
device         ste             # Sundance ST201 (D-Link DFE-550TX)
device         tl              # Texas Instruments ThunderLAN
device         tx              # SMC EtherPower II (83c170 ``EPIC'')
device         vr              # VIA Rhine, Rhine II
device         wb              # Winbond W89C840F
device         xl              # 3Com 3c90x (``Boomerang'', ``Cyclone'')
device         bge             # Broadcom BCM570xx Gigabit Ethernet

# ISA Ethernet NICs.  pccard nics included.
device         cs              # Crystal Semiconductor CS89x0 NIC
# 'device ed' requires 'device miibus'
device          ed              # NE[12]000, SMC Ultra, 3c503, DS8390 cards
device         ex              # Intel EtherExpress Pro/10 and Pro/10+
#device         ep              # Etherlink III based cards
device         fe              # Fujitsu MB8696x based cards
device         lnc             # NE2100, NE32-VL Lance Ethernet cards
device         sn              # SMC's 9000 series of ethernet chips
device         xe              # Xircom pccard ethernet

# ISA devices that use the old ISA shims
#device         le

# Wireless NIC cards
device         an              # Aironet 4500/4800 802.11 wireless NICs.
device         awi             # BayStack 660 and others
device          wi              # WaveLAN/Intersil/Symbol 802.11 wireless 
NICs.
#device         wl              # Older non 802.11 Wavelan wireless NIC.

device	random
device	loop
device	ether
device 	sl
device	tun	
#device	vn
device	pty	
device	md
#device	gzip		# Exec gzipped a.out's
device	bpf	
device	speaker
#device	gif
#device	faith

options		IPFIREWALL
options		IPFIREWALL_VERBOSE
options		IPFIREWALL_FORWARD
options		IPFIREWALL_VERBOSE_LIMIT=100
options		IPFIREWALL_DEFAULT_TO_ACCEPT
options		IPDIVERT
#options		IPFILTER
#options		IPFILTER_LOG
#options		IPSTEALTH
options		RANDOM_IP_ID
#options		ACCEPT_FILTER_DATA
options		POWERFAIL_NMI

device		apm_saver

--

My question is, is this a bug in the kernel, or am I doing something to cause 
it to act screwy?

This same bug occurs on both machines that I've tested it on.

Any help you can give is greatly appreciated.

-Stacy



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