From owner-freebsd-current Mon Apr 1 10:43:36 1996 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id KAA15123 for current-outgoing; Mon, 1 Apr 1996 10:43:36 -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 KAA15102 for ; Mon, 1 Apr 1996 10:43:31 -0800 (PST) Received: from localhost (scrappy@localhost) by ki.net (8.7.4/8.7.4) with SMTP id NAA01293 for ; Mon, 1 Apr 1996 13:43:29 -0500 (EST) Date: Mon, 1 Apr 1996 13:43:28 -0500 (EST) From: "Marc G. Fournier" To: current@freebsd.org Subject: ed_start() bug...more information 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... Went through the handbook again, and would like to change my story from the last time :) Here is my revised story...this one seems to make more sense then the last one...I sort of totally fudged up the last one, I think :( If there is more information I should/could be providing, please let me know... Oh, the Ethernet card is an SMC 8013EPC @ irq 5, maddr 0xd8000 with an msize of 16384 Script started on Mon Apr 1 13:39:35 1996 freebsd# gdb -k /usr/src/sys/compile/freebsd/kernel.debug vmcore.54 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 17 #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 319 (void) trap_pfault(&frame, FALSE); (kgdb) frame frame->tf_ebp frame->tf_eip #0 ed_start (ifp=0xf01de18c) at ../../i386/isa/if_ed.c:1744 1744 outb(sc->nic_addr + ED_P0_CR, sc->cr_proto | ED_CR_TXP | ED_CR_STA); (kgdb) list 1739 outb(sc->nic_addr + ED_P0_TBCR1, len >> 8); 1740 1741 /* 1742 * Set page 0, Remote DMA complete, Transmit Packet, and *Start* 1743 */ 1744 outb(sc->nic_addr + ED_P0_CR, sc->cr_proto | ED_CR_TXP | ED_CR_STA); 1745 sc->xmit_busy = 1; 1746 1747 /* 1748 * Point to next transmit buffer slot and wrap if necessary. (kgdb) print sc $1 = (struct ed_softc *) 0xf0905000 (kgdb) print sc->nic_addr $2 = 61575 (kgdb) up #1 0xf01387d5 in ether_output (ifp=0xf01de18c, m0=0xf09a5100, dst=0xf09c5d70, rt0=0xf099ab00) at ../../net/if_ethersubr.c:307 307 (*ifp->if_start)(ifp); (kgdb) up #2 0xf0141ee1 in ip_output (m0=0xf09a5100, opt=0x0, ro=0xf09b5d2c, flags=0, imo=0x0) at ../../netinet/ip_output.c:355 355 error = (*ifp->if_output)(ifp, m, (kgdb) up #3 0xf0145e4d in tcp_output (tp=0xf094c900) at ../../netinet/tcp_output.c:689 689 error = ip_output(m, tp->t_inpcb->inp_options, &tp->t_inpcb->inp_route, (kgdb) up #4 0xf0144cb2 in tcp_input (m=0xf09bf380, iphlen=20) at ../../netinet/tcp_input.c:1625 1625 (void) tcp_output(tp); (kgdb) up #5 0xf0140bdd in ip_input (m=0xf09bf380) at ../../netinet/ip_input.c:447 447 (*inetsw[ip_protox[ip->ip_p]].pr_input)(m, hlen); (kgdb) up #6 0xf0140c54 in ipintr () at ../../netinet/ip_input.c:468 468 ip_input(m); (kgdb) up Initial frame selected; you cannot go up. (kgdb) quit freebsd# exit exit Script done on Mon Apr 1 13:41:53 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