Date: Tue, 11 Jan 2011 09:58:05 +1100 From: Lawrence Stewart <lstewart@freebsd.org> To: Lawrence Stewart <lstewart@FreeBSD.org> Cc: src-committers@FreeBSD.org, svn-src-stable@FreeBSD.org, svn-src-all@FreeBSD.org, "George V. Neville-Neil" <gnn@FreeBSD.org>, "Bjoern A. Zeeb" <bz@FreeBSD.org>, svn-src-stable-8@FreeBSD.org, "Robert N. M. Watson" <rwatson@FreeBSD.org> Subject: Re: svn commit: r217018 - stable/8/sys/netinet Message-ID: <4D2B8EFD.5030500@freebsd.org> In-Reply-To: <4D27A605.6090002@freebsd.org> References: <201101051852.p05IqUjK087769@svn.freebsd.org> <4D26A165.3070001@freebsd.org> <20110107091418.H14966@maildrop.int.zabbadoz.net> <4D27A605.6090002@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 01/08/11 10:47, Lawrence Stewart wrote: > On 01/07/11 20:36, Bjoern A. Zeeb wrote: >> On Fri, 7 Jan 2011, Lawrence Stewart wrote: >> >>> Hi George, >>> >>> On 01/06/11 05:52, George V. Neville-Neil wrote: >>>> Author: gnn >>>> Date: Wed Jan 5 18:52:30 2011 >>>> New Revision: 217018 >>>> URL: http://svn.freebsd.org/changeset/base/217018 >>>> >>>> Log: >>>> Fix binary compatability for netstats across the -x/-T changes >>>> that have been previously MFC'd. >>>> >>>> Reviewed by: rwatson, bz >>>> >>>> Modified: >>>> stable/8/sys/netinet/tcp_var.h >>>> >> ... >>> >>> On my stable/8 machine after updating world but not kernel I see "struct >>> xtcpcb size mismatch" messages which indicates the ABI has been futzed >>> with. >> >> Be sure that it's not local changes. > > Definitely not the issue - this box runs stock stable/8 directly from > svn.freebsd.org without any local changes. > >>> Looking at the above diff I think this commit does indeed change the ABI >>> and therefore needs to be tweaked in order to maintain our current ABI >>> preservation policy for stable branches (unless I'm missing something?). >>> If the change to the ABI is intentional, a note in UPDATING would >>> probably be warranted. >> >> I think you are missing that that was the "repair" commit. Are you >> sure you didn't pickup the wrong versions? There was about a 1 day >> timeframe, where things were hosed but I believe George fixed them >> all. > > Looking at my kernel.old rev, I updated from stable/8 kernel/world @ > r216035 to stable/8 @ r217084. According to my commit mail log, George > made the initial change in r216968 and the repair commit was r217018, so > I don't think that I should have seen any issues if r217018 didn't mess > with the ABI as I hadn't updated in the cross over period. > >> Hmm looking at the diff committed more closely I see that the two >> uint64_t are not were they should be. Are you by any chance on i386 >> or another 32bit platform? > > No: > > lstewart@lstewart3:~> uname -a > > > FreeBSD lstewart3 8.2-PRERELEASE FreeBSD 8.2-PRERELEASE #16 r217084: Fri > Jan 7 16:17:03 EST 2011 root@lstewart3:/usr/obj/usr/src/sys/GENERIC > amd64 For the record, the fact I was seeing issues on amd64 was a bit of a red herring, even though the ABI issues were real and are now fixed thanks to Bjoern. I can't reproduce the error I saw with the revisions noted above, and did some digging to figure out why. I was still running the old r216035 kernel but had updated my src tree a couple of times in between and I think I built and installed world in the window between George's commits. I then rebuilt world at r217084 post George's r217018 with a "-DNO_CLEAN" and I suspect somehow it left me with a sockstat built against the ABI compromised struct tcpcb. Not quite sure how that happened but it's my best guess. Cheers, Lawrence
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4D2B8EFD.5030500>