> I'm experiencing a problem with FTP regularly* going from a
> series of Solaris 2.6
> boxes (and even one 2.5, but not a machine running Solaris 7, at least
> so far) to a server
> running Linux RedHat 5.2, with the wu-ftpd (2.4.2 beta 18).
> The ftp session always starts ok, but if I run an mget to get a bunch of
> files, I can get
> maybe 1- 2 dozen (the number varies a lot) and then it hangs getting one
> of the files.
> The hang is at least 2 minutes long (generally the files take only
> seconds to transfer) and it does
> not recover while I wait. If I hit Ctrl-C it looks like the entire file
> did transfer, but it was waiting
> for something to finish or close?
Well, it turned out to be a Sun TCP problem. "netstat" on either end showed
the connection ESTABLISHED on the Sun end, but in FIN_WAIT_1 on the Linux
end, meaning that the Linux box had sent a FIN, but the Sun box was not
acknowledging it. Scanning with tcpdump confirmed that the Linux box was
repeatedly sending the FIN in a packet that also had the last bit of data -
and the Sun box was acknowledging the data but not the FIN. Turning to
trusty old Sunsolve we found Sunsolve Bug ID 4083814:
Quote:> Sun fails to ack the FIN from the other system. It is a little subtle,
> other system sends data in the packet with the FIN and we ack all the
> data, but not the FIN. Since we do not ack the FIN, he resends it,
> but instead of sending just the FIN, it resends the entire last packet.
> We continue to ignore the FIN. In addition, it is apparent from the
> behavior of the ftpd app, the data that has been received is never
> the ftpd.
until finally of course it times out some other way. The patch for Solaris
2.6 is number 105529 (for Sparc), dated Sep 15 1998.
I would think this would leave other protocols*, besides FTP,
wouldn't it? And there are a lot of Sun Solaris 2.6 and earlier boxes out
there! It does seem to be fixed in Solaris 7. Anyway, I'm surprised there
wasn't more of an awareness of this type of problem out there...