Zip 3.0i/3.0 release candidate quits abruptly when I try to add 3 GiB worth
of .mpg files (roughly 30 files) to an archive which is already just over 8
GiB in size (~2800 files). I've compiled it with MinGW in Windows XP.
Below is the output of the command:
zip -r -sd test1.zip myfolder -i *.mpg
sd: Zipfile name 'test1.zip'
sd: Command line read
sd: Reading archive
sd: Scanning files
sd: Applying filters
sd: Checking dups
sd: Scanning files to update
sd: fcount = 28
sd: Open zip file and create temp file
sd: Creating new zip file
sd: Going through old zip file
sd: Zipping up new entries
adding: file...
(list of new files added)
sd: Get comment if any
sd: Writing central directory
zip error: Interrupted (aborting)
No temp file is left, and the original zip file is not changed. After some
"printf" style debugging, I've determined that zip aborts due to a malloc()
call inside append_ulong_to_mem() inside putcentral(). All values passed
to the functions seem to be okay (no null pointers), so it's a mystery at
this point. It will be a little cryptic without my debugging source code,
but here is my latest debugging output:
from inside main():
sd: n=4300869089, t=4293310199, k=1455, z=00AFF740
from inside putcentral():
pc3
1block=00000000, offset=0, blocksize=0
from inside append_ulong_to_mem():
pPtr=0022FCCC
blocksize=0022FCD4
mallocing...
back from malloc, *pPtr=00DD1A30
writing ulong to mem...
adding 4 to offset...
returning.
from inside putcentral():
2block=00DD1A30, offset=4, blocksize=1024
3block=00DD1A30, offset=6, blocksize=1024
4block=00DD1A30, offset=8, blocksize=1024
5block=00DD1A30, offset=10, blocksize=1024
6block=00DD1A30, offset=12, blocksize=1024
from inside append_ulong_to_mem():
pPtr=0022FCCC
writing ulong to mem...
adding 4 to offset...
returning.
from inside putcentral():
7block=00DD1A30, offset=16, blocksize=1024
from inside append_ulong_to_mem():
pPtr=0022FCCC
writing ulong to mem...
adding 4 to offset...
returning.
from inside putcentral():
pc4
block freed.
from main():
sd: n=4304009029, t=4296445245, k=1456, z=00AFFA20
from inside putcentral():
pc3
1block=00000000, offset=0, blocksize=0
from inside append_ulong_to_mem():
pPtr=0022FCCC
blocksize=0022FCD4
mallocing...
zip error: Interrupted (aborting)
I will continue to look into it. Debugging suggestions are welcome.
Nobody/Anonymous
None
None
Public
|
Date: 2008-09-28 14:04 Confirmed. Okay w/me to close it. |
|
Date: 2008-09-28 06:17 This should be fixed in Zip 3.0 as released. Please confirm this bug can |
|
Date: 2008-07-01 13:05
|
|
Date: 2008-07-01 05:03
|
|
Date: 2008-07-01 04:32
|
|
Date: 2008-06-30 15:08
|
|
Date: 2008-06-30 12:45
|