From owner-freebsd-bugs Thu Feb 15 23: 5:46 2001 Delivered-To: freebsd-bugs@freebsd.org Received: from segfault.kiev.ua (segfault.kiev.ua [193.193.193.4]) by hub.freebsd.org (Postfix) with ESMTP id E7A0137B67D for ; Thu, 15 Feb 2001 23:05:31 -0800 (PST) Received: (from uucp@localhost) by segfault.kiev.ua (8) with UUCP id JCB99099 for freebsd-bugs@freebsd.org; Fri, 16 Feb 2001 09:05:22 +0200 (EET) (envelope-from netch@iv.nn.kiev.ua) Received: (from netch@localhost) by iv.nn.kiev.ua (8.11.2/8.11.2) id f1G6ujp00688 for freebsd-bugs@freebsd.org; Fri, 16 Feb 2001 08:56:45 +0200 (EET) (envelope-from netch) Date: Fri, 16 Feb 2001 08:56:45 +0200 From: Valentin Nechayev To: freebsd-bugs@freebsd.org Subject: panic on dummynet code Message-ID: <20010216085645.A381@iv.nn.kiev.ua> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.95.3i X-42: On Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org System is 5.0-CURRENT-20010211. The panic was occured ~2 seconds after commands: ipfw pipe 1 config bw 300 ipfw add 1000 pipe 1 tcp from any to 193.193.193.107 80 and while wget downloaded a file from http server at 193.193.193.107. Panic description from console: fault 12: page fault in kernel mode: supervisor read, page not present; EIP=0xc01e42aa, ESP=0xc7bebedc Command: transmit_event+0x7a: movl 0x14(%ebx),%eax EBX is 0x1006 This command is from DN_KEY_LEQ() macro in transmit_event(), file netinet/ip_dummynet.c, line is marked below with '>': ==={{{ static void transmit_event(struct dn_pipe *pipe) { struct dn_pkt *pkt ; > while ( (pkt = pipe->head) && DN_KEY_LEQ(pkt->output_time, curr_time) ) { /* * first unlink, then call procedures, since ip_input() can invoke * ip_output() and viceversa, thus causing nested calls */ pipe->head = DN_NEXT(pkt) ; ===}}} pipe equals to 0xc0b79b00, but pipe->head (placed at faulty command in %ebx) is 0x1006, i.e. outside of kernel address space. Stack is (excluding debugger and panic routines): (kgdb) bt [...] #10 0xc027ace7 in trap () #11 0xc01e42aa in transmit_event () #12 0xc01e485e in ready_event_wfq () #13 0xc01e48f7 in dummynet () #14 0xc01891a6 in softclock () #15 0xc0176f6b in ithread_loop () #16 0xc0176381 in fork_exit () Kernel config is ==={{{ machine i386 cpu I486_CPU cpu I586_CPU cpu I686_CPU ident nn12 maxusers 32 hints "GENERIC.hints" #Default places to look for devices. options INET #InterNETworking options IPFIREWALL options IPFIREWALL_VERBOSE options IPFIREWALL_VERBOSE_LIMIT=100 #limit verbosity options IPFIREWALL_DEFAULT_TO_ACCEPT #allow everything by default options IPDIVERT #divert sockets options TCP_DROP_SYNFIN #drop TCP packets with SYN+FIN options TCP_RESTRICT_RST #restrict emission of TCP RST options DUMMYNET options FFS #Berkeley Fast Filesystem # options FFS_ROOT #FFS usable as root device [keep this!] options SOFTUPDATES options MFS #Memory Filesystem options NFS #Network Filesystem options MSDOSFS #MSDOS Filesystem options CD9660 #ISO 9660 Filesystem options PROCFS #Process filesystem options EXT2FS options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!] options SCSI_DELAY=5000 options HZ=230 options MSGBUF_SIZE=81920 options DDB options USERCONFIG #boot -c editor options VISUAL_USERCONFIG #visual boot -c editor options INCLUDE_CONFIG_FILE options KTRACE #ktrace(1) support options SYSVSHM #SYSV-style shared memory options SYSVMSG #SYSV-style message queues options SYSVSEM #SYSV-style semaphores options VFS_AIO options P1003_1B #Posix P1003_1B real-time extensions options _KPOSIX_PRIORITY_SCHEDULING options _KPOSIX_VERSION=199309L options KBD_INSTALL_CDEV # install a CDEV entry in /dev device random device isa device eisa device pci #options COMPAT_OLDISA # compatability shims for lnc, fe, le #options COMPAT_OLDPCI # compatability shims for lnc, vx # Floppy drives device fdc # ATA and ATAPI devices device ata device atadisk # ATA disk drives device atapicd # ATAPI CDROM drives options ATA_STATIC_ID #Static device numbering #options ATA_ENABLE_ATAPI_DMA #Enable DMA on ATAPI devices # atkbdc0 controls both the keyboard and the PS/2 mouse device atkbdc 1 device atkbd device psm device vga options VESA # splash screen/screen saver device splash # syscons is the default console driver, resembling an SCO console device sc 1 options SC_HISTORY_SIZE=200 # number of history buffer lines options SC_MOUSE_CHAR=0x3 # char code for text mode mouse cursor # Floating point support - do not disable. device npx # Power management support (see LINT for more options) device apm # 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 # Pseudo devices - the number indicates how many units to allocated. device loop # Network loopback device ether # Ethernet support device sl # Kernel SLIP device ppp 1 # Kernel PPP device tun # Packet tunnel. device pty 32 # Pseudo-ttys (telnet etc) device md # Memory "disks" device speaker device bpf 2 # Berkeley packet filter device vn 4 device snp device pcm device sbc device pca ===}}} Kernel core is being kept yet, please feel free to ask additional info. /netch To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message