I would like some insight into why I sometimes get a QNX box (acting like the server) to send a FIN tcp message out of sync. Below are my two ethereal comms snoops, one being a good comms transaction and the other being the bad comms transaction. The host app is a windows app that is running the exact same code, just sometimes the qnx box screws up.
GOOD:
No. Time Source Destination Protocol Info
3879 260.485094 172.16.9.73 172.16.9.52 TCP 4188 > 24000 [SYN] Seq=0 Ack=0 Win=65535 Len=0 MSS=1460
No. Time Source Destination Protocol Info
3880 260.485247 172.16.9.52 172.16.9.73 TCP 24000 > 4188 [SYN, ACK] Seq=0 Ack=1 Win=16384 Len=0 MSS=1460
No. Time Source Destination Protocol Info
3881 260.485271 172.16.9.73 172.16.9.52 TCP 4188 > 24000 [ACK] Seq=1 Ack=1 Win=65535 [CHECKSUM INCORRECT] Len=0
No. Time Source Destination Protocol Info
3882 260.485533 172.16.9.73 172.16.9.52 TCP 4188 > 24000 [PSH, ACK] Seq=1 Ack=1 Win=65535 [CHECKSUM INCORRECT] Len=33
No. Time Source Destination Protocol Info
3883 260.502788 172.16.9.52 172.16.9.73 TCP 24000 > 4188 [PSH, ACK] Seq=1 Ack=34 Win=17520 Len=19
No. Time Source Destination Protocol Info
3884 260.709418 172.16.9.73 172.16.9.52 TCP 4188 > 24000 [ACK] Seq=34 Ack=20 Win=65516 [CHECKSUM INCORRECT] Len=0
No. Time Source Destination Protocol Info
3885 262.534701 172.16.9.73 172.16.9.52 TCP 4188 > 24000 [FIN, ACK] Seq=34 Ack=20 Win=65516 [CHECKSUM INCORRECT] Len=0
No. Time Source Destination Protocol Info
3886 262.534856 172.16.9.52 172.16.9.73 TCP 24000 > 4188 [ACK] Seq=20 Ack=35 Win=17520 Len=0
No. Time Source Destination Protocol Info
3887 262.536383 172.16.9.52 172.16.9.73 TCP 24000 > 4188 [FIN, ACK] Seq=20 Ack=35 Win=17520 Len=0
No. Time Source Destination Protocol Info
3888 262.536411 172.16.9.73 172.16.9.52 TCP 4188 > 24000 [ACK] Seq=35 Ack=21 Win=65516 [CHECKSUM INCORRECT] Len=0
BAD:
No. Time Source Destination Protocol Info
3871 258.423211 172.16.9.73 172.16.9.52 TCP 4187 > 24000 [SYN] Seq=0 Ack=0 Win=65535 Len=0 MSS=1460
No. Time Source Destination Protocol Info
3872 258.423364 172.16.9.52 172.16.9.73 TCP 24000 > 4187 [SYN, ACK] Seq=0 Ack=1 Win=16384 Len=0 MSS=1460
No. Time Source Destination Protocol Info
3873 258.423388 172.16.9.73 172.16.9.52 TCP 4187 > 24000 [ACK] Seq=1 Ack=1 Win=65535 [CHECKSUM INCORRECT] Len=0
No. Time Source Destination Protocol Info
3874 258.423657 172.16.9.73 172.16.9.52 TCP 4187 > 24000 [PSH, ACK] Seq=1 Ack=1 Win=65535 [CHECKSUM INCORRECT] Len=33
No. Time Source Destination Protocol Info
3875 258.427683 172.16.9.52 172.16.9.73 TCP 24000 > 4187 [FIN, ACK] Seq=1 Ack=34 Win=17520 Len=0
No. Time Source Destination Protocol Info
3876 258.427729 172.16.9.73 172.16.9.52 TCP 4187 > 24000 [ACK] Seq=34 Ack=2 Win=65535 [CHECKSUM INCORRECT] Len=0
No. Time Source Destination Protocol Info
3877 260.442615 172.16.9.73 172.16.9.52 TCP 4187 > 24000 [FIN, ACK] Seq=34 Ack=2 Win=65535 [CHECKSUM INCORRECT] Len=0
No. Time Source Destination Protocol Info
3878 260.442799 172.16.9.52 172.16.9.73 TCP 24000 > 4187 [ACK] Seq=2 Ack=35 Win=17520 Len=0