From owner-freebsd-current Wed Nov 22 15:32: 0 2000 Delivered-To: freebsd-current@freebsd.org Received: from riffraff.plig.net (riffraff.plig.net [195.40.6.40]) by hub.freebsd.org (Postfix) with ESMTP id 1FD8D37B4D7 for ; Wed, 22 Nov 2000 15:31:50 -0800 (PST) Received: (from rv@localhost) by riffraff.plig.net (8.9.3/8.9.0) id XAA86801 for freebsd-current@freebsd.org; Wed, 22 Nov 2000 23:31:45 GMT Date: Wed, 22 Nov 2000 23:31:45 +0000 From: Russell Vincent To: freebsd-current@freebsd.org Subject: Kernel panic with ipfw pipes Message-ID: <20001122233145.A86303@riffraff.plig.net> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="ZGiS0Q5IWpPtfppv" Content-Disposition: inline User-Agent: Mutt/1.2.5i Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG --ZGiS0Q5IWpPtfppv Content-Type: text/plain; charset=us-ascii Content-Disposition: inline The attached kernel panic occurs when a connection is made that would pass through an ipfw pipe configured as: ipfw add 1000 pipe 1 tcp from any 119 to any out ipfw add 1001 pipe 2 tcp from any to any 119 in ipfw pipe 1 config bw 64Kbit/s ipfw pipe 2 config bw 64Kbit/s I can reproduce this at will (and have the vmcore), so if anyone needs more details, just let me know. This is -current of a few days ago (18th Nov 2000, if I recall correctly). -Russell --ZGiS0Q5IWpPtfppv Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="kgdb.out" 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 4771840 initial pcb at 3de1e0 panicstr: page fault panic messages: --- Fatal trap 12: page fault while in kernel mode fault virtual address = 0x7f7b1028 fault code = supervisor write, page not present instruction pointer = 0x8:0xc0248899 stack pointer = 0x10:0xc7098be4 frame pointer = 0x10:0xc7098c30 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 = 12 (swi6: clock) trap number = 12 panic: page fault syncing disks... 5 5 done Uptime: 1m27s dumping to dev #ad/1, offset 131072 dump ata0: resetting devices .. done 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 /b/src/sys/kern/kern_shutdown.c:477 477 if (dumping++) { (kgdb) where #0 dumpsys () at /b/src/sys/kern/kern_shutdown.c:477 #1 0xc01e26b3 in boot (howto=256) at /b/src/sys/kern/kern_shutdown.c:320 #2 0xc01e2ad8 in poweroff_wait (junk=0xc039e68f, howto=-966215744) at /b/src/sys/kern/kern_shutdown.c:568 #3 0xc03386b8 in trap_fatal (frame=0xc7098ba4, eva=2138771496) at /b/src/sys/i386/i386/trap.c:941 #4 0xc033843d in trap_pfault (frame=0xc7098ba4, usermode=0, eva=2138771496) at /b/src/sys/i386/i386/trap.c:855 #5 0xc0337ef7 in trap (frame={tf_fs = 16, tf_es = 16, tf_ds = 16, tf_edi = 0, tf_esi = 0, tf_ebp = -955675600, tf_isp = -955675696, tf_ebx = 1, tf_edx = 2138771456, tf_ecx = -24083, tf_eax = -1063531204, tf_trapno = 12, tf_err = 2, tf_eip = -1071347559, tf_cs = 8, tf_eflags = 66118, tf_esp = -1054004288, tf_ss = -1054027776}) at /b/src/sys/i386/i386/trap.c:438 #6 0xc0248899 in ip_output (m0=0xc09bcd00, opt=0x0, ro=0xc12d2be4, flags=0, imo=0x0) at /b/src/sys/netinet/ip_output.c:806 #7 0xc023e526 in transmit_event (pipe=0xc12cd000) at /b/src/sys/netinet/ip_dummynet.c:394 #8 0xc023e72b in ready_event (q=0xc12c2100) at /b/src/sys/netinet/ip_dummynet.c:525 #9 0xc023f467 in dummynet_io (pipe_nr=1, dir=1, m=0xc09bcd00, ifp=0xc09ae400, ro=0xc7098d98, dst=0xc12729d0, rule=0xc123a3a0, flags=0) at /b/src/sys/netinet/ip_dummynet.c:1062 #10 0xc024858b in ip_output (m0=0xc09bcd00, opt=0x0, ro=0xc7098d98, flags=0, imo=0x0) at /b/src/sys/netinet/ip_output.c:497 #11 0xc024f00c in tcp_respond (tp=0x0, ipgen=0xc09bcd3c, th=0xc09bcd50, m=0xc09bcd00, ack=2736966641, seq=0, flags=20) at /b/src/sys/netinet/tcp_subr.c:458 #12 0xc024cfc3 in tcp_input (m=0xc09bcd00, off0=20, proto=6) at /b/src/sys/netinet/tcp_input.c:2303 #13 0xc0244dd8 in ip_input (m=0xc09bcd00) at /b/src/sys/netinet/ip_input.c:729 #14 0xc023e53a in transmit_event (pipe=0xc12cef00) at /b/src/sys/netinet/ip_dummynet.c:399 #15 0xc023e72b in ready_event (q=0xc12c2180) at /b/src/sys/netinet/ip_dummynet.c:525 #16 0xc023eb63 in dummynet (unused=0x0) at /b/src/sys/netinet/ip_dummynet.c:660 #17 0xc01e9ad4 in softclock (dummy=0x0) at /b/src/sys/kern/kern_timeout.c:134 #18 0xc01d95cd in sithd_loop (dummy=0x0) at /b/src/sys/kern/kern_intr.c:227 (kgdb) quit --ZGiS0Q5IWpPtfppv Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename=RV # # GENERIC -- Generic kernel configuration file for FreeBSD/i386 # # 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 NOTES configuration file. If you are # in doubt as to the purpose or necessity of a line, check first in NOTES. # # $FreeBSD: src/sys/i386/conf/GENERIC,v 1.278 2000/09/20 17:30:20 wpaul Exp $ machine i386 cpu I586_CPU cpu I686_CPU ident RV maxusers 128 #To statically compile in device wiring instead of /boot/device.hints #hints "GENERIC.hints" #Default places to look for devices. #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 DEVFS #Device 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=1000 #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 KBD_INSTALL_CDEV # install a CDEV entry in /dev # 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=8 # number of busses #options NAPIC=1 # number of IO APICs #options NINTR=24 # number of INTs device isa device eisa device pci # Floppy drives device fdc # ATA and ATAPI devices 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 #options ATA_ENABLE_ATAPI_DMA #Enable DMA on ATAPI devices # SCSI Controllers device ahb # EISA AHA1742 family device ahc # AHA2940 and onboard AIC7xxx devices device amd # AMD 53C974 (Teckram DC-390(T)) device isp # Qlogic family #device ncr # NCR/Symbios Logic device sym # NCR/Symbios Logic (newer chipsets + those of `ncr') device adv device adw device bt device aha 1 device aic # RAID controllers interfaced to the SCSI subsystem device asr # DPT SmartRAID V, VI and Adaptec SCSI RAID device dpt # DPT Smartcache III, IV - See NOTES for options! device mly # Mylex AcceleRAID/eXtremeRAID # SCSI peripherals device scbus # SCSI bus (required) device da # Direct Access (disks) device sa # Sequential Access (tape etc) device cd # CD device pass # Passthrough device (direct SCSI access) # RAID controllers device aac # Adaptec FSA RAID device ida # Compaq Smart RAID device amr # AMI MegaRAID device mlx # Mylex DAC960 family # atkbdc0 controls both the keyboard and the PS/2 mouse device atkbdc 1 device atkbd device psm device vga # splash screen/screen saver device splash # syscons is the default console driver, resembling an SCO console device sc 1 # Enable this for the pcvt (VT220 compatible) console driver #device vt #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 npx # Power management support (see NOTES for more options) device apm # PCCARD (PCMCIA) support device card device pcic # Serial (COM) ports device sio # Parallel port device ppc 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 fxp # Intel EtherExpress PRO/100B (82557, 82558) device wx # Intel Gigabit Ethernet Card (``Wiseman'') # PCI Ethernet NICs that use the common MII bus controller code. device miibus # MII bus support device dc # DEC/Intel 21143 and various workalikes device pcn # AMD Am79C79x 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 9432TX (83c170 ``EPIC'') device vr # VIA Rhine, Rhine II device wb # Winbond W89C840F device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'') # ISA Ethernet NICs. device ed device ex device ep device fe device cs device sn # 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 wi # Aironet 4500/4800 802.11 wireless NICs. Note: the declaration below will # work for PCMCIA and PCI cards, as well as ISA cards set to ISA PnP # mode (the factory default). If you set the switches on your ISA # card for a manually chosen I/O address and IRQ, you must specify # those paremeters here. device an # BayStack 660 and others device awi # Xircom pccard ethernet device xe # Pseudo devices - the number indicates how many units to allocated. device random # Entropy device device loop # Network loopback device ether # Ethernet support device sl # Kernel SLIP device ppp 1 # Kernel PPP device tun # Packet tunnel. device pty # Pseudo-ttys (telnet etc) device md # Memory "disks" device gif 4 # IPv6 and IPv4 tunneling device faith 1 # IPv6-to-IPv4 relaying (translation) # The `bpf' device enables the Berkeley Packet Filter. # Be aware of the administrative consequences of enabling this! device bpf # Berkeley packet filter # USB support device uhci # UHCI PCI->USB interface device ohci # OHCI PCI->USB interface device usb # USB Bus (required) #device udbp # USB Double Bulk Pipe devices device ugen # Generic device uhid # "Human Interface Devices" device ukbd # Keyboard device ulpt # Printer device umass # Disks/Mass storage - Requires scbus and da device ums # Mouse device urio # Diamond Rio 500 MP3 player # USB Ethernet, requires mii device aue # ADMtek USB ethernet device cue # CATC USB ethernet device kue # Kawasaki LSI USB ethernet # Local mods options DUMMYNET 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 IPV6FIREWALL #firewall for IPv6 options IPV6FIREWALL_VERBOSE options IPV6FIREWALL_VERBOSE_LIMIT=100 options IPV6FIREWALL_DEFAULT_TO_ACCEPT options IPDIVERT #divert sockets --ZGiS0Q5IWpPtfppv-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message