bug-coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#25149: md5sum fails with message "Invalid argument" on 4, 294, 967,


From: Pádraig Brady
Subject: bug#25149: md5sum fails with message "Invalid argument" on 4, 294, 967, 295-byte files in FAT32
Date: Fri, 9 Dec 2016 18:11:42 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0

On 09/12/16 15:45, Jaime Gaspar wrote:
> --- Bug ---
> In a FAT32 file system, if one runs md5sum on a 4,294,967,294-byte file (one 
> byte less than the maximum file size) it succeeds, but if one runs md5sum on 
> a 4,294,967,295-byte file (the maximum file size) it fails with error message 
> "Invalid argument".
> 
> --- How to reproduce the bug ---
> Create a FAT32 file system in a file "tmp.fs":
>    truncate -s 9G tmp.fs
>    mkfs.vfat -F 32 tmp.fs
> Mount at "/tmp/mounted_tmp/" the file system in file "tmp.fs":
>    sudo mkdir /tmp/mounted_tmp/
>    sudo mount -o loop,rw,uid=1000,gid=1000 tmp.fs /tmp/mounted_tmp/
> Create two files in "/tmp/mounted_tmp/", file "file_1" with 4,294,967,294 
> bytes and file "file_2" with 4,294,967,295 bytes:
>    cd /tmp/mounted_tmp/
>    truncate -s 4294967294 file_1
>    truncate -s 4294967295 file_2
> Run md5sum on the two files "file_1" and "file_2":
>    md5sum file_1
>    md5sum file_2
> The outputs should be respectively (notice that the second output is an error 
> message):
>    541249e3205af07b4a03f891185f64a0  file_1
>    md5sum: file_2: Invalid argument
> Unmount the file system at "/tmp/mounted_tmp/":
>    cd ..
>    sudo umount /tmp/mounted_tmp/
>    sudo rmdir /tmp/mounted_tmp/
> Remove the file "tmp.fs".
> 
> --- Notes ---
> Tested with md5sum 8.25 running on an updated Ubuntu 16.10 with kernel 
> 4.8.0-30-generic.
> The same bug affects sha1sum, sha224sum, sha256sum, sha384sum, and sha512sum, 
> but not crc32.

I can't repro this with any md5sum version on 4.2.5-300.fc23.x86_64
So I'm guessing a kernel regression.
Can you strace -o /tmp/md5sum.strace md5sum file_2,
and look towards the end of the strace file to identify the syscall returning 
EINVAL?
In any case I'd direct the issue towards the kernel folks.

thanks,
Pádraig





reply via email to

[Prev in Thread] Current Thread [Next in Thread]