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
>>>> Fix binary compatability for netstats across the -x/-T changes
>>>> that have been previously MFC'd.
>>>> Reviewed by: rwatson, bz
>>> 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
>> 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
> 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?
> 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
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
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.