Date: Sun, 11 Feb 2001 06:20:01 -0800 (PST) From: Stas Kisel <stask@tiger.unisquad.com> To: freebsd-bugs@FreeBSD.org Subject: Re: kern/24608: FreeBSD 4.2 Panics in Realtek rl driver Message-ID: <200102111420.f1BEK1d03832@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/24608; it has been noted by GNATS. From: Stas Kisel <stask@tiger.unisquad.com> To: freebsd-gnats-submit@FreeBSD.org Cc: myleal@spliceip.com.br Subject: Re: kern/24608: FreeBSD 4.2 Panics in Realtek rl driver Date: Sun, 11 Feb 2001 16:11:40 +0200 Hi. It looks like I've hit the same trouble. I've upgraded 4.1-RELEASE router to 4.2-RELEASE yesterday. It was rebooted several times while past 24 hours. I erroneously decided that it was IPSEC code trouble, and started to rebuild kernel without IPSEC. When after reboot with new kernel, I've got crash again, I decided to write PR or look appropriate (and found kern/24608). Crashes are located in 4 places: at ../../kern/uipc_mbuf2.c:270 at ../../pci/if_rl.c:1314 (this one originally reported in this PR) at ../../kern/uipc_socket.c:558 at ../../kern/uipc_mbuf.c:621 #6 0xc0161624 in m_aux_add (m=0xc05a7100, af=2, type=50) at ../../kern/uipc_mbuf2.c:270 #7 0xc01bf290 in ipsec_setsocket (m=0xc05a7100, so=0xc6df2a80) -- #6 0xc01fe56c in rl_encap (sc=0xc0d29a00, m_head=0xc05a7800) at ../../pci/if_rl.c:1314 #7 0xc01fe73b in rl_start (ifp=0xc0d29a00) at ../../pci/if_rl.c:1367 -- #6 0xc01620a8 in sosend (so=0xc6df1840, addr=0xc0da0ae0, uio=0xc7806ed0, top=0x0, control=0x0, flags=0, p=0xc7326f60) at ../../kern/uipc_socket.c:558 -- #6 0xc01fe56c in rl_encap (sc=0xc0d29800, m_head=0xc05a7600) at ../../pci/if_rl.c:1314 #7 0xc01fe73b in rl_start (ifp=0xc0d29800) at ../../pci/if_rl.c:1367 -- #6 0xc0161624 in m_aux_add (m=0xc05a7400, af=2, type=50) at ../../kern/uipc_mbuf2.c:270 #7 0xc01bf290 in ipsec_setsocket (m=0xc05a7400, so=0xc6df5000) -- #6 0xc01fe56c in rl_encap (sc=0xc0d29a00, m_head=0xc05b1500) at ../../pci/if_rl.c:1314 #7 0xc01fe73b in rl_start (ifp=0xc0d29a00) at ../../pci/if_rl.c:1367 -- #6 0xc016004c in m_copym (m=0xc05b1c00, off0=2920, len=872, wait=1) at ../../kern/uipc_mbuf.c:621 #7 0xc01ab330 in tcp_output (tp=0xc6f7a2e0) at ../../netinet/tcp_output.c:590 -- #6 0xc016004c in m_copym (m=0xc05a9700, off0=1460, len=872, wait=1) at ../../kern/uipc_mbuf.c:621 #7 0xc01ab330 in tcp_output (tp=0xc6f760c0) at ../../netinet/tcp_output.c:590 -- #6 0xc016004c in m_copym (m=0xc05b5c00, off0=7300, len=1156, wait=1) at ../../kern/uipc_mbuf.c:621 #7 0xc01ab330 in tcp_output (tp=0xc6f7c940) at ../../netinet/tcp_output.c:590 Here is my dmesg with IPSEC compiled: Copyright (c) 1992-2000 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 4.2-RELEASE #0: Sat Feb 10 15:05:08 EET 2001 stask@btr.unisquad.com:/usr/src/sys/compile/btr Timecounter "i8254" frequency 1193182 Hz CPU: Pentium II/Pentium II Xeon/Celeron (501.14-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x665 Stepping = 5 Features=0x183fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR> real memory = 67108864 (65536K bytes) avail memory = 61898752 (60448K bytes) Preloaded elf kernel "kernel" at 0xc033d000. Preloaded userconfig_script "/boot/kernel.conf" at 0xc033d09c. Pentium Pro MTRR support enabled npx0: <math processor> on motherboard npx0: INT 16 interface pcib0: <Intel 82443BX (440 BX) host to PCI bridge> on motherboard pci0: <PCI bus> on pcib0 pcib1: <Intel 82443BX (440 BX) PCI-PCI (AGP) bridge> at device 1.0 on pci0 pci1: <PCI bus> on pcib1 isab0: <Intel 82371AB PCI to ISA bridge> at device 7.0 on pci0 isa0: <ISA bus> on isab0 atapci0: <Intel PIIX4 ATA33 controller> port 0xffa0-0xffaf at device 7.1 on pci0 ata0: at 0x1f0 irq 14 on atapci0 ata1: at 0x170 irq 15 on atapci0 pci0: <Intel 82371AB/EB (PIIX4) USB controller> at 7.2 irq 10 chip1: <Intel 82371AB Power management controller> port 0x440-0x44f at device 7.3 on pci0 pci0: <ATI Mach64-VT graphics accelerator> at 15.0 rl0: <RealTek 8139 10/100BaseTX> port 0xe400-0xe4ff mem 0xfebeff00-0xfebeffff irq 9 at device 16.0 on pci0 rl0: Ethernet address: 00:50:ba:83:7a:09 miibus0: <MII bus> on rl0 rlphy0: <RealTek internal media interface> on miibus0 rlphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto rl1: <RealTek 8139 10/100BaseTX> port 0xe000-0xe0ff mem 0xfebefe00-0xfebefeff irq 7 at device 17.0 on pci0 rl1: Ethernet address: 00:50:ba:83:99:c7 miibus1: <MII bus> on rl1 rlphy1: <RealTek internal media interface> on miibus1 rlphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0 fdc0: FIFO enabled, 8 bytes threshold fd0: <1440-KB 3.5" drive> on fdc0 drive 0 atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0 atkbd0: <AT Keyboard> flags 0x1 irq 1 on atkbdc0 kbd0 at atkbd0 psm0: <PS/2 Mouse> irq 12 on atkbdc0 psm0: model Generic PS/2 mouse, device ID 0 vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 sc0: <System console> at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 16550A sio1 at port 0x2f8-0x2ff irq 3 on isa0 sio1: type 16550A ppc0: parallel port not found. IP packet filtering initialized, divert enabled, rule-based forwarding enabled, default to accept, logging limited to 100 packets/entry by default DUMMYNET initialized (000608) IPsec: Initialized Security Association Processing. IP Filter: v3.4.8 initialized. Default = pass all, Logging = enabled ad0: 6149MB <WDC WD64AA> [13328/15/63] at ata0-master UDMA33 Mounting root from ufs:/dev/ad0s1a WARNING: / was not properly dismounted ipfw: Accounting cleared. uhci0: <Intel 82371AB/EB (PIIX4) USB controller> port 0xef80-0xef9f irq 10 at device 7.2 on pci0 usb0: <Intel 82371AB/EB (PIIX4) USB controller> on uhci0 usb0: USB revision 1.0 uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered Here is kgdb output on core of kernel without IPSEC. I've resently got one more crash, kgdb output is almost the same. I'll post it if needed, and I'll post as much of this staff as needed :) Script started on Sun Feb 11 14:56:39 2001 btr# 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 /sys/compile/btr/kernel.debug Reading symbols from /sys/compile/btr/kernel.debug...done. (kgdb) exec-file /var/crash/kernel.42 (kgdb) core-file /var/crash/vmcore.42 IdlePTD 3305472 initial pcb at 2a60e0 panicstr: page fault panic messages: --- Fatal trap 12: page fault while in kernel mode fault virtual address = 0x5ac0ac00 fault code = supervisor read, page not present instruction pointer = 0x8:0xc01e8b20 stack pointer = 0x10:0xc02850a4 frame pointer = 0x10:0xc02850b0 code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, def32 1, gran 1 processor eflags = interrupt enabled, resume, IOPL = 3 current process = Idle interrupt mask = net tty trap number = 12 panic: page fault syncing disks... 5 3 done Uptime: 33m9s dumping to dev #ad/0x20001, offset 380928 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 ../../kern/kern_shutdown.c:469 469 if (dumping++) { (kgdb) bt #0 dumpsys () at ../../kern/kern_shutdown.c:469 #1 0xc013e397 in boot (howto=256) at ../../kern/kern_shutdown.c:309 #2 0xc013e72d in panic (fmt=0xc027a0af "page fault") at ../../kern/kern_shutdown.c:556 #3 0xc02451b2 in trap_fatal (frame=0xc0285064, eva=1522576384) at ../../i386/i386/trap.c:951 #4 0xc0244e65 in trap_pfault (frame=0xc0285064, usermode=0, eva=1522576384) at ../../i386/i386/trap.c:844 #5 0xc0244a07 in trap (frame={tf_fs = 16, tf_es = -1071120368, tf_ds = -1820065776, tf_edi = 1, tf_esi = 6754970, tf_ebp = -1071099728, tf_isp = -1071099760, tf_ebx = 1, tf_edx = 1522576384, tf_ecx = 0, tf_eax = 6754970, tf_trapno = 12, tf_err = 0, tf_eip = -1071740128, tf_cs = 8, tf_eflags = 78342, tf_esp = -1067788544, tf_ss = -1067788544}) at ../../i386/i386/trap.c:443 #6 0xc01e8b20 in rl_encap (sc=0xc0d29800, m_head=0xc05ad700) at ../../pci/if_rl.c:1314 #7 0xc01e8cef in rl_start (ifp=0xc0d29800) at ../../pci/if_rl.c:1367 #8 0xc0181aac in ether_output_frame (ifp=0xc0d29800, m=0xc05ad700) at ../../net/if_ethersubr.c:401 #9 0xc0181a1a in ether_output (ifp=0xc0d29800, m=0xc05ad700, dst=0xc0d9c130, rt0=0xc0ec8400) at ../../net/if_ethersubr.c:354 #10 0xc019f697 in ip_output (m0=0xc05ad700, opt=0x0, ro=0xc6fb9d08, flags=0, imo=0x0) at ../../netinet/ip_output.c:787 #11 0xc01a43da in tcp_output (tp=0xc6fb9d80) at ../../netinet/tcp_output.c:859 ---Type <return> to continue, or q <return> to quit--- #12 0xc01a31ad in tcp_input (m=0xc05aa700, off0=20, proto=6) at ../../netinet/tcp_input.c:2220 #13 0xc019df03 in ip_input (m=0xc05aa700) at ../../netinet/ip_input.c:731 #14 0xc019df77 in ipintr () at ../../netinet/ip_input.c:759 (kgdb) up 6 #6 0xc01e8b20 in rl_encap (sc=0xc0d29800, m_head=0xc05ad700) at ../../pci/if_rl.c:1314 1314 return(1); (kgdb) l 1309 */ 1310 1311 MGETHDR(m_new, M_DONTWAIT, MT_DATA); 1312 if (m_new == NULL) { 1313 printf("rl%d: no memory for tx list", sc->rl_unit); 1314 return(1); 1315 } 1316 if (m_head->m_pkthdr.len > MHLEN) { 1317 MCLGET(m_new, M_DONTWAIT); 1318 if (!(m_new->m_flags & M_EXT)) { (kgdb) p *sc $1 = {arpcom = {ac_if = {if_softc = 0xc0d29800, if_name = 0xc0265d76 "rl", if_link = {tqe_next = 0xc02a6ae0, tqe_prev = 0xc0d29a08}, if_addrhead = { tqh_first = 0xc0d32f00, tqh_last = 0xc0d7d690}, if_pcount = 0, if_bpf = 0xc0595760, if_index = 2, if_unit = 1, if_timer = 0, if_flags = -30717, if_ipending = 0, if_linkmib = 0x0, if_linkmiblen = 0, if_data = {ifi_type = 6 '\006', ifi_physical = 0 '\000', ifi_addrlen = 6 '\006', ifi_hdrlen = 14 '\016', ifi_recvquota = 0 '\000', ifi_xmitquota = 0 '\000', ifi_mtu = 1500, ifi_metric = 0, ifi_baudrate = 10000000, ifi_ipackets = 9556, ifi_ierrors = 0, ifi_opackets = 9758, ifi_oerrors = 0, ifi_collisions = 0, ifi_ibytes = 1958413, ifi_obytes = 975722, ifi_imcasts = 3, ifi_omcasts = 0, ifi_iqdrops = 0, ifi_noproto = 0, ifi_hwassist = 0, ifi_unused = 0, ifi_lastchange = {tv_sec = 0, tv_usec = 0}}, if_multiaddrs = {lh_first = 0xc0595000}, if_amcount = 0, if_output = 0xc0181708 <ether_output>, if_start = 0xc01e8ccc <rl_start>, if_done = 0, if_ioctl = 0xc01e9164 <rl_ioctl>, if_watchdog = 0xc01e9250 <rl_watchdog>, if_poll_recv = 0, if_poll_xmit = 0, if_poll_intren = 0, if_poll_slowinput = 0, if_init = 0xc01e8e8c <rl_init>, if_resolvemulti = 0xc0181ddc <ether_resolvemulti>, if_snd = { ifq_head = 0x0, ifq_tail = 0x0, ifq_len = 0, ifq_maxlen = 50, ifq_drops = 0}, if_poll_slowq = 0x0, if_prefixhead = {tqh_first = 0x0, tqh_last = 0xc0d298d0}}, ac_enaddr = "\000Pº\203\231Ç", ---Type <return> to continue, or q <return> to quit--- ac_multicnt = 0, ac_netgraph = 0x0}, rl_bhandle = 57344, rl_btag = 0, rl_res = 0xc0d2d780, rl_irq = 0xc0d2d700, rl_intrhand = 0xc0595860, rl_miibus = 0xc0d30400, rl_unit = 1 '\001', rl_type = 2 '\002', rl_stats_no_timeout = 0 '\000', rl_txthresh = 96, rl_cdata = {cur_rx = 0, rl_rx_buf = 0xc6417008 "ataID = A33D1B4B5493F0AEF66DE545547781EF, maxResults = 4, TTL = 1, serverIP=213.73.176.103\n\216\022\f8", rl_rx_buf_ptr = 0xc6417000 "\017·", rl_tx_chain = {0x0, 0x0, 0x0, 0x0}, last_tx = 2 '\002', cur_tx = 2 '\002'}, rl_stat_ch = { callout = 0xc2154588}} (kgdb) p sc->rl_unit $2 = 1 '\001' (kgdb) p m_new $3 = (struct mbuf *) 0x1 (kgdb) p *m_new cannot read proc at 0 (kgdb) Script done on Sun Feb 11 15:38:55 2001 Thank you for your attention. \bye Stas To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200102111420.f1BEK1d03832>