develooper Front page | perl.perl5.porters | Postings from July 2019

Re: "Damaged tar archive" for perl-5.32.2 on ftp calls fromCPANmirrors

Thread Previous | Thread Next
From:
James E Keenan
Date:
July 22, 2019 01:49
Subject:
Re: "Damaged tar archive" for perl-5.32.2 on ftp calls fromCPANmirrors
Message ID:
20190722014904.24766.qmail@lists-nntp.develooper.com
On 7/21/19 9:24 PM, Tony Cook wrote:
> On Sun, Jul 21, 2019 at 08:55:44PM -0400, James E Keenan wrote:
>> My CPAN-River-3000 program uses Net::FTP-wrapped ftp calls to query a CPAN
>> mirror for the presence of a new monthly development release tarball.
>> Hence, once a month it downloads a tarball via ftp to a tempdir, unpacks the
>> tarball and builds a dev release of perl which is installed elsewhere on
>> disk.
>>
>> Today, when attempting to run the program, I noticed that the tarball had
>> not yet appeared at my customary ftp site:
>> ftp://ftp.funet.fi/pub/languages/perl/CPAN/src/5.0/.  So I manually adjusted
>> the cron job to try a different FTP mirror (adjusting both the host and
>> hostdir as needed).  I started here:
>>
>> #####
>> Identified 602 perl releases at ftp://ftp.igh.cnrs.fr/pub/CPAN/src/5.0
>> Performing FTP 'get' call for: perl-5.31.2.tar.gz
>> Elapsed time for FTP 'get' call: 228 seconds
>> See: /tmp/HZpKrcdLfp/perl-5.31.2.tar.gz
>> Path to tarball is /tmp/HZpKrcdLfp/perl-5.31.2.tar.gz
>> Located release_dir: /home/jkeenan/var/tad/testing/perl-5.31.2
>> tar: Damaged tar archive
>> tar: Retrying...
>> ... [# Above 2 lines repeated hundreds of times]
>> tar: Damaged tar archive
>> tar: Retrying...
>> Tarball has been untarred into /tmp/HZpKrcdLfp/perl-5.31.2
>> Configuring perl with 'sh ./Configure -des -Dusedevel  -Uversiononly
>> -Dman1dir=none -Dman3dir=none -Duseithreads -Doptimize="-O2 -pipe
>> -fstack-protector -fno-strict-aliasing"
>> -Dprefix=/home/jkeenan/var/tad/testing/perl-5.31.2 1>/dev/null'
>> sh: cannot open ./Configure: No such file or directory
>> Unable to configure with 'sh ./Configure -des -Dusedevel  -Uversiononly
>> -Dman1dir=none -Dman3dir=none -Duseithreads -Doptimize="-O2 -pipe
>> -fstack-protector -fno-strict-aliasing"
>> -Dprefix=/home/jkeenan/var/tad/testing/perl-5.31.2 1>/dev/null' at
>> /home/jkeenan/bin/perl/trigger-tad.pl line 275.
>> cannot remove path when cwd is /tmp/HZpKrcdLfp/perl-5.31.2 for
>> /tmp/HZpKrcdLfp:  at /usr/local/lib/perl5/5.28/File/Temp.pm line 784.
>>
>> So the program diagnosed the tarball as damaged in some way, but eventually
>> unpacked it (or claimed to unpack it).  However, configuration very quickly
>> failed.  When I cd-ed into the tempdir for unpacking, I saw that fewer than
>> a dozen files had been properly unpacked.
>>
>> I then tried two other FTP mirrors -- with similar results.
>>
>> Identified 498 perl releases at ftp://cpan.pair.com/pub/CPAN/src/5.0
>>
>> Identified 602 perl releases at ftp://mirrors.rit.edu/CPAN/src/5.0
>>
>> When I did a manual 'wget' call to the ftp mirror, I downloaded an
>> apparently undamaged tarball.
>>
>> I've now run the CPAN-River-3000 program, together with its embedded tarball
>> download via FTP, many, many dozens of times.  I have never previously
>> gotten this "Damaged tar archive" message.
>>
>> Can anyone suggest a reason why this is happening this month?
> 
> Did you run out of space in /tmp?

No. 'df' shows the VM is only 30% full.

> 
> Does that sha256 match?
> 
> tony@mars:~/src$ sha256sum perl-5.31.2.tar.gz
> 4047199a79bf793e1f245e20fe7eb25f3c76969a475634613b152c5969826d01  perl-5.31.2.tar.gz
> tony@mars:~/src$ cat perl-5.31.2.tar.gz.sha256.txt
> 4047199a79bf793e1f245e20fe7eb25f3c76969a475634613b152c5969826d01

That looks like the problem:

#####
# In my FreeBSD-12 VM:
$ sha256 perl-5.31.2.tar.gz
SHA256 (perl-5.31.2.tar.gz) = 
a26478e09f7e3c9ad78c295cb0a4781132c56c200b208ac93291474f85fa21d3

# ftp://mirrors.rit.edu/CPAN/src/5.0/perl-5.31.2.tar.gz.sha256.txt 
 
4047199a79bf793e1f245e20fe7eb25f3c76969a475634613b152c5969826d01
#####

Also:

#####
# In my FreeBSD-12 VM:
$ sha1 perl-5.31.2.tar.gz
SHA1 (perl-5.31.2.tar.gz) = 306fcf528e33e2985fab954ccba73cd6397717a5

# ftp://mirrors.rit.edu/CPAN/src/5.0/perl-5.31.2.tar.gz.sha1.txt
3a2e2beb54e6a44b4bb6c4bd2967ec0a0c9f5324
#####

How should we proceed?

> 
> Otherwise, since you're using FTP, do you call binary() on the
> Net::FTP object?
> 

No, I don't.  But I've performed this call (inside Perl::Download::FTP) 
hundreds of times with no problem -- and now dozens of times from within 
this VM.

> Tony
> 

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About