From owner-freebsd-stable Tue May 9 9:21:11 2000 Delivered-To: freebsd-stable@freebsd.org Received: from polaris.we.lc.ehu.es (polaris.we.lc.ehu.es [158.227.6.43]) by hub.freebsd.org (Postfix) with ESMTP id 811AC37B7F9 for ; Tue, 9 May 2000 09:20:28 -0700 (PDT) (envelope-from jose@we.lc.ehu.es) Received: from we.lc.ehu.es (v-ger [158.227.6.179]) by polaris.we.lc.ehu.es (8.9.1/8.9.1) with ESMTP id SAA14562 for ; Tue, 9 May 2000 18:15:26 +0200 (MET DST) Message-ID: <391839A7.C0AC0D71@we.lc.ehu.es> Date: Tue, 09 May 2000 18:15:35 +0200 From: "Jose M. Alcaide" Organization: Universidad del Pais Vasco - Dpto. de Electricidad y Electronica X-Mailer: Mozilla 4.72 [en] (X11; U; Linux 2.0.36 i386) X-Accept-Language: es-ES, es, en-US, en MIME-Version: 1.0 To: stable@FreeBSD.org Subject: trap 12 in in_delayed_cksum() (netinet/ip_output.c) Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG After I cvsupped and made the world yesterday, one of my 4.0-STABLE systems panics with a trap 12 while there is high network activity. I can reproduce the panic, for example, doing a ping -f to the system while trying to connect via ssh from another machine. Also, the network file transfers are slow and frequently get blocked for several seconds, especially when using scp (and eventually panic the system). This is what I obtain from a debugging kernel: root@tiburon[/sys/compile/TIBURON]# gdb -k 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". (kgdb) symbol-file kernel.debug Reading symbols from kernel.debug...done. (kgdb) kernel-file /var/crash/kernel.1 Undefined command: "kernel-file". Try "help". (kgdb) exec-file /var/crash/kernel.1 (kgdb) core-file /var/crash/vmcore.1 IdlePTD 3190784 initial pcb at 294060 panicstr: page fault panic messages: --- Fatal trap 12: page fault while in kernel mode fault virtual address = 0x8 fault code = supervisor read, page not present instruction pointer = 0x8:0xc0199f95 stack pointer = 0x10:0xc027450c frame pointer = 0x10:0xc0274538 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 = 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:0xc01f825c stack pointer = 0x10:0xc0274308 frame pointer = 0x10:0xc027430c 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 = bio trap number = 12 panic: page fault Uptime: 25m1s dumping to dev #da/0x20001, offset 196608 dump 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 boot (howto=260) at ../../kern/kern_shutdown.c:304 304 dumppcb.pcb_cr3 = rcr3(); (kgdb) where #0 boot (howto=260) at ../../kern/kern_shutdown.c:304 #1 0xc0153260 in poweroff_wait (junk=0xc026c22f, howto=0) at ../../kern/kern_shutdown.c:554 #2 0xc0236602 in trap_fatal (frame=0xc02742c8, eva=48) at ../../i386/i386/trap.c:924 #3 0xc02362c1 in trap_pfault (frame=0xc02742c8, usermode=0, eva=48) at ../../i386/i386/trap.c:817 #4 0xc0235ea3 in trap (frame={tf_fs = 16, tf_es = 1074397200, tf_ds = 16, tf_edi = 0, tf_esi = -1065060352, tf_ebp = -1071168756, tf_isp = -1071168780, tf_ebx = -1071091972, tf_edx = 1074266176, tf_ecx = -1008666176, tf_eax = 0, tf_trapno = 12, tf_err = 0, tf_eip = -1071676836, tf_cs = 8, tf_eflags = 66050, tf_esp = -1065060352, tf_ss = -1071168724}) at ../../i386/i386/trap.c:423 #5 0xc01f825c in acquire_lock (lk=0xc0286efc) at ../../ufs/ffs/ffs_softdep.c:282 #6 0xc01fc074 in softdep_update_inodeblock (ip=0xc0847800, bp=0xc140a3d0, waitfor=0) at ../../ufs/ffs/ffs_softdep.c:3602 #7 0xc01f7506 in ffs_update (vp=0xc3e0f9c0, waitfor=0) at ../../ufs/ffs/ffs_inode.c:105 #8 0xc0200949 in ffs_fsync (ap=0xc02743bc) at ../../ufs/ffs/ffs_vnops.c:273 #9 0xc01ff274 in ffs_sync (mp=0xc0812600, waitfor=2, cred=0xc04e1600, p=0xc02a97c0) at vnode_if.h:537 #10 0xc017f24f in sync (p=0xc02a97c0, uap=0x0) at ../../kern/vfs_syscalls.c:549 #11 0xc0152ca7 in boot (howto=256) at ../../kern/kern_shutdown.c:226 #12 0xc0153260 in poweroff_wait (junk=0xc026c22f, howto=0) at ../../kern/kern_shutdown.c:554 #13 0xc0236602 in trap_fatal (frame=0xc02744cc, eva=8) at ../../i386/i386/trap.c:924 #14 0xc02362c1 in trap_pfault (frame=0xc02744cc, usermode=0, eva=8) at ../../i386/i386/trap.c:817 #15 0xc0235ea3 in trap (frame={tf_fs = -1011286000, tf_es = 1073872912, tf_ds = -1071185904, tf_edi = -1068614858, tf_esi = 51578, tf_ebp = -1071168200, tf_isp = -1071168264, tf_ebx = 0, tf_edx = 51578, tf_ecx = 51580, tf_eax = 0, tf_trapno = 12, tf_err = 0, tf_eip = -1072062571, tf_cs = 8, tf_eflags = 66118, tf_esp = -1068614912, tf_ss = 51580}) at ../../i386/i386/trap.c:423 #16 0xc0199f95 in in_delayed_cksum (m=0xc04e3b00) at ../../netinet/ip_output.c:979 #17 0xc01999e4 in ip_output (m0=0xc04e3b00, opt=0x0, ro=0xc02745cc, flags=0, imo=0x0) at ../../netinet/ip_output.c:782 #18 0xc0197da6 in icmp_send (m=0xc04e3b00, opts=0x0) at ../../netinet/ip_icmp.c:745 #19 0xc0197d27 in icmp_reflect (m=0xc04e3b00) at ../../netinet/ip_icmp.c:707 #20 0xc01979e4 in icmp_input (m=0xc04e3b00, off=20, proto=1) at ../../netinet/ip_icmp.c:510 #21 0xc0198622 in ip_input (m=0xc04e3b00) at ../../netinet/ip_input.c:743 #22 0xc0198683 in ipintr () at ../../netinet/ip_input.c:771 (kgdb) up 15 #15 0xc0235ea3 in trap (frame={tf_fs = -1011286000, tf_es = 1073872912, tf_ds = -1071185904, tf_edi = -1068614858, tf_esi = 51578, tf_ebp = -1071168200, tf_isp = -1071168264, tf_ebx = 0, tf_edx = 51578, tf_ecx = 51580, tf_eax = 0, tf_trapno = 12, tf_err = 0, tf_eip = -1072062571, tf_cs = 8, tf_eflags = 66118, tf_esp = -1068614912, tf_ss = 51580}) at ../../i386/i386/trap.c:423 423 (void) trap_pfault(&frame, FALSE, eva); (kgdb) frame frame->tf_ebp frame->tf_eip #0 0xc0199f95 in in_delayed_cksum (m=0xc04e3b00) at ../../netinet/ip_output.c:979 979 *(u_short *)(m->m_data + offset) = csum; (kgdb) print m $1 = (struct mbuf *) 0x0 (kgdb) The problem machine is a PPro 180 with 32 MB RAM and a 3C590 NIC (vx driver). Another machine, which runs _exactly_ the same version of FreeBSD, doesn't panic: this is a PIII 500 with 128 MB RAM and a Etherexpress Pro/100 NIC (fxp). Any ideas? TIA, -- JMA ----------------------------------------------------------------------- José Mª Alcaide | mailto:jose@we.lc.ehu.es Universidad del País Vasco | mailto:jmas@FreeBSD.org Dpto. de Electricidad y Electrónica | http://www.we.lc.ehu.es/~jose Facultad de Ciencias - Campus de Lejona | Tel.: +34-946012479 48940 Lejona (Vizcaya) - SPAIN | Fax: +34-946013071 ----------------------------------------------------------------------- "Beware of Programmers who carry screwdrivers" -- Leonard Brandwein To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message