svn commit: r217018 - stable/8/sys/netinet

Lawrence Stewart lstewart at
Mon Jan 10 22:58:12 UTC 2011

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:
>>>> 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
> 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 at lstewart3:~> uname -a
> FreeBSD lstewart3 8.2-PRERELEASE FreeBSD 8.2-PRERELEASE #16 r217084: Fri
> Jan  7 16:17:03 EST 2011     root at 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.


More information about the svn-src-stable-8 mailing list