From owner-freebsd-stable Tue May 15 23:34:33 2001 Delivered-To: freebsd-stable@freebsd.org Received: from segfault.kiev.ua (segfault.kiev.ua [193.193.193.4]) by hub.freebsd.org (Postfix) with ESMTP id 3AAF437B42C for ; Tue, 15 May 2001 23:34:26 -0700 (PDT) (envelope-from netch@iv.nn.kiev.ua) Received: (from uucp@localhost) by segfault.kiev.ua (8) with UUCP id JNF59357 for freebsd-stable@FreeBSD.ORG; Wed, 16 May 2001 09:34:23 +0300 (EEST) (envelope-from netch@iv.nn.kiev.ua) Received: (from netch@localhost) by iv.nn.kiev.ua (8.11.3/8.11.3) id f4G6Tup01818 for freebsd-stable@FreeBSD.ORG; Wed, 16 May 2001 09:29:56 +0300 (EEST) (envelope-from netch) Date: Wed, 16 May 2001 09:29:56 +0300 From: Valentin Nechayev To: freebsd-stable@FreeBSD.ORG Subject: Re: netstat reports "kvm_read: bad address" Message-ID: <20010516092956.C427@iv.nn.kiev.ua> References: <20010513112147.A3351@vger.bsdhome.com> <101210000.989767545@vpn38.ece.cmu.edu> <20010513120208.B403@FreeBSD.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20010513120208.B403@FreeBSD.org>; from ade@FreeBSD.ORG on Sun, May 13, 2001 at 12:02:08PM -0500 X-42: On Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > kervorkian 187# netstat -rn > [...] > 10.10.220/24 link#2 UC 0 0 de1 => > netstat: kvm_read: Bad address > 10.10.220.60 0:d0:b7:b9:1e:3a UHLW 0 167 de1 496 > netstat: kvm_read: Bad address > 10.10.220.70 0:d0:b7:b9:21:3e UHLW 0 210 de1 496 > netstat: kvm_read: Bad address > 10.10.220.73 0:d0:b7:b9:b4:e7 UHLW 0 209 de1 496 > netstat: kvm_read: Bad address > 10.10.220.74 0:d0:b7:b9:1d:66 UHLW 0 209 de1 495 > netstat: kvm_read: Bad address I observe occasionally such failings on our http proxy server with `netstat -an'. This host is dual-processor. AFAIU reading of /dev/kmem does not lock Giant lock (or its equivalent on 4.x), and one process can traverse kernel structures in userland mode while some kernel code on another processor changes it. If reported problems with `netstat -rn' are occasional and system is SMP, this can be diagnosed as non-serializable access problem. But possibly routing subsystem has some own flawnesses. My friend has multihomed host with 3 restricted BGP feeds in receive-only mode. Stable routing table size is ~900 routes. Independently on UP/SMP, 3.x/4.x, minor system versions, zebra versions, running this BGP speaker with zebra leads to crash in no more than 12 hours. We could not obtain any sensitive information from crash dumps because kernel structures was spoiled to unparseable mash. Without routing daemon or with gated, this host stays for months. Analysis of zebra says that it does not use kmem or any another nonstandard interface, only common unix interfaces up to routing sockets. /netch To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message