Date: Fri, 25 May 2001 23:01:42 +0300 From: Andrey Lakhno <land@dnepr.net> To: stable@freebsd.org Subject: rl driver - spontaneous kernel panics Message-ID: <20010525230141.A2752@dnepr.net>
next in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
Hi !
I have box running 4.2-STABLE (last cvsuped 15 February 2001).
It has four Realtek 8139 PCI cards. Before last night system runs ok.
But now it random panics. Nothing was chaged within last two weeks.
Kernel config and kernel debug whith gdb attached to this letter.
If you have any ideas how to fix the problem - tell me.
I suppose that one of cards became broken. But which of them ?
--
LAND-RIPE
[-- Attachment #2 --]
makeoptions DEBUG=-g
machine i386
cpu I386_CPU
cpu I486_CPU
cpu I586_CPU
cpu I686_CPU
ident XXX
maxusers 256
options INET #InterNETworking
options FFS #Berkeley Fast Filesystem
options FFS_ROOT #FFS usable as root device [keep this!]
options SOFTUPDATES #Enable FFS soft updates support
#options CD9660 #ISO 9660 Filesystem
options PROCFS #Process filesystem
options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!]
options UCONSOLE #Allow users to grab the console
options USERCONFIG #boot -c editor
options VISUAL_USERCONFIG #visual boot -c editor
options KTRACE #ktrace(1) support
options SYSVSHM #SYSV-style shared memory
options SYSVMSG #SYSV-style message queues
options SYSVSEM #SYSV-style semaphores
options P1003_1B #Posix P1003_1B real-time extensions
options _KPOSIX_PRIORITY_SCHEDULING
options ICMP_BANDLIM #Rate limit bad replies
options KBD_INSTALL_CDEV # install a CDEV entry in /dev
device isa
device eisa
device pci
# Floppy drives
#device fdc0 at isa? port IO_FD1 irq 6 drq 2
#device fd0 at fdc0 drive 0
# ATA and ATAPI devices
device ata0 at isa? port IO_WD1 irq 14
device ata1 at isa? port IO_WD2 irq 15
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 atkbdc0 at isa? port IO_KBD
device atkbd0 at atkbdc? irq 1 flags 0x1
#device psm0 at atkbdc? irq 12
device vga0 at isa?
# splash screen/screen saver
# pseudo-device splash
# syscons is the default console driver, resembling an SCO console
device sc0 at isa? flags 0x100
# Floating point support - do not disable.
device npx0 at nexus? port IO_NPX irq 13
# Power management support (see LINT for more options)
# device apm0 at nexus? disable flags 0x20 # Advanced Power Management
# Serial (COM) ports
device sio0 at isa? port IO_COM1 flags 0x10 irq 4
device sio1 at isa? port IO_COM2 irq 3
# Parallel port
#device ppc0 at isa? irq 7
#device ppbus # Parallel port bus (required)
#device ppi # Parallel port interface device
# PCI Ethernet NICs.
device miibus
device rl
# Pseudo devices - the number indicates how many units to allocated.
pseudo-device loop # Network loopback
pseudo-device ether # Ethernet support
#pseudo-device sl 1 # Kernel SLIP
pseudo-device ppp 2 # Kernel PPP
pseudo-device tun 4 # Packet tunnel.
pseudo-device pty # Pseudo-ttys (telnet etc)
#pseudo-device md # Memory "disks"
#pseudo-device gif 4 # IPv6 and IPv4 tunneling
#pseudo-device faith 1 # IPv6-to-IPv4 relaying (translation)
# The `bpf' pseudo-device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
pseudo-device bpf #Berkeley packet filter
#pseudo-device vlan 2
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPFIREWALL_FORWARD
options TCP_DROP_SYNFIN
options DUMMYNET
options HZ=1000
options SC_HISTORY_SIZE=1000
[-- Attachment #3 --]
Script started on Fri May 25 22:41:18 2001
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) exec-file /var/crash/kernel.0
(kgdb) core-file /var/crash/vmcore.0
IdlePTD 2695168
initial pcb at 21d0c0
panicstr: page fault
panic messages:
---
Fatal trap 12: page fault while in kernel mode
fault virtual address = 0x92c07500
fault code = supervisor read, page not present
instruction pointer = 0x8:0xc0187f18
stack pointer = 0x10:0xcdd20c88
frame pointer = 0x10:0xcdd20c94
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 = 438 (squid)
interrupt mask = net tty
trap number = 12
panic: page fault
syncing disks...
Fatal trap 12: page fault while in kernel mode
fault virtual address = 0x92c07500
fault code = supervisor read, page not present
instruction pointer = 0x8:0xc014b388
stack pointer = 0x10:0xcdd209a4
frame pointer = 0x10:0xcdd209c4
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 = 438 (squid)
interrupt mask = net tty
trap number = 12
panic: page fault
Uptime: 3h44m20s
dumping to dev #ad/0x20001, offset 658065
dump ata0: resetting devices .. done
190 189 188 187 186 185 184 183 182 181 180 179 178 177 176 175 174 173 172 171 170 169 168 167 166 165 164 163 162 161 160 159 158 157 156 155 154 153 152 151 150 149 148 147 146 145 144 143 142 141 140 139 138 137 136 135 134 133 132 131 130 129 128 127 126 125 124 123 122 121 120 119 118 117 116 115 114 113 112 111 110 109 108 107 106 105 104 103 102 101 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 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
---
#0 dumpsys () at ../../kern/kern_shutdown.c:469
469 if (dumping++) {
(kgdb) where
#0 dumpsys () at ../../kern/kern_shutdown.c:469
#1 0xc012faab in boot (howto=260) at ../../kern/kern_shutdown.c:309
#2 0xc012fe28 in poweroff_wait (junk=0xc01fbe8f, howto=-857143840)
at ../../kern/kern_shutdown.c:556
#3 0xc01d6269 in trap_fatal (frame=0xcdd20964, eva=2462086400)
at ../../i386/i386/trap.c:951
#4 0xc01d5f41 in trap_pfault (frame=0xcdd20964, usermode=0, eva=2462086400)
at ../../i386/i386/trap.c:844
#5 0xc01d5afb in trap (frame={tf_fs = -985071600, tf_es = -1049886704,
tf_ds = -985071600, tf_edi = 6750936, tf_esi = 1, tf_ebp = -841872956,
tf_isp = -841873008, tf_ebx = 1, tf_edx = -1832880896,
tf_ecx = -885497636, tf_eax = 6750936, tf_trapno = 12, tf_err = 0,
tf_eip = -1072385144, tf_cs = 8, tf_eflags = 66182, tf_esp = 60,
tf_ss = -1050170880}) at ../../i386/i386/trap.c:443
#6 0xc014b388 in m_devget (buf=0xcb3860da "@", totlen=62, off0=0,
ifp=0xc167aa00, copy=0) at ../../kern/uipc_mbuf.c:1087
#7 0xc0187b95 in rl_rxeof (sc=0xc167aa00) at ../../pci/if_rl.c:1138
#8 0xc0187e2a in rl_intr (arg=0xc167aa00) at ../../pci/if_rl.c:1271
#9 0xc01cbbfa in vec7 ()
#10 0xc01964d5 in drain_output (vp=0xcce8ab40, islocked=1)
at ../../ufs/ffs/ffs_softdep.c:4747
#11 0xc01952f6 in softdep_fsync_mountdev (vp=0xcce8ab40)
at ../../ufs/ffs/ffs_softdep.c:3906
#12 0xc01992ee in ffs_fsync (ap=0xcdd20b30) at ../../ufs/ffs/ffs_vnops.c:134
---Type <return> to continue, or q <return> to quit---
#13 0xc0197ff6 in ffs_sync (mp=0xc16c8200, waitfor=2, cred=0xc08f6680,
p=0xc022f740) at vnode_if.h:537
#14 0xc015d82f in sync (p=0xc022f740, uap=0x0) at ../../kern/vfs_syscalls.c:545
#15 0xc012f87e in boot (howto=256) at ../../kern/kern_shutdown.c:233
#16 0xc012fe28 in poweroff_wait (junk=0xc01fbe8f, howto=-857143840)
at ../../kern/kern_shutdown.c:556
#17 0xc01d6269 in trap_fatal (frame=0xcdd20c48, eva=2462086400)
at ../../i386/i386/trap.c:951
#18 0xc01d5f41 in trap_pfault (frame=0xcdd20c48, usermode=0, eva=2462086400)
at ../../i386/i386/trap.c:844
#19 0xc01d5afb in trap (frame={tf_fs = -1064042480, tf_es = 16,
tf_ds = -1063780336, tf_edi = 1, tf_esi = 6750936, tf_ebp = -841872236,
tf_isp = -841872268, tf_ebx = 1, tf_edx = -1832880896, tf_ecx = 0,
tf_eax = 6750936, tf_trapno = 12, tf_err = 0, tf_eip = -1072136424,
tf_cs = 8, tf_eflags = 66182, tf_esp = -1063747840, tf_ss = -1063747840})
at ../../i386/i386/trap.c:443
#20 0xc0187f18 in rl_encap (sc=0xc167aa00, m_head=0xc0987f00)
at ../../pci/if_rl.c:1314
#21 0xc01880e7 in rl_start (ifp=0xc167aa00) at ../../pci/if_rl.c:1367
#22 0xc0169ca4 in ether_output_frame (ifp=0xc167aa00, m=0xc0987f00)
at ../../net/if_ethersubr.c:400
#23 0xc0169c12 in ether_output (ifp=0xc167aa00, m=0xc0987f00, dst=0xc185e0b0,
rt0=0xc19ae100) at ../../net/if_ethersubr.c:354
#24 0xc017e8eb in ip_output (m0=0xc0987f00, opt=0x0, ro=0xcc8ca268, flags=0,
---Type <return> to continue, or q <return> to quit---
imo=0x0) at ../../netinet/ip_output.c:790
#25 0xc01836ce in tcp_output (tp=0xcc8ca2e0) at ../../netinet/tcp_output.c:859
#26 0xc0184f84 in tcp_usr_send (so=0xcc5c3180, flags=4, m=0xc0928500, nam=0x0,
control=0x0, p=0xcce905e0) at ../../netinet/tcp_usrreq.c:557
#27 0xc014c923 in sosend (so=0xcc5c3180, addr=0x0, uio=0xcdd20ed8,
top=0xc0928500, control=0x0, flags=0, p=0xcce905e0)
at ../../kern/uipc_socket.c:620
#28 0xc0141008 in soo_write (fp=0xc1914700, uio=0xcdd20ed8, cred=0xc1809380,
flags=0, p=0xcce905e0) at ../../kern/sys_socket.c:79
#29 0xc013dc49 in dofilewrite (p=0xcce905e0, fp=0xc1914700, fd=31,
buf=0xa6e3000, nbyte=3004, offset=-1, flags=0) at ../../sys/file.h:159
#30 0xc013db02 in write (p=0xcce905e0, uap=0xcdd20f80)
at ../../kern/sys_generic.c:328
#31 0xc01d6515 in syscall2 (frame={tf_fs = -1078001617, tf_es = -1078001617,
tf_ds = -1078001617, tf_edi = -1077936692, tf_esi = -1077936704,
tf_ebp = -1077970052, tf_isp = -841871404, tf_ebx = 134628656,
tf_edx = 0, tf_ecx = 3004, tf_eax = 4, tf_trapno = 0, tf_err = 2,
tf_eip = 672778512, tf_cs = 31, tf_eflags = 518, tf_esp = -1077970112,
tf_ss = 47}) at ../../i386/i386/trap.c:1150
#32 0xc01ca705 in Xint0x80_syscall ()
#33 0x80657e0 in ?? ()
#34 0x808811a in ?? ()
#35 0x804a329 in ?? ()
(kgdb) up 19
#19 0xc01d5afb in trap (frame={tf_fs = -1064042480, tf_es = 16,
tf_ds = -1063780336, tf_edi = 1, tf_esi = 6750936, tf_ebp = -841872236,
tf_isp = -841872268, tf_ebx = 1, tf_edx = -1832880896, tf_ecx = 0,
tf_eax = 6750936, tf_trapno = 12, tf_err = 0, tf_eip = -1072136424,
tf_cs = 8, tf_eflags = 66182, tf_esp = -1063747840, tf_ss = -1063747840})
at ../../i386/i386/trap.c:443
443 (void) trap_pfault(&frame, FALSE, eva);
(kgdb) list
438 kernel_trap:
439 /* kernel trap */
440
441 switch (type) {
442 case T_PAGEFLT: /* page fault */
443 (void) trap_pfault(&frame, FALSE, eva);
444 return;
445
446 case T_DNA:
447 #if NNPX > 0
(kgdb) up
#20 0xc0187f18 in rl_encap (sc=0xc167aa00, m_head=0xc0987f00)
at ../../pci/if_rl.c:1314
1314 return(1);
(kgdb) list
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) up
#21 0xc01880e7 in rl_start (ifp=0xc167aa00) at ../../pci/if_rl.c:1367
1367 if (rl_encap(sc, m_head)) {
(kgdb) list
1362 while(RL_CUR_TXMBUF(sc) == NULL) {
1363 IF_DEQUEUE(&ifp->if_snd, m_head);
1364 if (m_head == NULL)
1365 break;
1366
1367 if (rl_encap(sc, m_head)) {
1368 IF_PREPEND(&ifp->if_snd, m_head);
1369 ifp->if_flags |= IFF_OACTIVE;
1370 break;
1371 }
(kgdb) up l
#22 0xc0169ca4 in ether_output_frame (ifp=0xc167aa00, m=0xc0987f00)
at ../../net/if_ethersubr.c:400
400 (*ifp->if_start)(ifp);
(kgdb) list
395 ifp->if_obytes += m->m_pkthdr.len;
396 if (m->m_flags & M_MCAST)
397 ifp->if_omcasts++;
398 IF_ENQUEUE(&ifp->if_snd, m);
399 if ((ifp->if_flags & IFF_OACTIVE) == 0)
400 (*ifp->if_start)(ifp);
401 splx(s);
402 return (error);
403 }
404
(kgdb) up
#23 0xc0169c12 in ether_output (ifp=0xc167aa00, m=0xc0987f00, dst=0xc185e0b0,
rt0=0xc19ae100) at ../../net/if_ethersubr.c:354
354 return ether_output_frame(ifp, m);
(kgdb) list
349 if (m == NULL)
350 return (0);
351 }
352
353 /* Continue with link-layer output */
354 return ether_output_frame(ifp, m);
355 }
356
357 /*
358 * Ethernet link layer output routine to send a raw frame to the device.
(kgdb) up
#24 0xc017e8eb in ip_output (m0=0xc0987f00, opt=0x0, ro=0xcc8ca268, flags=0,
imo=0x0) at ../../netinet/ip_output.c:790
790 error = (*ifp->if_output)(ifp, m,
(kgdb) list
785 ip->ip_sum = in_cksum_hdr(ip);
786 } else {
787 ip->ip_sum = in_cksum(m, hlen);
788 }
789 }
790 error = (*ifp->if_output)(ifp, m,
791 (struct sockaddr *)dst, ro->ro_rt);
792 goto done;
793 }
794 /*
(kgdb) up
#25 0xc01836ce in tcp_output (tp=0xcc8ca2e0) at ../../netinet/tcp_output.c:859
859 error = ip_output(m, tp->t_inpcb->inp_options, &tp->t_inpcb->inp_route,
(kgdb) list
854 ip->ip_off |= IP_DF;
855 }
856 #ifdef IPSEC
857 ipsec_setsocket(m, so);
858 #endif /*IPSEC*/
859 error = ip_output(m, tp->t_inpcb->inp_options, &tp->t_inpcb->inp_route,
860 (so->so_options & SO_DONTROUTE), 0);
861 }
862 if (error) {
863
Script done on Fri May 25 22:42:58 2001
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010525230141.A2752>
