It seems like I'm being handed kernel panics on a platter today. I just got a WITNESS-related one in /usr/src/sys/netinet/tcp_input.c:2190. And actually, in the process of writing this message the first time, it happened again. I've since booted to an older kernel.
The kernel this comes from is 5.0-CURRENT from Tue Mar 4 20:30:35 CST 2003. Soft updates appears to have turned my public PGP keyring file into a bunch of NULs too :< I assume that is an artifact of the kernel panic. Script started on Wed Mar 5 19:51:06 2003 edgemaster# gdb -k /boot/kernel/kernel.debug vmcore.4 GNU gdb 5.2.1 (FreeBSD) Copyright 2002 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-undermydesk-freebsd"... panic: bwrite: buffer is not busy??? panic messages: --- panic: lock (sleep mutex) tcp not locked @ /usr/src/sys/netinet/tcp_input.c:2190 Stack backtrace: syncing disks, buffers remaining... panic: bwrite: buffer is not busy??? Uptime: 20m40s Dumping 1279 MB ata1: resetting devices .. done [CTRL-C to abort] [CTRL-C to abort] [CTRL-C to abort] [CTRL-C to abort] [CTRL-C to abort] [CTRL-C to abort] [CTRL-C to abort] [CTRL-C to abort] [CTRL-C to abort] [CTRL-C to abort] 16 32 48[CTRL-C to abort] [CTRL-C to abort] [CTRL-C to abort] 64 80 96 112 128 144 160 176 192 208 224 240 256 272 288 304 320 336 352 368 384 400 416 432 448 464 480 496 512 528 544 560 576 592 608 624 640 656 672 688 704 720 736 752 768 784 800 816 832 848 864 880 896 912 928 944 960 976 992 1008 1024 1040 1056 1072 1088 1104 1120 1136 1152 1168 1184 1200 1216 1232 1248 1264 --- #0 doadump () at /usr/src/sys/kern/kern_shutdown.c:239 239 dumping++; (kgdb) bt full #0 doadump () at /usr/src/sys/kern/kern_shutdown.c:239 No locals. #1 0xc01cd66a in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:371 No locals. #2 0xc01cd8d3 in panic () at /usr/src/sys/kern/kern_shutdown.c:542 td = (struct thread *) 0xc281aa50 bootopt = 260 newpanic = 0 buf = "bwrite: buffer is not busy???\0ked @ /usr/src/sys/netinet/tcp_input.c:2190", '\0' <repeats 182 times> #3 0xc020e142 in bwrite (bp=0xd30a4778) at /usr/src/sys/kern/vfs_bio.c:795 oldflags = 537002148 newbp = (struct buf *) 0xc767d5b4 #4 0xc020fe5c in vfs_bio_awrite (bp=0xd30a4778) at /usr/src/sys/kern/vfs_bio.c:1692 i = 1 j = 0 lblkno = 0 vp = (struct vnode *) 0xc767d5b4 ncl = 0 nwritten = 16384 size = 16384 maxcl = 8 #5 0xc02c0dca in ffs_fsync (ap=0xdf976a00) at /usr/src/sys/ufs/ffs/ffs_vnops.c:257 vp = (struct vnode *) 0xc767d5b4 ip = (struct inode *) 0xd30a4778 bp = (struct buf *) 0xd30a4778 nbp = (struct buf *) 0x0 error = 0 wait = 0 passes = 4 skipmeta = 0 lbn = 1 #6 0xc02bff1e in ffs_sync (mp=0xc697a000, waitfor=2, cred=0xc2806e80, td=0xc037f6a0) at vnode_if.h:612 nvp = (struct vnode *) 0xc767d490 vp = (struct vnode *) 0xc767d5b4 devvp = (struct vnode *) 0xc767d5b4 ip = (struct inode *) 0x0 ump = (struct ufsmount *) 0xc699b300 fs = (struct fs *) 0xc6970000 error = 0 count = 0 wait = 0 lockreq = 18 allerror = 0 #7 0xc022261b in sync (td=0xc037f6a0, uap=0x0) at /usr/src/sys/kern/vfs_syscalls.c:138 mp = (struct mount *) 0xc697a000 nmp = (struct mount *) 0x0 asyncflag = 0 #8 0xc01cd29c in boot (howto=256) at /usr/src/sys/kern/kern_shutdown.c:280 bp = (struct buf *) 0x0 iter = -1031689648 nbusy = -1031700352 pbusy = -1031689648 subiter = -1031700352 #9 0xc01cd8d3 in panic () at /usr/src/sys/kern/kern_shutdown.c:542 td = (struct thread *) 0xc281aa50 bootopt = 256 newpanic = 1 buf = "bwrite: buffer is not busy???\0ked @ /usr/src/sys/netinet/tcp_input.c:2190", '\0' <repeats 182 times> #10 0xc01ee013 in witness_unlock (lock=0xc038f9cc, flags=8, file=0xc035a374 "/usr/src/sys/netinet/tcp_input.c", line=2190) at /usr/src/sys/kern/subr_witness.c:951 lock_list = (struct lock_list_entry **) 0xc03e3540 instance = (struct lock_instance *) 0xc03e3554 class = (struct lock_class *) 0xc0384160 s = 1664 i = 0 j = -1070007860 #11 0xc01c4952 in _mtx_unlock_flags (m=0xc03e3554, opts=0, file=0xc038f9cc "`A8À\a\2125À\a\2125À", line=-1069664960) at /usr/src/sys/kern/kern_mutex.c:357 No locals. #12 0xc0255ec9 in tcp_input (m=0xc038f9cc, off0=20) at /usr/src/sys/netinet/tcp_input.c:2324 th = (struct tcphdr *) 0xc34c1824 ip = (struct ip *) 0xc34c1810 ipov = (struct ipovly *) 0xc03e3540 inp = (struct inpcb *) 0xc6cce804 optp = (u_char *) 0xc34c1838 "\001\001\b\n\026û\034\022" optlen = 12 len = -1069664940 tlen = 1409 off = -1069664940 drop_hdrlen = 52 tp = (struct tcpcb *) 0xc75ae42c thflags = 1 so = (struct socket *) 0xc758b300 todrop = -1069664940 acked = -1069664940 ourfinisacked = -1069664940 needoutput = 0 tiwin = 3225302336 to = {to_flags = 1, to_tsval = 385555474, to_tsecr = 123912, to_cc = 0, to_ccecho = 0, to_mss = 0, to_requested_s_scale = 0 '\0', to_pad = 0 '\0'} taop = (struct rmxp_tao *) 0xc03e3554 tao_noncached = {tao_cc = 1461, tao_ccsent = 49209, tao_mssopt = 11371} headlocked = 0 next_hop = (struct sockaddr_in *) 0x0 rstreason = -1069664940 ip6 = (struct ip6_hdr *) 0x0 isipv6 = 0 #13 0xc024e6ea in ip_input (m=0xc283ff00) at /usr/src/sys/netinet/ip_input.c:944 ip = (struct ip *) 0xc34c1810 fp = (struct ipq *) 0xc0353989 ia = (struct in_ifaddr *) 0xc6979400 ifa = (struct ifaddr *) 0x0 i = 0 hlen = 20 checkif = 0 sum = 0 pkt_dst = {s_addr = 1148225171} divert_info = 0 args = {m = 0xc283ff00, oif = 0x0, next_hop = 0x0, rule = 0x0, eh = 0x0, ro = 0xdf976ce0, dst = 0xc03e6174, flags = 227, f_id = { dst_ip = 2475061316, src_ip = 3560425173, dst_port = 49209, src_port = 11371, proto = 6 '\006', flags = 24 '\030'}, divert_rule = 0, retval = 3224731712} #14 0xc02348a2 in swi_net (dummy=0x0) at /usr/src/sys/net/netisr.c:230 ni = (struct netisr *) 0xc038cb90 m = (struct mbuf *) 0xc283ff00 bits = 0 i = 0 #15 0xc01ae6c2 in ithread_loop (arg=0xc2818200) at /usr/src/sys/kern/kern_intr.c:536 ithd = (struct ithd *) 0xc2818200 ih = (struct intrhand *) 0xc280f180 td = (struct thread *) 0xc281aa50 p = (struct proc *) 0xc28199ec #16 0xc01ad902 in fork_exit (callout=0xc01ae570 <ithread_loop>, arg=0x0, frame=0x0) at /usr/src/sys/kern/kern_fork.c:871 td = (struct thread *) 0x0 p = (struct proc *) 0xc28199ec (kgdb) edgemaster# Script done on Wed Mar 5 19:51:29 2003 -- Sean Kelly | PGP KeyID: D2E5E296 [EMAIL PROTECTED] | http://www.zombie.org
pgp00000.pgp
Description: PGP signature