Skip Menu |

This queue is for tickets about the Archive-Zip CPAN distribution.

Report information
The Basics
Id: 106089
Status: open
Priority: 0/
Queue: Archive-Zip

People
Owner: Nobody in particular
Requestors: HMBRAND [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in:
  • 1.47
  • 1.48
Fixed in: (no value)



Subject: t/22_deflated_dir.t FAILS under 5.22.0-64all-longdouble
This is perl 5, version 22, subversion 0 (v5.22.0) built for x86_64-linux-thread-multi-ld 1.46 installs OK, but that one doesn't have t/22 $ prove -vwb t/22_deflated_dir.t t/22_deflated_dir.t .. 1..4 ok 1 - An object of class 'Archive::Zip::Archive' isa 'Archive::Zip' ok 2 - Read file ok 3 - Wrote file not ok 4 - output zip isn't corrupted # Failed test 'output zip isn't corrupted' # at t/22_deflated_dir.t line 24. # got: '512' # expected: '0' # Looks like you failed 1 test of 4. Dubious, test returned 1 (wstat 256, 0x100) Failed 1/4 subtests Test Summary Report ------------------- t/22_deflated_dir.t (Wstat: 256 Tests: 4 Failed: 1) Failed test: 4 Non-zero exit status: 1 Files=1, Tests=4, 0 wallclock secs ( 0.03 usr 0.00 sys + 0.07 cusr 0.00 csys = 0.10 CPU) Result: FAIL status= 512, out=Archive: /tmp/testout-9ewbP.zip testing: META-INF/ bad extra-field entry: EF block length (0 bytes) invalid (< 4) testing: META-INF/MANIFEST.MF OK testing: file OK At least one error was detected in /tmp/testout-9ewbP.zip. $ unzip -l t/data/jar.zip Archive: t/data/jar.zip Length Date Time Name --------- ---------- ----- ---- 0 2015-06-15 22:06 META-INF/ 68 2015-06-15 22:06 META-INF/MANIFEST.MF 5 2015-06-15 22:06 file --------- ------- 73 3 files
This has nothing to do with longdoubles If you are sure that jar.zip is OK, maybe ignore testZip() results if the newly written file outputs the same analysis Linux 4.3.0-2-default [openSUSE Tumbleweed (20151124) (x86_64) (Tumbleweed)] UnZip 6.00 of 20 April 2009, by Info-ZIP. Maintained by C. Spieler. $ unzip -t t/data/jar.zip Archive: t/data/jar.zip testing: META-INF/ bad extra-field entry: EF block length (0 bytes) invalid (< 4) testing: META-INF/MANIFEST.MF OK testing: file OK At least one error was detected in t/data/jar.zip. $ unzip -t /tmp/testout-Fal3M.zip Archive: /tmp/testout-Fal3M.zip testing: META-INF/ bad extra-field entry: EF block length (0 bytes) invalid (< 4) testing: META-INF/MANIFEST.MF OK testing: file OK At least one error was detected in /tmp/testout-Fal3M.zip.
From: ozcoder [...] gmail.com
On Sun Dec 20 08:08:30 2015, HMBRAND wrote: Show quoted text
> This has nothing to do with longdoubles > > If you are sure that jar.zip is OK, maybe ignore testZip() results if > the newly written file outputs the same analysis > > Linux 4.3.0-2-default [openSUSE Tumbleweed (20151124) (x86_64) > (Tumbleweed)] > > UnZip 6.00 of 20 April 2009, by Info-ZIP. Maintained by C. Spieler. > > > $ unzip -t t/data/jar.zip > Archive: t/data/jar.zip > testing: META-INF/ bad extra-field entry: > EF block length (0 bytes) invalid (< 4) > testing: META-INF/MANIFEST.MF OK > testing: file OK > At least one error was detected in t/data/jar.zip. > > $ unzip -t /tmp/testout-Fal3M.zip > Archive: /tmp/testout-Fal3M.zip > testing: META-INF/ bad extra-field entry: > EF block length (0 bytes) invalid (< 4) > testing: META-INF/MANIFEST.MF OK > testing: file OK > At least one error was detected in /tmp/testout-Fal3M.zip.
FYI Ok, I have finally worked out what is going on. It's actually a bug in that particular version of unzip. There was security bug https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2014-8139 that was sort of fixed in this version, but not quite right. It doesn't allow 0 length field, but the check was wrong. A later version has it fixed correctly. See my non-container Travis run https://travis-ci.org/ozcoder/perl-Archive-Zip/builds/109792014 Gordon
Nice digging. Well done.
On Wed Feb 17 02:18:21 2016, HMBRAND wrote: Show quoted text
> Nice digging. Well done.
I still see this in 1.57 :( This is perl 5, version 22, subversion 1 (v5.22.1) built for x86_64-linux-thread-multi-ld Linux 4.5.0-2-default [openSUSE Tumbleweed (20160117) (x86_64)] unzip-6.00-61.15.x86_64 At the line(s) changed in common.pm, the $status on my machine is 0
On Thu Apr 07 04:25:43 2016, HMBRAND wrote: Show quoted text
> On Wed Feb 17 02:18:21 2016, HMBRAND wrote:
> > Nice digging. Well done.
> > I still see this in 1.57 :( > > This is perl 5, version 22, subversion 1 (v5.22.1) built for x86_64- > linux-thread-multi-ld > Linux 4.5.0-2-default [openSUSE Tumbleweed (20160117) (x86_64)] > unzip-6.00-61.15.x86_64 > > At the line(s) changed in common.pm, the $status on my machine is 0
512 is the return code for 1 one or more warning errors were encountered, but process- ing completed successfully anyway. This includes zip- files where one or more files was skipped due to unsup- ported compression method or encryption with an unknown password. as 9 is for 9 the specified zipfiles were not found. So, maybe # 0x0100 RC = 1 Ignored warnings # 0x0900 RC = 9 The specified zipfiles were not found $testZipDoesntWork = (($status == 0 || $status == 0x0100 || $status == 0x0900) ? 0 : 1);