From owner-freebsd-bugs Wed Oct 2 17:10: 9 2002 Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B7A1237B401 for ; Wed, 2 Oct 2002 17:10:02 -0700 (PDT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id CBE3E43E86 for ; Wed, 2 Oct 2002 17:10:01 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.6/8.12.6) with ESMTP id g930A1Co028918 for ; Wed, 2 Oct 2002 17:10:01 -0700 (PDT) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.6/8.12.6/Submit) id g930A173028917; Wed, 2 Oct 2002 17:10:01 -0700 (PDT) Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5B8F337B401 for ; Wed, 2 Oct 2002 17:01:56 -0700 (PDT) Received: from www.freebsd.org (www.freebsd.org [216.136.204.117]) by mx1.FreeBSD.org (Postfix) with ESMTP id DA6E243E65 for ; Wed, 2 Oct 2002 17:01:55 -0700 (PDT) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.12.6/8.12.6) with ESMTP id g9300t7R092274 for ; Wed, 2 Oct 2002 17:00:55 -0700 (PDT) (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.12.6/8.12.6/Submit) id g9300ta5092273; Wed, 2 Oct 2002 17:00:55 -0700 (PDT) Message-Id: <200210030000.g9300ta5092273@www.freebsd.org> Date: Wed, 2 Oct 2002 17:00:55 -0700 (PDT) From: Ansh Kanwar To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-1.0 Subject: kern/43605: enabling polling in the kernel causes page fault/crash Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org >Number: 43605 >Category: kern >Synopsis: enabling polling in the kernel causes page fault/crash >Confidential: no >Severity: serious >Priority: high >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Wed Oct 02 17:10:01 PDT 2002 >Closed-Date: >Last-Modified: >Originator: Ansh Kanwar >Release: 4.6.2 >Organization: Expertcity.com >Environment: FreeBSD rack1-8.nwk 4.6.2-RELEASE-p2 FreeBSD 4.6.2-RELEASE-p2 #0: Fri Sep 27 11:47:02 PDT 2002 root@rack1-8.nwk:/usr/obj/usr/src/sys/EC-RACK-02 i386 >Description: Device polling was turned on through sysctl kern.polling.enable=1. As the throughput increased, the machine crashed with the following messages on the console: Fatal trap 12: page fault while in kernel mode fault virtual address = 0xa0205800 fault code = supervisor read, page not present instruction pointer = 0x8:0xc013211c stack pointer = 0x10:0xc02820f0 frame pointer = 0x10:0xc0282100 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 = Idle interrupt mask = net trap number = 12 panic: page fault syncing disks... Fatal trap 12: page fault while in kernel mode fault virtual address = 0x30 fault code = supervisor read, page not present instruction pointer = 0x8:0xc01f9318 stack pointer = 0x10:0xc0281f14 frame pointer = 0x10:0xc0281f1c 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 = Idle interrupt mask = net bio cpoll stalled [1] in phase 2 am trap number = 12 panic: page fault Uptime: 16h32m22s Fatal trap 12: page fault while in kernel mode fault virtual address = 0xa0205800 fault code = supervisor read, page not present instruction pointer = 0x8:0xc013211c stack pointer = 0x10:0xc0281ce0 frame pointer = 0x10:0xc0281cf0 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 = Idle interrupt mask = net bio cam trap number = 12 panic: page fault Uptime: 16h32m22s Fatal trap 12: page fault while in kernel mode fault virtual address = 0xa0205800 fault code = supervisor read, page not present instruction pointer = 0x8:0xc013211c stack pointer = 0x10:0xc0281aac frame pointer = 0x10:0xc0281abc 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 = Idle interrupt mask = net bio cam trap number = 12 panic: page fault Uptime: 16h32m23s -------------- The machine had a custom kernel with the kern config: START CONFIG FILE EC-RACK-02 ___# ___# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.246.2.43 2002/05/23 17:04:01 obrien Exp $ ___# ___# Compiled by: Anshuman Kanwar ___# Date : Aug 15 2002 ___# ___# -02: added polling option jb ___machine i386 ___cpu I686_CPU ___ident EC-RACK-02 ___maxusers 0 ___#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 SOFTUPDATES #Enable FFS soft updates support ___options UFS_DIRHASH #Improve performance on big directories ___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 ___# increase max (and default) datafile size ___options MAXDSIZ="(2048*1024*1024)" ___options DFLDSIZ="(2048*1024*1024)" ___options INCLUDE_CONFIG_FILE # Include this file in kernel ___options IPFIREWALL #firewall ___options IPFIREWALL_VERBOSE #print information about dropped packets ___options IPFIREWALL_VERBOSE_LIMIT=100 #limit verbosity ___options IPFIREWALL_DEFAULT_TO_ACCEPT #allow everything by default ___options IPFIREWALL_FORWARD # ___options MAXUSERS=0 ___options DEVICE_POLLING ___pseudo-device vlan ___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 ___# ___# 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 byte 171466___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 ___# increase max (and default) datafile size ___options MAXDSIZ="(2048*1024*1024)" ___options DFLDSIZ="(2048*1024*1024)" ___options INCLUDE_CONFIG_FILE # Include this file in kernel ___options IPFIREWALL #firewall ___options IPFIREWALL_VERBOSE #print information about dropped packets ___options IPFIREWALL_VERBOSE_LIMIT=100 #limit verbosity ___options IPFIREWALL_DEFAULT_TO_ACCEPT #allow everything by default ___options IPFIREWALL_FORWARD # ___options MAXUSERS=0 ___options DEVICE_POLLING ___pseudo-device vlan ___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 ___# ___# 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 ___options ATA_STATIC_ID #Static device numbering ___# SCSI Controllers ___# atkbdc0 controls both the keyboard and the PS/2 mouse ___device atkbdc0 at isa? port IO_KBD ___device atkbd0 at atkbdc? irq 1 flags 0x1 ___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 ___# 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 irq 4 ___device sio1 at isa? port IO_COM2 flags 0x10 irq 3 ___device sio2 at isa? disable port IO_COM3 irq 5 ___device sio3 at isa? disable port IO_COM4 irq 9 ___# PCI Ethernet NICs. ___device de # DEC/Intel DC21x4x (``Tulip'') ___device em # Intel PRO/1000 adapter Gigabit Ethernet Card (``Wiseman'') ___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! ___# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs! ___device miibus # MII bus support ___device fxp # Intel EtherExpress PRO/100B (82557, 82558) ___# 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 END CONFIG FILE EC-RACK-02 >How-To-Repeat: Not known precisely. Turn on device polling, and pump data at increasing bandwidth. >Fix: Unknown. >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message