New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spurious 'source file size change' error with large files on Windows (v3.0h_pre0) #3

Closed
GoogleCodeExporter opened this Issue Mar 24, 2015 · 4 comments

Comments

Projects
None yet
1 participant
@GoogleCodeExporter

GoogleCodeExporter commented Mar 24, 2015

What steps will reproduce the problem?
1. Create two slightly different ~5GB files on Windows XP SP2.
2. Run xdelta3 -evv -s file1.bin file2.bin file2.vcdiff

What is the expected output? What do you see instead?

Expect to get a difference file in file2.vcdiff, however, I get this error 
instead:
<snip>
xdelta3: 3258: in 262 KB (3360 KB/sec): out 26 B (333 B/sec): total in 854 
MB: o
ut 83 KB: 78 ms
xdelta3: 3259: in 262 KB (9223372036 GB/sec): out 26 B (9223372036 
GB/sec): tota
l in 854 MB: out 83 KB: 0 ms
xdelta3: 3260: in 262 KB (1872 KB/sec): out 26 B (185 B/sec): total in 854 
MB: o
ut 83 KB: 140 ms
xdelta3: 3261: in 262 KB (1680 KB/sec): out 26 B (166 B/sec): total in 855 
MB: o
ut 83 KB: 156 ms
xdelta3: 3262: in 262 KB (1680 KB/sec): out 26 B (166 B/sec): total in 855 
MB: o
ut 83 KB: 156 ms
xdelta3: 3263: in 262 KB (2097 KB/sec): out 26 B (208 B/sec): total in 855 
MB: o
ut 83 KB: 125 ms
xdelta3: 3264: in 262 KB (9223372036 GB/sec): out 26 B (9223372036 
GB/sec): tota
l in 855 MB: out 83 KB: 0 ms
xdelta3: 3265: in 262 KB (2404 KB/sec): out 26 B (238 B/sec): total in 856 
MB: o
ut 83 KB: 109 ms
xdelta3: 3266: in 262 KB (1872 KB/sec): out 26 B (185 B/sec): total in 856 
MB: o
ut 83 KB: 140 ms
xdelta3: source file size change: file1.bin
xdelta3: getblk failed: XD3_INTERNAL
What version of the product are you using? On what operating system?


Please provide any additional information below.

Version 3.0h running on Windows XP SP2. File1.bin did *not* change during 
the run of the program, despite the error reported by xdelta3. I will re-
run to confirm.


Original issue reported on code.google.com by malay...@gmail.com on 11 Dec 2006 at 9:19

@GoogleCodeExporter

This comment has been minimized.

Show comment
Hide comment
@GoogleCodeExporter

GoogleCodeExporter Mar 24, 2015

I expect this means 64bit I/O is broken. Will fix.

Original comment by dotdotis...@gmail.com on 12 Dec 2006 at 6:01

GoogleCodeExporter commented Mar 24, 2015

I expect this means 64bit I/O is broken. Will fix.

Original comment by dotdotis...@gmail.com on 12 Dec 2006 at 6:01

@GoogleCodeExporter

This comment has been minimized.

Show comment
Hide comment
@GoogleCodeExporter

GoogleCodeExporter Mar 24, 2015

This appears to be a more general problem, perhaps only on windows. It is not 
limited to files >4GB. However, all of my tests with "smallish" files (under 5 
MB)
have worked just fine.

While differencing two large but sub-4GB files (file1.bin 3,375,965,696 bytes; 
file2.bin 3,358,860,800 bytes), everything starts out okay but then I get this.

C:\temp>xdelta3 -ev -s file1.bin file2.bin file2.VCDIFF
<snip>
xdelta3: 8187: in 262 KB: out 26 B: total in 2146 MB: out 2690 KB: 79 ms
xdelta3: 8188: in 262 KB: out 26 B: total in 2146 MB: out 2690 KB: 62 ms
xdelta3: 8189: in 262 KB: out 26 B: total in 2146 MB: out 2690 KB: 94 ms
xdelta3: 8190: in 262 KB: out 26 B: total in 2147 MB: out 2690 KB: 94 ms
xdelta3: 8191: in 262 KB: out 26 B: total in 2147 MB: out 2690 KB: 16 ms
xdelta3: seek failed: file1.bin: Invalid argument
xdelta3: getblk failed: Invalid argument

I am pretty certain this is not a hardware issue, as this machine is fine in 
all 
other respects. Running diagnostic tools turns up no disk, RAM, or other 
hardware 
issues.

How can I further help diagnose this one? I am not much of a C/C++ programmer, 
but I 
do have Vistual Studio 2003 (with the included C/C++ debugger). What form of 
debug 
output would be most useful?

Finally, do you have a verbal description of the string-matching algorithm used 
in 
Xdelta3 anywhere? Is it similar to the rsync "rolling checksum", or does it 
only 
search within the specified window?

Thanks for the great work... a "standards-compliant" delta compression solution 
is 
sorely needed IMHO.

Original comment by malay...@gmail.com on 12 Dec 2006 at 3:48

GoogleCodeExporter commented Mar 24, 2015

This appears to be a more general problem, perhaps only on windows. It is not 
limited to files >4GB. However, all of my tests with "smallish" files (under 5 
MB)
have worked just fine.

While differencing two large but sub-4GB files (file1.bin 3,375,965,696 bytes; 
file2.bin 3,358,860,800 bytes), everything starts out okay but then I get this.

C:\temp>xdelta3 -ev -s file1.bin file2.bin file2.VCDIFF
<snip>
xdelta3: 8187: in 262 KB: out 26 B: total in 2146 MB: out 2690 KB: 79 ms
xdelta3: 8188: in 262 KB: out 26 B: total in 2146 MB: out 2690 KB: 62 ms
xdelta3: 8189: in 262 KB: out 26 B: total in 2146 MB: out 2690 KB: 94 ms
xdelta3: 8190: in 262 KB: out 26 B: total in 2147 MB: out 2690 KB: 94 ms
xdelta3: 8191: in 262 KB: out 26 B: total in 2147 MB: out 2690 KB: 16 ms
xdelta3: seek failed: file1.bin: Invalid argument
xdelta3: getblk failed: Invalid argument

I am pretty certain this is not a hardware issue, as this machine is fine in 
all 
other respects. Running diagnostic tools turns up no disk, RAM, or other 
hardware 
issues.

How can I further help diagnose this one? I am not much of a C/C++ programmer, 
but I 
do have Vistual Studio 2003 (with the included C/C++ debugger). What form of 
debug 
output would be most useful?

Finally, do you have a verbal description of the string-matching algorithm used 
in 
Xdelta3 anywhere? Is it similar to the rsync "rolling checksum", or does it 
only 
search within the specified window?

Thanks for the great work... a "standards-compliant" delta compression solution 
is 
sorely needed IMHO.

Original comment by malay...@gmail.com on 12 Dec 2006 at 3:48

@GoogleCodeExporter

This comment has been minimized.

Show comment
Hide comment
@GoogleCodeExporter

GoogleCodeExporter Mar 24, 2015

This should be fixed in 3.0i, see http://xdelta.org

Original comment by dotdotis...@gmail.com on 17 Dec 2006 at 12:28

  • Changed state: Fixed

GoogleCodeExporter commented Mar 24, 2015

This should be fixed in 3.0i, see http://xdelta.org

Original comment by dotdotis...@gmail.com on 17 Dec 2006 at 12:28

  • Changed state: Fixed
@GoogleCodeExporter

This comment has been minimized.

Show comment
Hide comment
@GoogleCodeExporter

GoogleCodeExporter Mar 24, 2015

I confirm this is working with two slightly different 4.4 GB files on windows. 
The 
resulting VCDIFF output was just 586 KB, which seems sensible, as I created 
these 
test files by sticking a 240 KB file in the middle of two hude GB files.

Original comment by malay...@gmail.com on 4 Jan 2007 at 10:56

GoogleCodeExporter commented Mar 24, 2015

I confirm this is working with two slightly different 4.4 GB files on windows. 
The 
resulting VCDIFF output was just 586 KB, which seems sensible, as I created 
these 
test files by sticking a 240 KB file in the middle of two hude GB files.

Original comment by malay...@gmail.com on 4 Jan 2007 at 10:56

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment