From owner-freebsd-stable@FreeBSD.ORG Mon Dec 10 14:27:29 2007 Return-Path: Delivered-To: freebsd-stable@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A0D0416A419 for ; Mon, 10 Dec 2007 14:27:29 +0000 (UTC) (envelope-from bsam@ipt.ru) Received: from services.ipt.ru (services.ipt.ru [194.62.233.110]) by mx1.freebsd.org (Postfix) with ESMTP id 5EC2913C46A for ; Mon, 10 Dec 2007 14:27:29 +0000 (UTC) (envelope-from bsam@ipt.ru) Received: from bb.ipt.ru ([194.62.233.89]) by services.ipt.ru with esmtp (Exim 4.54 (FreeBSD)) id 1J1jbU-000I6S-1t for freebsd-stable@FreeBSD.org; Mon, 10 Dec 2007 17:27:28 +0300 To: freebsd-stable@FreeBSD.org References: <86910657@bb.ipt.ru> <20071210112201.GA1117@menantico.com> From: Boris Samorodov Date: Mon, 10 Dec 2007 17:25:50 +0300 In-Reply-To: <20071210112201.GA1117@menantico.com> (Skip Ford's message of "Mon\, 10 Dec 2007 06\:22\:01 -0500") Message-ID: <74426321@bb.ipt.ru> User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Subject: Re: RELENG_7: GENERIC and options LOCK_PROFILING are breaking sockstat and netstat -a X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Dec 2007 14:27:29 -0000 On Mon, 10 Dec 2007 06:22:01 -0500 Skip Ford wrote: > Boris Samorodov wrote: > > The system updated a couple of hours ago (RELENG_7), the kernel config > > is GENERIC with "options LOCK_PROFILING", default /etc/make.conf, i386 > > (I have this problem at current-amd64 as well): > > ----- > > bb% uname -a > > FreeBSD bb.ipt.ru 7.0-BETA4 FreeBSD 7.0-BETA4 #1: Mon Dec 10 10:12:24 MSK 2007 root@bb.ipt.ru:/usr/obj/usr/src/sys/GENERIC i386 > > bb% sockstat > > sockstat: struct xtcpcb size mismatch > > sockstat: struct xinpcb size mismatch > > sockstat: struct xunpcb size mismatch > > sockstat: struct xunpcb size mismatch > > USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS > > bb% netstat -a | head > > Active UNIX domain sockets > > Address Type Recv-Q Send-Q Inode Conn Refs Nextref Addr > > 0 #0 131073 0 ca5c6580 0 0 0 > > 0 #0 1 0 0 d36bda90 0 0 > > 0 #0 1 0 0 d2e11750 0 0 > > 0 #0 1 0 0 d36bdd00 0 0 > > 0 #0 1 0 0 d2e120d0 0 0 > > 0 #0 1 0 0 d2e128f0 0 0 > > 0 #0 1 0 0 d2e12820 0 0 > > 0 #0 262145 0 0 d2e12a90 0 0 > > ----- > > > > Can somebody confirm? > > Is it a feature? > > Should I file a PR? > That error occurs when your kernel and world are out of sync. You need to > rebuild netstat(1) and sockstat(1) with LOCK_PROFILING defined to match your > kernel, or rebuild your kernel without the option LOCK_PROFILING to match > your world. Ah, that's it! The world is also affected by this option. It's not clear from LOCK_PROFILING(9): ----- NOTES The LOCK_PROFILING option increases the size of struct lock_object, so a kernel built with that option will not work with modules built without it. ----- I've read it as if only kernel (i.e. modules) should be at sync... Thanks for the point! WBR -- Boris Samorodov (bsam) Research Engineer, http://www.ipt.ru Telephone & Internet SP FreeBSD committer, http://www.FreeBSD.org The Power To Serve