Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 4 Feb 2002 11:42:16 +0200 (EET)
From:      "Michael I. Vasilenko" <acid@dg.net.ua>
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   kern/34605: kernel panic on loaded machine
Message-ID:  <200202040942.g149gGl61930@thunderbird.dg.net.ua>

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

>Number:         34605
>Category:       kern
>Synopsis:       kernel panic on loaded machine
>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 Feb 04 01:50:00 PST 2002
>Closed-Date:
>Last-Modified:
>Originator:     Michael I. Vasilenko
>Release:        FreeBSD 4.5-RC i386
>Organization:
DG Ltd. ISP
>Environment:
System: FreeBSD thunderbird.dg.net.ua 4.5-RC FreeBSD 4.5-RC #4: Mon Jan 21 17:41:56 EET 2002 root@thunderbird.dg.net.ua:/var/obj/usr/src/sys/BIRD i386


>Description:
	kernel panics under load

	kernel config:

machine		i386
cpu		I686_CPU
ident		BIRD
maxusers	128

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

#options 	MATH_EMULATE		#Support for x87 emulation
options 	INET			#InterNETworking
#options 	INET6			#IPv6 communications protocols
options 	FFS			#Berkeley Fast Filesystem
options 	FFS_ROOT		#FFS usable as root device [keep this!]
options 	SOFTUPDATES		#Enable FFS soft updates support
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 required
options 	MSDOSFS			#MSDOS Filesystem
options 	CD9660			#ISO 9660 Filesystem
options 	CD9660_ROOT		#CD-ROM usable as root, CD9660 required
options 	PROCFS			#Process filesystem
options 	COMPAT_43		#Compatible with BSD 4.3 [KEEP THIS!]
options 	SCSI_DELAY=15000	#Delay (in ms) before probing SCSI
options 	UCONSOLE		#Allow users to grab the console
options 	USERCONFIG		#boot -c editor
options 	VISUAL_USERCONFIG	#visual boot -c editor
options 	KTRACE			#ktrace(1) support
options 	SYSVSHM			#SYSV-style shared memory
options 	SYSVMSG			#SYSV-style message queues
options 	SYSVSEM			#SYSV-style semaphores
options 	P1003_1B		#Posix P1003_1B real-time extensions
options 	_KPOSIX_PRIORITY_SCHEDULING
options		ICMP_BANDLIM		#Rate limit bad replies
options 	KBD_INSTALL_CDEV	# install a CDEV entry in /dev

device		isa
device		eisa
device		pci

# Floppy drives
device		fdc0	at isa? port IO_FD1 irq 6 drq 2
device		fd0	at fdc0 drive 0
device		fd1	at fdc0 drive 1
#
# If you have a Toshiba Libretto with its Y-E Data PCMCIA floppy,
# don't use the above line for fdc0 but the following one:
#device		fdc0

# ATA and ATAPI devices
device		ata0	at isa? port IO_WD1 irq 14
device		ata1	at isa? port IO_WD2 irq 15
device		ata
device		atadisk			# ATA disk drives
device		atapicd			# ATAPI CDROM drives
device		atapifd			# ATAPI floppy drives
device		atapist			# ATAPI tape drives
options 	ATA_STATIC_ID		#Static device numbering

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

device		vga0	at isa?

# splash screen/screen saver
pseudo-device	splash

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

# Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver
#device		vt0	at isa?
#options 	XSERVER			# support for X server on a vt console
#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

# 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? irq 7
device		ppbus		# Parallel port bus (required)
device		lpt		# Printer
device		plip		# TCP/IP over parallel
device		ppi		# Parallel port interface device
#device		vpo		# Requires scbus and da


# PCI Ethernet NICs.
device		de		# DEC/Intel DC21x4x (``Tulip'')
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 NICs
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		wx		# Intel Gigabit Ethernet Card (``Wiseman'')
device		xl		# 3Com 3c90x (``Boomerang'', ``Cyclone'')

# Pseudo devices - the number indicates how many units to allocate.
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"
pseudo-device	gif		# IPv6 and IPv4 tunneling
pseudo-device	faith	1	# IPv6-to-IPv4 relaying (translation)

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

#
# Internet family options:
#
# MROUTING enables the kernel multicast packet forwarder, which works
# with mrouted(8).
#
# IPFIREWALL enables support for IP firewall construction, in
# conjunction with the `ipfw' program.  IPFIREWALL_VERBOSE sends
# logged packets to the system logger.  IPFIREWALL_VERBOSE_LIMIT
# limits the number of times a matching entry can be logged.
#
# WARNING:  IPFIREWALL defaults to a policy of "deny ip from any to any"
# and if you do not add other rules during startup to allow access,
# YOU WILL LOCK YOURSELF OUT.  It is suggested that you set firewall_type=open
# in /etc/rc.conf when first enabling this feature, then refining the
# firewall rules in /etc/rc.firewall after you've tested that the new kernel
# feature works properly.
#
# IPFIREWALL_DEFAULT_TO_ACCEPT causes the default rule (at boot) to
# allow everything.  Use with care, if a cracker can crash your
# firewall machine, they can get to your protected machines.  However,
# if you are using it as an as-needed filter for specific problems as
# they arise, then this may be for you.  Changing the default to 'allow'
# means that you won't get stuck if the kernel and /sbin/ipfw binary get
# out of sync.
#
# IPDIVERT enables the divert IP sockets, used by ``ipfw divert''
#
# IPSTEALTH enables code to support stealth forwarding (i.e., forwarding
# packets without touching the ttl).  This can be useful to hide firewalls
# from traceroute and similar tools.
#
# TCPDEBUG is undocumented.
#
#options 	MROUTING		# Multicast routing
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		IPFILTER_DEFAULT_BLOCK	#block all packets by default

# RANDOM_IP_ID causes the ID field in IP packets to be randomized
# instead of incremented by 1 with each packet generated.  This
# option closes a minor information leak which allows remote
# observers to determine the rate of packet generation on the
# machine by watching the counter.
options		RANDOM_IP_ID

# Statically Link in accept filters
options                ACCEPT_FILTER_DATA
options                ACCEPT_FILTER_HTTP

#
# TCP_DROP_SYNFIN adds support for ignoring TCP packets with SYN+FIN. This
# prevents nmap et al. from identifying the TCP/IP stack, but breaks support
# for RFC1644 extensions and is not recommended for web servers.
#
options 	TCP_DROP_SYNFIN		#drop TCP packets with SYN+FIN

# ICMP_BANDLIM enables icmp error response bandwidth limiting.   You
# typically want this option as it will help protect the machine from
# D.O.S. packet attacks.
#
options 	ICMP_BANDLIM

# DUMMYNET enables the "dummynet" bandwidth limiter. You need
# IPFIREWALL as well. See the dummynet(4) manpage for more info.
# BRIDGE enables bridging between ethernet cards -- see bridge(4).
# You can use IPFIREWALL and dummynet together with bridging.
options 	DUMMYNET
options 	BRIDGE
options         PANIC_REBOOT_WAIT_TIME=-1
# Directory hashing improves the speed of operations on very large
# directories at the expense of some memory.
# Warning: this is experimental code!
options         UFS_DIRHASH
#
# Enable the kernel debugger.
#
options 	DDB


gdb output:

GNU gdb 4.18
Copyright 1998 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-unknown-freebsd"...
IdlePTD at phsyical address 0x00390000
initial pcb at physical address 0x002f6be0
panicstr: from debugger
panic messages:
---
Fatal trap 12: page fault while in kernel mode
fault virtual address	= 0x52f8dcd4
fault code		= supervisor read, page not present
instruction pointer	= 0x8:0xc0243ca0
stack pointer	        = 0x10:0xcde6bc38
frame pointer	        = 0x10:0xcde6bc40
code segment		= base 0x0, limit 0xfffff, type 0x1b
			= DPL 0, pres 1, def32 1, gran 1
processor eflags	= interrupt enabled, resume, IOPL = 0
current process		= 32938 (perl)
interrupt mask		= net tty bio cam 
panic: from debugger
panic: from debugger
Uptime: 11d4h10m18s

dumping to dev #ad/0x20001, offset 543232
dump ata0: resetting devices .. done
255 254 253 252 251 250 249 248 247 246 245 244 243 242 241 240 239 238 237 236 235 234 233 232 231 230 229 228 227 226 225 224 223 222 221 220 219 218 217 216 215 214 213 212 211 210 209 208 207 206 205 204 203 202 201 200 199 198 197 196 195 194 193 192 191 190 189 188 187 186 185 184 183 182 181 180 179 178 177 176 175 174 173 172 171 170 169 168 167 166 165 164 163 162 161 160 159 158 157 156 155 154 153 152 151 150 149 148 147 146 145 144 143 142 141 140 139 138 137 136 135 134 133 132 131 130 129 128 127 126 125 124 123 122 121 120 119 118 117 116 115 114 113 112 111 110 109 108 107 106 105 104 103 102 101 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 
---
#0  dumpsys () at /usr/src/sys/kern/kern_shutdown.c:473
473		if (dumping++) {
(kgdb) where
#0  dumpsys () at /usr/src/sys/kern/kern_shutdown.c:473
#1  0xc0157907 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:313
#2  0xc0157cbd in panic (fmt=0xc0290364 "from debugger")
    at /usr/src/sys/kern/kern_shutdown.c:581
#3  0xc012b8fd in db_panic (addr=-1071367008, have_addr=0, count=-1, 
    modif=0xcde6baa4 "") at /usr/src/sys/ddb/db_command.c:435
#4  0xc012b89d in db_command (last_cmdp=0xc02c3524, cmd_table=0xc02c3364, 
    aux_cmd_tablep=0xc02f0598) at /usr/src/sys/ddb/db_command.c:333
#5  0xc012b962 in db_command_loop () at /usr/src/sys/ddb/db_command.c:457
#6  0xc012da7f in db_trap (type=12, code=0) at /usr/src/sys/ddb/db_trap.c:71
#7  0xc026f02e in kdb_trap (type=12, code=0, regs=0xcde6bbf8)
    at /usr/src/sys/i386/i386/db_interface.c:158
#8  0xc027be94 in trap_fatal (frame=0xcde6bbf8, eva=1392041172)
    at /usr/src/sys/i386/i386/trap.c:951
#9  0xc027bb6d in trap_pfault (frame=0xcde6bbf8, usermode=0, eva=1392041172)
    at /usr/src/sys/i386/i386/trap.c:849
#10 0xc027b713 in trap (frame={tf_fs = -1055129584, tf_es = 22216720, tf_ds = 16, 
      tf_edi = -838882976, tf_esi = 747, tf_ebp = -840516544, tf_isp = -840516572, 
      tf_ebx = -838882976, tf_edx = 1392041152, tf_ecx = -1548039271, 
      tf_eax = 131065, tf_trapno = 12, tf_err = 0, tf_eip = -1071367008, tf_cs = 8, 
      tf_eflags = 66054, tf_esp = -1066617444, tf_ss = -836543104})
    at /usr/src/sys/i386/i386/trap.c:448
#11 0xc0243ca0 in vm_page_lookup (object=0xcdffa960, pindex=747)
    at /usr/src/sys/vm/vm_page.c:516
#12 0xc0242c56 in vm_object_collapse (object=0xcdffa960)
    at /usr/src/sys/vm/vm_object.c:1137
#13 0xc0242064 in vm_object_deallocate (object=0xce2127e0)
    at /usr/src/sys/vm/vm_object.c:356
#14 0xc023f4c3 in vm_map_entry_delete (map=0xcbf98940, entry=0xcdc10a20)
    at /usr/src/sys/vm/vm_map.c:1823
#15 0xc023f645 in vm_map_delete (map=0xcbf98940, start=0, end=3217031168)
    at /usr/src/sys/vm/vm_map.c:1926
#16 0xc023f6d2 in vm_map_remove (map=0xcbf98940, start=0, end=3217031168)
    at /usr/src/sys/vm/vm_map.c:1951
#17 0xc014f83b in exec_new_vmspace (imgp=0xcde6be18)
    at /usr/src/sys/kern/kern_exec.c:520
#18 0xc0145ebd in exec_elf_imgact (imgp=0xcde6be18)
    at /usr/src/sys/kern/imgact_elf.c:508
#19 0xc014f084 in execve (p=0xcddfa8e0, uap=0xcde6bf80)
    at /usr/src/sys/kern/kern_exec.c:199
#20 0xc027c175 in syscall2 (frame={tf_fs = 672989231, tf_es = 140247087, 
      tf_ds = -1078001617, tf_edi = 135168132, tf_esi = 139057916, 
      tf_ebp = -1077937132, tf_isp = -840515628, tf_ebx = 672925284, 
      tf_edx = 140240480, tf_ecx = -1077937105, tf_eax = 59, tf_trapno = 12, 
      tf_err = 2, tf_eip = 672630768, tf_cs = 31, tf_eflags = 663, 
      tf_esp = -1077938312, tf_ss = 47}) at /usr/src/sys/i386/i386/trap.c:1157
#21 0xc026fde5 in Xint0x80_syscall ()
Cannot access memory at address 0xbfbffc14.
(kgdb) up 11
#11 0xc0243ca0 in vm_page_lookup (object=0xcdffa960, pindex=747)
    at /usr/src/sys/vm/vm_page.c:516
516		for (m = *bucket; m != NULL; m = m->hnext) {
(kgdb) print m
$1 = 0x0
(kgdb) print m->hnext
Cannot access memory at address 0x8.
(kgdb) print *bucket
$2 = {kb_next = 0x0, kb_last = 0x0, kb_calls = 0, kb_total = 0, kb_elmpercl = 4096, 
  kb_totalfree = 0, kb_highwat = 20480, kb_couldfree = 0}
(kgdb) q

>How-To-Repeat:
	don't know
>Fix:
	none

>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?200202040942.g149gGl61930>