[netperf-talk] MacOSX vs Linux
Rick Jones
rick.jones2 at hp.com
Wed Dec 17 18:08:39 PST 2008
Well, looks like Andrew was at the beginning of a trend. Someone else
has noticed a similar problem in 10.5.5 (and 10.5.6 IIRC) and posted
about it in both comp.protocols.tcp-up and comp.sys.mac.system. And it
seems that someone may have an idea of what is wrong:
Path:
usenet01.boi.hp.com!sdd.hp.com!ihnp4.UCSD.Edu!newsfeed.berkeley.edu!ucber
keley!newsfeed-00.mathworks.com!newsfeed2.dallas1.level3.net!news.level3.com!po
stnews.google.com!news2.google.com!Xl.tags.giganews.com!border1.nntp.dca.gigane
ws.com!nntp.giganews.com!local02.nntp.dca.giganews.com!nntp.speakeasy.net!news.
speakeasy.net.POSTED!not-for-mail
NNTP-Posting-Date: Wed, 17 Dec 2008 20:02:51 -0600
Newsgroups: comp.sys.mac.system
Subject: Re: Mac OSX tcp/ip problem
References: <gi8dgi$i1q$1 at newsreader2.netcologne.de>
<jollyroger-D7EBD1.1023121
6122008 at news.individual.net> <giafnh$v5o$03$2 at news.t-online.com>
Organization: DiS(L)organized
From: russotto at grace.speakeasy.net (Matthew Russotto)
Message-ID: <07GdnZHmN-fWMtTUnZ2dnUVZ_q7inZ2d at speakeasy.net>
Date: Wed, 17 Dec 2008 20:02:51 -0600
Lines: 44
X-Usenet-Provider: http://www.giganews.com
NNTP-Posting-Host: 66.92.234.100
X-Trace:
sv3-eN7cxmeZtq3w+cbrU6TJ6qd465PjZEzHQQSYtnx/Mi+eUIi6x/6DHNcbXBbpn7pTTh
8BgWO0Ex872by!nK7JDw6uobYeLf8xHGnpK/2U3CYuOCnSFMUgJdsgz+OUGdN28EjP1O31P2MJYmzF8
6tZuydP7/wJ!NJqhp6VpD8iZ+ZdCA3dHBZda2i0H5uekhg==
X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your
complaint pr
operly
X-Postfilter: 1.3.39
Xref: usenet01.boi.hp.com comp.sys.mac.system:372389
In article <giafnh$v5o$03$2 at news.t-online.com>,
Peter Sprenger <sprenger at moving-bytes.de> wrote:
>Jolly Roger wrote:
>> In article <gi8dgi$i1q$1 at newsreader2.netcologne.de>,
>> Peter Sprenger <sprenger at moving-bytes.de> wrote:
>>
>>> perhaps can somebody give me some info about a problem with the Mac
>>> TCP/IP stack I encounter at the moment. The issue is that at the end of
>>> a TCP/IP connection the Mac is not ACKing the last FIN of the opposite
>>> connection. Example:
>>>
>>> Mac: FIN/ACK
>>> IPdevice: FIN/ACK
>>> <here should come an ACK from Mac>
>>> .
>>> <timeout>
>>> IPdevice: FIN/ACK
>>> Mac: ACK
>>>
>>> Any idea?
>>
>> How about providing some details, like which model Mac, what version
>> operating system, how you noticed the problem to begin with, what tools
>> you used to test the TCP/IP stack, and so on?
>>
>
>It was a MacBook from a colleague, ver 10.5.6. I used Wireshark to
> trace it, and you can see the problem with every HTTP connection to
> the internet. Regardless if you use Safari, Firefox etc..
It's a bug in Apple's TCP implementation. If you look in the XNU
project, file bsd/netinet/tcp_input.c, you'll see that the stack
processes the ACK flag before the FIN flag. There's a special case in
the ACK
processing for when the stack is in FIN_WAIT_1 state (sent FIN, not yet
ACKed), which switches the state to FIN_WAIT_2, then terminates
processing of the packet ("goto drop;") without processing the FIN
flag. It's not clear why it does this; it seems to me at a quick
glance that simply removing the goto would result in correct
behavior.
It appears this bug has been here for a long time; xnu-792.13.8 (which
I happened to have lying around) has it.
rick jones
More information about the netperf-talk
mailing list