It can happen that HTTP servers (or those accessed via Proxy) do not actually provide Content-Length information in the response. This caused UrlFetcher to keep __remotesize = 0, which means that the same thought that the file has been fully downloaded already under some circumstances.