# FTP size incorrect for files \> 4GB

**URL:** <https://www.ruby-forum.com/t/ftp-size-incorrect-for-files-4gb/118469>\
**Category:** Ruby\
**Created:** [October 27, 2007, 12:16pm UTC](https://www.ruby-forum.com/t/ftp-size-incorrect-for-files-4gb/118469 "2007-10-27T12:16:36Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![nappin](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/f475e1/32.png) [@nappin](https://www.ruby-forum.com/u/nappin)\
**Post date:** [October 27, 2007, 12:16pm UTC](https://www.ruby-forum.com/t/ftp-size-incorrect-for-files-4gb/118469/1 "2007-10-27T12:16:36Z")

</div>

The net/ftp size method is supposed to return the size of a remote file,  
but when the size of the remote file is \> 4GB it seems to return the  
wrong size.

The size of the remote file I’m testing is about 4.5 GB and size()  
returns about 0.5 GB. Anyone having the same problems? Is there  
somewhere I can report this problem?

Thanks

---

<div class="post-metadata">

**Author:** ![nappin](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/f475e1/32.png) [@nappin](https://www.ruby-forum.com/u/nappin)\
**Post date:** [October 27, 2007, 8:59pm UTC](https://www.ruby-forum.com/t/ftp-size-incorrect-for-files-4gb/118469/2 "2007-10-27T20:59:37Z")

</div>

On 10/27/07, Raymond O’Connor [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> The net/ftp size method is supposed to return the size of a remote file,  
> but when the size of the remote file is \> 4GB it seems to return the  
> wrong size.
> 
> The size of the remote file I’m testing is about 4.5 GB and size()  
> returns about 0.5 GB. Anyone having the same problems? Is there  
> somewhere I can report this problem?

It works for me. Can you 1. post test code to reproduce, 2. specify  
ruby version and operating system?

You may try checking ‘12345678923456’.to\_i as to\_i is used to convert  
string response to integer.

Finally, try running the ftp command manually, to see the precise ftp  
server response. The code in net/ftp strips first three and the last  
character. Maybe your server responds in a slightly different format.

For more details see net/ftp source, It’s pure ruby and easy to  
understand (at least the size method).

Jano

ruby -v:  
ruby 1.8.5 (2006-08-25) [i386-mswin32] (one-click, xp sp2)

require ‘net/ftp’  
require ‘test/unit’

class TestFtp \< Test::Unit::TestCase  
def setup  
@ftp = Net::FTP.new(‘ftp.tuwien.ac.at’)  
@ftp.login  
@ftp.chdir(‘opsys/linux/Mandrake-iso/2008.0’)  
end

def test\_size  
assert\_equal 4612227072,  
@ftp.size(‘mandriva-linux-2008.0-free-dvd-x86\_64.iso’)  
end

def teardown  
@ftp.close  
end  
end

---

<div class="post-metadata">

**Author:** ![nappin](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/f475e1/32.png) [@nappin](https://www.ruby-forum.com/u/nappin)\
**Post date:** [October 28, 2007, 2:22am UTC](https://www.ruby-forum.com/t/ftp-size-incorrect-for-files-4gb/118469/3 "2007-10-28T02:22:16Z")

</div>

RE: Jano S.

Thanks for your help. I tried out size on the mandriva iso and it came  
out correctly, so I’m not sure what the problem is, but my guess at this  
point is something is set up oddly on the ftp server I connect to  
(Unfortunately its private so I can’t post its information).

I did do calculations and for some reason on the ftp server I connect  
to, the size of files over 4 GB is reported as actual size - 4 GB.

---

<div class="post-metadata">

**Author:** ![nappin](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/f475e1/32.png) [@nappin](https://www.ruby-forum.com/u/nappin)\
**Post date:** [October 28, 2007, 2:40pm UTC](https://www.ruby-forum.com/t/ftp-size-incorrect-for-files-4gb/118469/4 "2007-10-28T14:40:52Z")

</div>

Hello,  
I am not sure, but coud it be that the OS has only 32bit? Normally then  
files bigger as $G should not be supported. But maybe also some of the  
help-programs only 32bit. Only a guess.

---

<div class="post-metadata">

**Author:** ![nappin](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/f475e1/32.png) [@nappin](https://www.ruby-forum.com/u/nappin)\
**Post date:** [October 30, 2007, 9:15pm UTC](https://www.ruby-forum.com/t/ftp-size-incorrect-for-files-4gb/118469/5 "2007-10-30T21:15:55Z")

</div>

Tammo and Jano thanks for the suggestions. The whole 32 bit  
architecture completely slipped my mind, and I’m sure it’s the cause for  
the mess. Thanks again for the help!

---

<div class="post-metadata">

**Author:** ![nappin](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/f475e1/32.png) [@nappin](https://www.ruby-forum.com/u/nappin)\
**Post date:** [October 28, 2007, 3:14pm UTC](https://www.ruby-forum.com/t/ftp-size-incorrect-for-files-4gb/118469/6 "2007-10-28T15:14:14Z")

</div>

On 10/28/07, Raymond O’Connor [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> RE: Jano S.
> 
> Thanks for your help. I tried out size on the mandriva iso and it came  
> out correctly, so I’m not sure what the problem is, but my guess at this  
> point is something is set up oddly on the ftp server I connect to  
> (Unfortunately its private so I can’t post its information).
> 
> I did do calculations and for some reason on the ftp server I connect  
> to, the size of files over 4 GB is reported as actual size - 4 GB.

You may try connecting manually, using a cmdline client. Then use  
CHDIR and SIZE commands to see what the server reports. The odds are  
that the server itself doesn’t support files larger than 2^32  
(4294967296). The possible reasons are ftp software, the OS or used  
filesystem. Look up ftpd version, and search the internet for possible  
issues.
