Skip site navigation (1)Skip section navigation (2)
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>

index | next in thread | previous in thread | raw e-mail

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


help

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4D2B8EFD.5030500>