https://bugs.winehq.org/show_bug.cgi?id=39398
Bug ID: 39398 Summary: Private Program: server win socket send data no more then 16K (approx.) Product: Wine Version: 1.7.52 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: critical Priority: P2 Component: winsock Assignee: wine-bugs@winehq.org Reporter: gerald@igarment.net Distribution: ---
I have tried wine 1.6.2 32 bit on CentOS 6 i686 and 1.7.50 32 bit in CentOS 6 x86_64 VM, both have the same problem.
I have a server written in Delphi using Asta. When the server run in wine, sending large among of data (over 18K bytes, not exact) will have data lost. I use tcpdump to captured the data sent, it seems the socket cannot send all the data but with no socket error. The program seems to think that all data were sent but wine win socket did not.
Obviously, the program is running very fine in Windows.
The following is a tcpdump for the tcp package in the server side. The total number of bytes need to send is around 110K. Note that once reach to about 17458 (including tcp header, so the sent data is around 16K), it stop sending.
[root@wine-asta-17 ~]# tcpdump -i eth3 port 9000 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth3, link-type EN10MB (Ethernet), capture size 65535 bytes 11:24:16.851074 IP 125-227-150-250.HINET-IP.hinet.net.61783 > 10.8.2.17.cslistener: Flags [P.], seq 292754617:292754698, ack 97998410, win 8192, options [nop,nop,TS val 1335177067 ecr 7050913], length 81 11:24:16.851092 IP 10.8.2.17.cslistener > 125-227-150-250.HINET-IP.hinet.net.61783: Flags [.], ack 81, win 273, options [nop,nop,TS val 7058042 ecr 1335177067], length 0 11:24:16.890921 IP 10.8.2.17.cslistener > 125-227-150-250.HINET-IP.hinet.net.61783: Flags [P.], seq 1:82, ack 81, win 273, options [nop,nop,TS val 7058081 ecr 1335177067], length 81 11:24:16.922996 IP 125-227-150-250.HINET-IP.hinet.net.61783 > 10.8.2.17.cslistener: Flags [.], ack 82, win 8186, options [nop,nop,TS val 1335177138 ecr 7058081], length 0 11:24:16.975451 IP 125-227-150-250.HINET-IP.hinet.net.61783 > 10.8.2.17.cslistener: Flags [P.], seq 81:173, ack 82, win 8192, options [nop,nop,TS val 1335177189 ecr 7058081], length 92 11:24:17.015000 IP 10.8.2.17.cslistener > 125-227-150-250.HINET-IP.hinet.net.61783: Flags [.], ack 173, win 273, options [nop,nop,TS val 7058206 ecr 1335177189], length 0 11:24:17.056036 IP 10.8.2.17.cslistener > 125-227-150-250.HINET-IP.hinet.net.61783: Flags [.], seq 82:2978, ack 173, win 273, options [nop,nop,TS val 7058247 ecr 1335177189], length 2896 11:24:17.056045 IP 10.8.2.17.cslistener > 125-227-150-250.HINET-IP.hinet.net.61783: Flags [.], seq 2978:5874, ack 173, win 273, options [nop,nop,TS val 7058247 ecr 1335177189], length 2896 11:24:17.056047 IP 10.8.2.17.cslistener > 125-227-150-250.HINET-IP.hinet.net.61783: Flags [.], seq 5874:8770, ack 173, win 273, options [nop,nop,TS val 7058247 ecr 1335177189], length 2896 11:24:17.056049 IP 10.8.2.17.cslistener > 125-227-150-250.HINET-IP.hinet.net.61783: Flags [.], seq 8770:11666, ack 173, win 273, options [nop,nop,TS val 7058247 ecr 1335177189], length 2896 11:24:17.056051 IP 10.8.2.17.cslistener > 125-227-150-250.HINET-IP.hinet.net.61783: Flags [.], seq 11666:14562, ack 173, win 273, options [nop,nop,TS val 7058247 ecr 1335177189], length 2896 11:24:17.089440 IP 125-227-150-250.HINET-IP.hinet.net.61783 > 10.8.2.17.cslistener: Flags [.], ack 2978, win 8011, options [nop,nop,TS val 1335177300 ecr 7058247], length 0 11:24:17.089460 IP 10.8.2.17.cslistener > 125-227-150-250.HINET-IP.hinet.net.61783: Flags [P.], seq 14562:17458, ack 173, win 273, options [nop,nop,TS val 7058280 ecr 1335177300], length 2896 11:24:17.089468 IP 125-227-150-250.HINET-IP.hinet.net.61783 > 10.8.2.17.cslistener: Flags [.], ack 2978, win 8192, options [nop,nop,TS val 1335177300 ecr 7058247], length 0 11:24:17.091030 IP 125-227-150-250.HINET-IP.hinet.net.61783 > 10.8.2.17.cslistener: Flags [.], ack 5874, win 8011, options [nop,nop,TS val 1335177300 ecr 7058247], length 0 11:24:17.091035 IP 125-227-150-250.HINET-IP.hinet.net.61783 > 10.8.2.17.cslistener: Flags [.], ack 8770, win 8011, options [nop,nop,TS val 1335177300 ecr 7058247], length 0 11:24:17.091037 IP 125-227-150-250.HINET-IP.hinet.net.61783 > 10.8.2.17.cslistener: Flags [.], ack 13114, win 8192, options [nop,nop,TS val 1335177300 ecr 7058247], length 0 11:24:17.120679 IP 125-227-150-250.HINET-IP.hinet.net.61783 > 10.8.2.17.cslistener: Flags [.], ack 16010, win 8101, options [nop,nop,TS val 1335177331 ecr 7058247], length 0 11:24:17.121874 IP 125-227-150-250.HINET-IP.hinet.net.61783 > 10.8.2.17.cslistener: Flags [.], ack 17458, win 8101, options [nop,nop,TS val 1335177332 ecr 7058280], length 0 ^C 19 packets captured 19 packets received by filter 0 packets dropped by kernel