Subject: | (heisenbug) ::Archive::extractTree gives ::Member::extractToFileNamed a bad parameter. |
Running "dmake test" on PAR::Dist and two modules that use it
(PAR::Repository::Client, Perl::Dist) when Archive::Zip 1.28 is
installed fails - in PAR::Dist's case, between tests 6 and 7, with the
call stack shown below (I added $Carp::MaxArgLen = 0 to the test file
and set PERL5OPT = -MCarp=verbose to get this.)
...
mkdir C:\Documents and Settings\Curtis\Desktop\PAR-Dist-0.45\t\C:\:
Invalid argument; The filename, directory name, or volume label syntax
is incorrect at C:/bootperl/perl/lib/File/Path.pm line 118
File::Path::_mkpath('HASH(0xfbdfac)', 'ARRAY(0xfc2b6c)') called
at C:/bootperl/perl/lib/File/Path.pm line 100
File::Path::_mkpath('HASH(0xfbdfac)', 'ARRAY(0xfbec3c)') called
at C:/bootperl/perl/lib/File/Path.pm line 100
File::Path::_mkpath('HASH(0xfbdfac)', 'ARRAY(0xfbe9bc)') called
at C:/bootperl/perl/lib/File/Path.pm line 100
File::Path::_mkpath('HASH(0xfbdfac)', 'ARRAY(0xfbe73c)') called
at C:/bootperl/perl/lib/File/Path.pm line 100
File::Path::_mkpath('HASH(0xfbdfac)', 'ARRAY(0xfbe4bc)') called
at C:/bootperl/perl/lib/File/Path.pm line 100
File::Path::_mkpath('HASH(0xfbdfac)', 'ARRAY(0xfbe19c)') called
at C:/bootperl/perl/lib/File/Path.pm line 100
File::Path::_mkpath('HASH(0xfbdfac)', 'ARRAY(0xfbbd0c)') called
at C:/bootperl/perl/lib/File/Path.pm line 82
File::Path::mkpath('C:\Documents and
Settings\Curtis\Desktop\PAR-Dist-0.45\t\C:\DOCUME~1\Curtis\LOCALS~1\Temp\parsjhCo\blib')
called at C:/bootperl/perl/site/lib/Archive/Zip/Member.pm line 418
Archive::Zip::Member::extractToFileNamed('Archive::Zip::ZipFileMember=HA
SH(0xfb42ac)', 'C:\Documents and
Settings\Curtis\Desktop\PAR-Dist-0.45\t\C:\DOCUME~1\Curtis\LOCALS~1\Temp\parsjhCo\blib\META.yml')
called at C:/bootperl/perl/site/lib/Archive/Zip/Archive.pm line 677
Archive::Zip::Archive::extractTree('Archive::Zip::Archive=HASH(0xfb3f7c)
', '', 'C:\DOCUME~1\Curtis\LOCALS~1\Temp\parsjhCo\blib/') called at
C:\Documents and
Settings\Curtis\Desktop\PAR-Dist-0.45\blib\lib/PAR/Dist.pm line 939
PAR::Dist::_unzip('dist', 'C:\Documents and
Settings\Curtis\Desktop\PAR-Dist-0.45\t\dist1.par', 'path',
'C:\DOCUME~1\Curtis\LOCALS~1\Temp\parsjhCo\blib') called at C:\Documents
and Settings\Curtis\Desktop\PAR-Dist-0.45\blib\lib/PAR/Dist.pm line 1101
PAR::Dist::_unzip_to_tmpdir('dist', 'dist1.par', 'subdir',
'blib') called at C:\Documents and
Settings\Curtis\Desktop\PAR-Dist-0.45\blib\lib/PAR/Dist.pm line 657
PAR::Dist::merge_par('dist1.par', 'dist2.par') called at
t/03merge_meta.t line 103
# Looks like you planned 29 tests but ran 6.
# Looks like your test exited with 22 just after 6.
What's really weird is that running the test with "perl -Mblib
t\03merge_meta.t" succeeds, and installing 1.26 makes "dmake test" succeed.