Date: Mon, 10 Dec 2007 17:25:50 +0300 From: Boris Samorodov <bsam@ipt.ru> To: freebsd-stable@FreeBSD.org Subject: Re: RELENG_7: GENERIC and options LOCK_PROFILING are breaking sockstat and netstat -a Message-ID: <74426321@bb.ipt.ru> In-Reply-To: <20071210112201.GA1117@menantico.com> (Skip Ford's message of "Mon\, 10 Dec 2007 06\:22\:01 -0500") References: <86910657@bb.ipt.ru> <20071210112201.GA1117@menantico.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?74426321>
