From owner-freebsd-current Mon Apr 1 10:35:23 1996 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id KAA13830 for current-outgoing; Mon, 1 Apr 1996 10:35:23 -0800 (PST) Received: from ki.net (root@ki.net [205.150.102.1]) by freefall.freebsd.org (8.7.3/8.7.3) with ESMTP id KAA13780 for ; Mon, 1 Apr 1996 10:35:10 -0800 (PST) Received: from localhost (scrappy@localhost) by ki.net (8.7.4/8.7.4) with SMTP id NAA01225 for ; Mon, 1 Apr 1996 13:35:08 -0500 (EST) Date: Mon, 1 Apr 1996 13:35:06 -0500 (EST) From: "Marc G. Fournier" To: current@freebsd.org Subject: Finally...a core dump that works -- ed_start() bug Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-current@freebsd.org X-Loop: FreeBSD.org Precedence: bulk Hi... Well, after I don't know *how* many attempts to get a core dump from the ed_start() panic...I've got one. Now what do I do? :) I've checked the handbook, and followed the steps given for analysing the core, and came up with this. I've moved my core/kernel.debug to a seperate place so that I don't delete it accidentally, so if there is another command I should use to give better output, or if I've totally confused what I'm looking at, please let me know...this bug is about the only bug that I'm getting with -current right now, and would really love to see higher then 24hr uptimes on that machine :( BTW...since I already have a PR submitted for this, but not this information, is there a way of appending this onto the existing PR? Script started on Mon Apr 1 13:22:43 1996 freebsd# gdb -k /usr/src/sys/compile/freebsd/kernel.debug vmcore.4 GDB is free software and you are welcome to 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. GDB 4.13 (i386-unknown-freebsd), Copyright 1994 Free Software Foundation, Inc... IdlePTD 20d000 current pcb at 1dae20 panic: from debugger #0 boot (howto=260) at ../../i386/i386/machdep.c:942 942 dumppcb.pcb_ptd = rcr3(); (kgdb) where #0 boot (howto=260) at ../../i386/i386/machdep.c:942 #1 0xf0113707 in panic (fmt=0xf01011f8 "from debugger") at ../../kern/subr_prf.c:133 #2 0xf0101215 in db_panic (dummy1=-266744989, dummy2=0, dummy3=-1, dummy4=0xf01c9aac "") at ../../ddb/db_command.c:395 #3 0xf01010fe in db_command (last_cmdp=0xf01cab34, cmd_table=0xf01ca994) at ../../ddb/db_command.c:288 #4 0xf010127d in db_command_loop () at ../../ddb/db_command.c:417 #5 0xf01035e8 in db_trap (type=3, code=0) at ../../ddb/db_trap.c:73 #6 0xf019c93a in kdb_trap (type=3, code=0, regs=0xf01c9ba8) at ../../i386/i386/db_interface.c:136 #7 0xf01a48ec in trap (frame={tf_es = 16, tf_ds = 16, tf_edi = -266556620, tf_esi = -267382280, tf_ebp = -266560532, tf_isp = -266560560, tf_ebx = 256, tf_edx = -266745035, tf_ecx = 1920, tf_eax = 18, tf_trapno = 3, tf_err = 0, tf_eip = -266744989, tf_cs = -266600440, tf_eflags = 582, tf_esp = -266745051, tf_ss = -267307362}) at ../../i386/i386/trap.c:399 #8 0xf019d1b1 in calltrap () #9 0xf01136fe in panic (fmt=0xf01011f8 "from debugger") at ../../kern/subr_prf.c:129 #10 0xf0101215 in db_panic (dummy1=-266652479, dummy2=0, dummy3=-1, dummy4=0xf01c9c3c "") at ../../ddb/db_command.c:395 #11 0xf01010fe in db_command (last_cmdp=0xf01cab34, cmd_table=0xf01ca994) at ../../ddb/db_command.c:288 #12 0xf010127d in db_command_loop () at ../../ddb/db_command.c:417 #13 0xf01035e8 in db_trap (type=12, code=0) at ../../ddb/db_trap.c:73 #14 0xf019c93a in kdb_trap (type=12, code=0, regs=0xf01c9d8c) at ../../i386/i386/db_interface.c:136 #15 0xf01a50af in trap_fatal (frame=0xf01c9d8c) at ../../i386/i386/trap.c:736 #16 0xf01a4bac in trap_pfault (frame=0xf01c9d8c, usermode=0) at ../../i386/i386/trap.c:651 #17 0xf01a483f in trap (frame={tf_es = -267190256, tf_ds = -266534896, tf_edi = -267583428, tf_esi = -266477172, tf_ebp = -266560020, tf_isp = -266560076, tf_ebx = 656, tf_edx = 662, tf_ecx = 662, tf_eax = -267583488, tf_trapno = 12, tf_err = -266665984, tf_eip = -266652479, tf_cs = -267583480, tf_eflags = 66134, tf_esp = -1073610752, tf_ss = -258322176}) at ../../i386/i386/trap.c:319 #18 0xf019d1b1 in calltrap () #19 0xf01387d5 in ether_output (ifp=0xf01de18c, m0=0xf09a5100, dst=0xf09c5d70, rt0=0xf099ab00) at ../../net/if_ethersubr.c:307 #20 0xf0141ee1 in ip_output (m0=0xf09a5100, opt=0x0, ro=0xf09b5d2c, flags=0, imo=0x0) at ../../netinet/ip_output.c:355 #21 0xf0145e4d in tcp_output (tp=0xf094c900) at ../../netinet/tcp_output.c:689 #22 0xf0144cb2 in tcp_input (m=0xf09bf380, iphlen=20) at ../../netinet/tcp_input.c:1625 #23 0xf0140bdd in ip_input (m=0xf09bf380) at ../../netinet/ip_input.c:447 #24 0xf0140c54 in ipintr () at ../../netinet/ip_input.c:468 (kgdb) up 19 #19 0xf01387d5 in ether_output (ifp=0xf01de18c, m0=0xf09a5100, dst=0xf09c5d70, rt0=0xf099ab00) at ../../net/if_ethersubr.c:307 307 (*ifp->if_start)(ifp); (kgdb) list 302 splx(s); 303 senderr(ENOBUFS); 304 } 305 IF_ENQUEUE(&ifp->if_snd, m); 306 if ((ifp->if_flags & IFF_OACTIVE) == 0) 307 (*ifp->if_start)(ifp); 308 splx(s); 309 ifp->if_obytes += len + sizeof (struct ether_header); 310 if (m->m_flags & M_MCAST) 311 ifp->if_omcasts++; (kgdb) print ifp $1 = (struct ifnet *) 0xf00d003c (kgdb) print ifp->if_obytes There is no member named if_obytes. (kgdb) printf  ifp->if_start $2 = (void (*)()) 0xffffffff (kgdb) print ifp->if_flags $3 = -1 (kgdb) print m->m_flags There is no member named m_flags. (kgdb) quit freebsd# exit exit Script done on Mon Apr 1 13:28:33 1996 Marc G. Fournier | POP Mail Telnet Acct DNS Hosting System | WWW Services Database Services | Knowledge, Administrator | | Information and scrappy@ki.net | WWW: http://www.ki.net | Communications, Inc