From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.0) Gecko/20020606 Description of problem: Win2k Pro SP3 + hotfixes (as of 4/11/2003) clients cause odd TCP behavior which can lead to slow connections and/or session failure. Synopsis: W2kProSP3 sends SYN packet Linux sends SYN/ACK W2kProSP3 sends ACK Linux sends second SYN/ACK W2kProSP3 ACKs again ...data exchange... Odd FIN/RST behavior ends session The behavior of the client varies from long initial delays (e.g. telnet) to consistent failure (MyODBC). Win2kPro SP2 and WinXPProSP1 DO NOT display this behavior. The initial SYN packet only gets one SYN/ACK response. Version-Release number of selected component (if applicable): kernel-2.4.18-24.7.xsmp How reproducible: Sometimes Steps to Reproduce: 1. Create Win2kPro SP3 and apply all critical updates from Windows Update 2. Install MySQL 4.0.1 on server, MyODBC on client, and configure a connection 3. Run tcpdump 4. Telnet to server 5. Test ODBC connection Actual Results: Telnet trace shows multiple SYN/ACK, long delay before login prompt. MySQL trace shows multiple SYN/ACK and ODBC test succeeds after long delay, or fails with "Lost connection to MySQL server during query". Expected Results: Quick telnet login prompt, only one SYN/ACK in trace. Quick success on ODBC test, only one SYN/ACK in trace. Additional info: Worst systems are developer desktops: Delphi 6, possible .NET dev env.
Created attachment 91093 [details] tcpdump traces of multiple SYN/ACK failed MyODBC connection tests from W2kPro SP3 to Linux server
Problem also reported to MySQL bug mailing list.
Created attachment 91094 [details] Detailed trace of failed connection {grumble} Is SP3 generating bogus TCP checksums, then choking on the retransmitted data?
Okay, found it. SP3 was offloading the TCP checksum calculation to the network card, and not doing it properly. Turning off TX checksum offloading fixed the problem. It's bad that Win2k choked on the retransmitted packets, though...