Subject: Bug#661956: unzip fails on 5.4GB ZIP with "extra bytes at beginning or within zipfile"

From: Andy Isaacson <[email-masked]>
Date: Thu, 8 Mar 2012 15:16:31 -0800

The suggested zip command "-FFv" appears to have fixed the problem
zipfile. 

The resulting fixed.zip works fine with "unzip -l".

Here is what it printed, with filenames redacted consistently (when the
same filename shows up twice it's been replaced with the same string).

$ zip -FFv foo.zip --out fixed.zip
Fix archive (-FF) - salvage what can
 Found end record (EOCDR) - says expect single disk archive
Scanning for entries...
 Local ( 1      0): copying: d1/f1   (651734 bytes)
 Local ( 1 651817): copying: d1/d2/  (0 bytes)
 Local ( 1 651905): copying: d1/d2/f3   (80 bytes)
 Local ( 1 652083): copying: d1/f23   (891 bytes)
 Local ( 1 653021): copying: d1/f27   (8764 bytes)
 Local ( 1 661837): copying: d1/f24   (14818 bytes)
 Local ( 1 676709): copying: d1/f25   (17295 bytes)
 Local ( 1 694058): copying: d1/f26   (11461 bytes)
 Local ( 1 705573): copying: d1/f15   (299 bytes)
 Local ( 1 705942): copying: d1/f16  ............... (160880743 bytes)
 Local ( 1 161586755): copying: d1/d3/  (0 bytes)
 Local ( 1 161586830): copying: d1/d3/f18   (81 bytes)
 Local ( 1 161586996): copying: d1/f19   (315 bytes)
 Local ( 1 161587381): copying: d1/f20   (522073 bytes)
 Local ( 1 162109524): copying: d1/f21   (698 bytes)
 Local ( 1 162110291): copying: d1/f22   (194 bytes)
 Local ( 1 162110555): copying: d1/f4  ........................................................ (592046801 bytes)
 Local ( 1 754157431): copying: d1/f5  ........ (90537457 bytes)
 Local ( 1 844694963): copying: d1/f6  .................... (211226857 bytes)
 Local ( 1 1055921895): copying: d1/f7  ............................................................................................................. (1145309341 bytes)
 Local ( 1 2201231311): copying: d1/f8  ............................................................................................................................................... (1506846261 bytes)
 Local ( 1 3708077647): copying: d1/f9  ....................................................................... (748102107 bytes)
 Local ( 1 4456179829): copying: d1/f10  ........................................................................................... (954604579 bytes)
 Local ( 1 5410784483): copying: d1/f11  ....... (78000895 bytes)
 Local ( 1 5488785453): copying: d1/f12   (4077 bytes)
 Local ( 1 5488789605): copying: d1/f13   (4678 bytes)
 Local ( 1 5488794358): copying: d1/f14   (3296 bytes)
Central Directory found...
 Cen   ( 1 5488797729): updating: d1/f1
 Cen   ( 1 5488797828): updating: d1/d2/
 Cen   ( 1 5488797932): updating: d1/d2/f3
 Cen   ( 1 5488798046): updating: d1/f23
 Cen   ( 1 5488798109): updating: d1/f27
 Cen   ( 1 5488798177): updating: d1/f24
 Cen   ( 1 5488798247): updating: d1/f25
 Cen   ( 1 5488798317): updating: d1/f26
 Cen   ( 1 5488798387): updating: d1/f15
 Cen   ( 1 5488798473): updating: d1/f16
 Cen   ( 1 5488798559): updating: d1/d3/
 Cen   ( 1 5488798650): updating: d1/d3/f18
 Cen   ( 1 5488798751): updating: d1/f19
 Cen   ( 1 5488798837): updating: d1/f20
 Cen   ( 1 5488798923): updating: d1/f21
 Cen   ( 1 5488799008): updating: d1/f22
 Cen   ( 1 5488799094): updating: d1/f4
 Cen   ( 1 5488799185): updating: d1/f5
 Cen   ( 1 5488799276): updating: d1/f6
 Cen   ( 1 5488799367): updating: d1/f7
 Cen   ( 1 5488799458): updating: d1/f8
 Cen   ( 1 5488799549): updating: d1/f9
 Cen   ( 1 5488799640): updating: d1/f10
 Cen   ( 1 5488799743): updating: d1/f11
 Cen   ( 1 5488799846): updating: d1/f12
 Cen   ( 1 5488799949): updating: d1/f13
 Cen   ( 1 5488800052): updating: d1/f14
Zip64 EOCDR found ( 1 5488800155)...
Zip64 EOCDL found ( 1 5488800211)...
EOCDR found ( 1 5488800231)...
$ echo $?
0

-andy