This queue is for tickets about the CPAN CPAN distribution.

Report information
The Basics
Id:
82295
Status:
open
Priority:
Low/Low
Queue:

People
Owner:
Nobody in particular
Requestors:
BOLDRA [...] boldra.org
piemas25 [...] gmail.com
Cc:
AdminCc:

BugTracker
Severity:
Important
Broken in:
1.9600
Fixed in:
(no value)



Subject: Strange and very annoying bug/problem with Cygwin
Hello, i reported this error to the Cygwin mailing list, where Reini Urban told me : "I also sometimes get this error, and it's an upstream CPAN error with the unpacking logic. https://rt.cpan.org//Dist/Display.html?Queue=CPAN doesn't list it, though I remember having it reported some time ago. Please file a new report there, Andy will remember maybe." I have just updated to CPAN 1.98, hoping that i won't get this anymore. Here is my original bug-report message : Hi all, CPAN does strange things here. I installed Cygwin 1.7.17 on WinXP a few days ago, and am using Perl 5.14.2. Often when i'm installing a module from CPAN, it stops near the start on an error, telling me that it "Couldn't move $temporary_module_folder to $cpan_build_folder". I have put the complete copy-pasted error below this text that explains the problem. The very strange thing is that it only does it "sometimes" (too often), and it seems to be unpredictable : the same module will sometimes start installing, and sometimes just die on this error 20 times in a row; and then 10 minutes later it will work. It is extremely annoying : i start an install, stay for the first minute just in case this error happens, then start to do other work related tasks, and when i come back to it one of the dependencies has failed with this error. And keep on failing for 10 minutes, until suddenly it works. It takes me hours/days to install all the dependencies of a single module that i need. And i have to keep on checking every 5 minutes that the install hasn't been stopped. Or sometimes realize after an hour that it had stopped after only 2 minutes. If anybody has an idea, please help :-) Pierre aka mascip -- Here are some commands that i ran, to show the environment that i work on : $ uname -r 1.7.17(0.262/5/3) $ perl -v This is perl 5, version 14, subversion 2 (v5.14.2) built for cygwin-thread-multi-64int (with 7 registered patches, see perl -V for more detail) -- Here is the error : $ cpan Pinto CPAN: Storable loaded ok (v2.27) Going to read '/cygdrive/c/Dropbox/.cpan/Metadata' Database was generated on Sun, 16 Dec 2012 14:07:04 GMT Running install for module 'Pinto' Running make for T/TH/THALJEF/Pinto-0.065.tar.gz CPAN: Digest::SHA loaded ok (v5.71) CPAN: Compress::Zlib loaded ok (v2.033) Checksum for /cygdrive/c/Dropbox/.cpan/sources/authors/id/T/TH/THALJEF/Pinto- 0.065.tar.gz ok CPAN: File::Temp loaded ok (v0.22) Couldn't move /cygdrive/c/Dropbox/.cpan/build/tmp-4820/Pinto-0.065/lib to /cygdrive/c/Dropbox/.cpan/build/Pinto-0.065-w6Pz9L/lib: Is a directory at /usr/lib/perl5/5.14/CPAN/Distribution.pm line 524. CPAN::Distribution::run_preps_on_packagedir('CPAN::Distribution=HASH(0x2 6251cb0)') called at /usr/lib/perl5/5.14/CPAN/Distribution.pm line 351 CPAN::Distribution::get('CPAN::Distribution=HASH(0x26251cb0)') called at /usr/lib/perl5/5.14/CPAN/Distribution.pm line 1748 CPAN::Distribution::make('CPAN::Distribution=HASH(0x26251cb0)') called at /usr/lib/perl5/5.14/CPAN/Distribution.pm line 3061 CPAN::Distribution::test('CPAN::Distribution=HASH(0x26251cb0)') called at /usr/lib/perl5/5.14/CPAN/Distribution.pm line 3463 CPAN::Distribution::install('CPAN::Distribution=HASH(0x26251cb0)') called at /usr/lib/perl5/5.14/CPAN/Module.pm line 479 eval {...} called at /usr/lib/perl5/5.14/CPAN/Module.pm line 478 CPAN::Module::rematein('CPAN::Module=HASH(0x24ca81f8)', 'install') called at /usr/lib/perl5/5.14/CPAN/Module.pm line 578 CPAN::Module::install('CPAN::Module=HASH(0x24ca81f8)') called at /usr/lib/perl5/5.14/CPAN/Shell.pm line 1796 CPAN::Shell::rematein('CPAN::Shell', 'install', 'Pinto') called at /usr/lib/perl5/5.14/CPAN/Shell.pm line 1976 CPAN::Shell::__ANON__('CPAN::Shell', 'Pinto') called at /usr/lib/perl5/5.14/App/Cpan.pm line 459 App::Cpan::__ANON__('Pinto') called at /usr/lib/perl5/5.14/App/Cpan.pm line 468 App::Cpan::_default('ARRAY(0x2006c430)', 'HASH(0x20948c68)') called at /usr/lib/perl5/5.14/App/Cpan.pm line 386 App::Cpan::run('App::Cpan', 'Pinto') called at /usr/bin/cpan line 11 -- And here is the same command than earlier, ran 10 minutes later, and with a successful start this time - i don't think i have done anything special between these two runs (i checked my emails), that would justify this different behavior : $ cpan Pinto CPAN: Storable loaded ok (v2.27) Going to read '/cygdrive/c/Dropbox/.cpan/Metadata' Database was generated on Sun, 16 Dec 2012 14:07:04 GMT Running install for module 'Pinto' Running make for T/TH/THALJEF/Pinto-0.065.tar.gz CPAN: Digest::SHA loaded ok (v5.71) CPAN: Compress::Zlib loaded ok (v2.033) Checksum for /cygdrive/c/Dropbox/.cpan/sources/authors/id/T/TH/THALJEF/Pinto- 0.065.tar.gz ok CPAN: File::Temp loaded ok (v0.22) CPAN: Parse::CPAN::Meta loaded ok (v1.4401) CPAN: CPAN::Meta loaded ok (v2.112150) CPAN: Module::CoreList loaded ok (v2.49_02) CPAN: Time::HiRes loaded ok (v1.972101) CPAN.pm: Going to build T/TH/THALJEF/Pinto-0.065.tar.gz Checking prerequisites... requires: ! DBD::SQLite is not installed ! DBIx::Class is not installed ! DBIx::Class::Core is not installed ! DBIx::Class::Schema is not installed ! Dist::Metadata is not installed ! File::NFSLock is not installed ! MooseX::Aliases is not installed ! MooseX::Configuration is not installed ! Package::Locator is not installed ! SQL::Translator is not installed ! String::Format is not installed ! Term::EditorEdit is not installed build_requires: ! Test::File is not installed ERRORS/WARNINGS FOUND IN PREREQUISITES. You may wish to install the versions of the modules indicated above before proceeding with this installation Created MYMETA.yml and MYMETA.json Creating new 'Build' script for 'Pinto' version '0.065'
Show quoted text
---- Unsatisfied dependencies detected during ---- ---- THALJEF/Pinto-0.065.tar.gz ---- DBIx::Class [requires] Term::EditorEdit [requires] SQL::Translator [requires] MooseX::Configuration [requires] Dist::Metadata [requires] DBIx::Class::Schema [requires] Test::File [build_requires] DBD::SQLite [requires] MooseX::Aliases [requires] String::Format [requires] File::NFSLock [requires] DBIx::Class::Core [requires] Package::Locator [requires] Running Build test Delayed until after prerequisites Running Build install Delayed until after prerequisites Running install for module 'DBIx::Class' Running make for G/GE/GETTY/DBIx-Class-0.08204.tar.gz Checksum for /cygdrive/c/Dropbox/.cpan/sources/authors/id/G/GE/GETTY/DBIx-Class- 0.08204.tar.gz ok CPAN.pm: Going to build G/GE/GETTY/DBIx-Class-0.08204.tar.gz *** Module::AutoInstall version 1.06 *** Checking for Perl dependencies... *** Since we're running under CPAN, I'll just let it take care of the dependency's installation later. [Core Features] - DBD::SQLite ...missing. (would need 1.29) - File::Temp ...loaded. (0.22 >= 0.22) - Package::Stash ...loaded. (0.33 >= 0.28) - Test::Builder ...loaded. (0.98 >= 0.94) - Test::Exception ...loaded. (0.31 >= 0.31) - Test::More ...loaded. (0.98 >= 0.94) - Test::Warn ...loaded. (0.24 >= 0.21) - Class::Accessor::Grouped ...missing. (would need 0.10007) - Class::C3::Componentised ...missing. (would need 1.0009) - Class::Inspector ...missing. (would need 1.24) - Class::Method::Modifiers ...loaded. (1.12 >= 1.06) - Config::Any ...loaded. (0.23 >= 0.20) - Context::Preserve ...missing. (would need 0.01) - DBI ...loaded. (1.622 >= 1.57) - Data::Compare ...loaded. (1.22 >= 1.22) - Data::Dumper::Concise ...loaded. (2.020 >= 2.020) - Data::Page ...missing. (would need 2.00) - Devel::GlobalDestruction ...loaded. (0.09) - File::Path ...loaded. (2.08_01 >= 2.07) - Hash::Merge ...missing. (would need 0.12) - MRO::Compat ...loaded. (0.12 >= 0.09) - Module::Find ...missing. (would need 0.06) - Moo ...loaded. (1.000007 >= 0.009100) - Path::Class ...loaded. (0.28 >= 0.18) - SQL::Abstract ...missing. (would need 1.73) - Scope::Guard ...loaded. (0.20 >= 0.03) - Sub::Name ...loaded. (0.05 >= 0.04) - Try::Tiny ...loaded. (0.11 >= 0.04) - namespace::clean ...loaded. (0.24 >= 0.20) - strictures ...loaded. (1.004004 >= 1.003001) *** Module::AutoInstall configuration finished. Checking if your kit is complete... Looks good Warning: prerequisite Class::Accessor::Grouped 0.10007 not found. Warning: prerequisite Class::C3::Componentised 1.0009 not found. Warning: prerequisite Class::Inspector 1.24 not found. Warning: prerequisite Context::Preserve 0.01 not found. Warning: prerequisite DBD::SQLite 1.29 not found. Warning: prerequisite Data::Page 2.00 not found. Warning: prerequisite Hash::Merge 0.12 not found. Warning: prerequisite Module::Find 0.06 not found. Warning: prerequisite SQL::Abstract 1.73 not found. Writing Makefile for DBIx::Class Writing MYMETA.yml and MYMETA.json
---- Unsatisfied dependencies detected during ---- ---- GETTY/DBIx-Class-0.08204.tar.gz ---- Module::Find [requires] Data::Page [requires] Class::C3::Componentised [requires] Context::Preserve [requires] Class::Accessor::Grouped [requires] SQL::Abstract [requires] Class::Inspector [requires] DBD::SQLite [requires] Hash::Merge [requires] Running make test Delayed until after prerequisites Running make install Delayed until after prerequisites Running install for module 'Module::Find' Running make for C/CR/CRENZ/Module-Find-0.11.tar.gz CPAN: LWP::UserAgent loaded ok (v6.04) Fetching with LWP: http://cpan.singletasker.co.uk/authors/id/C/CR/CRENZ/Module-Find- 0.11.tar.gz Fetching with LWP: http://cpan.singletasker.co.uk/authors/id/C/CR/CRENZ/CHECKSUMS Checksum for /cygdrive/c/Dropbox/.cpan/sources/authors/id/C/CR/CRENZ/Module-Find- 0.11.tar.gz ok CPAN.pm: Going to build C/CR/CRENZ/Module-Find-0.11.tar.gz Checking if your kit is complete... Looks good Writing Makefile for Module::Find Writing MYMETA.yml and MYMETA.json cp Find.pm blib/lib/Module/Find.pm Manifying blib/man3/Module.Find.3pm CRENZ/Module-Find-0.11.tar.gz /usr/bin/make -- OK Running make test PERL_DL_NONLAZY=1 /usr/bin/perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/1-use.t ................ ok t/2-find.t ............... ok t/3-usesub.t ............. ok t/4-useall.t ............. ok t/5-setmoduledirs.t ...... ok t/6-duplicate-modules.t .. ok t/pod-coverage.t ......... ok t/pod.t .................. ok All tests successful. Files=8, Tests=27, 13 wallclock secs ( 0.19 usr 0.45 sys + 3.29 cusr 6.32 csys = 10.25 CPU) Result: PASS CRENZ/Module-Find-0.11.tar.gz /usr/bin/make test -- OK [...] etc, it continues after that, installing several dependencies, until an unrelated error (connection failure - that one is rare). Once more, i run the same command, which initially works, and stops after approximately 70 minutes, with the same error again, with another module (one of the sub-dependencies of Pinto) : $ cpan Pinto [...] 70 minutes without a problem, and then : Running install for module 'SQL::Translator' Running make for F/FR/FREW/SQL-Translator-0.11016.tar.gz Fetching with LWP: http://cpan.singletasker.co.uk/authors/id/F/FR/FREW/SQL-Translator- 0.11016.tar.gz Checksum for /cygdrive/c/Dropbox/.cpan/sources/authors/id/F/FR/FREW/SQL- Translator-0.11016.tar.gz ok Couldn't move /cygdrive/c/Dropbox/.cpan/build/tmp-3656/SQL-Translator- 0.11016/lib to /cygdrive/c/Dropbox/.cpan/build/SQL-Translator-0.11016-e44n3c/lib: Is a directory at /usr/lib/perl5/5.14/CPAN/Distribution.pm line 524. CPAN::Distribution::run_preps_on_packagedir('CPAN::Distribution=HASH(0x2 631c6a8)') called at /usr/lib/perl5/5.14/CPAN/Distribution.pm line 351 CPAN::Distribution::get('CPAN::Distribution=HASH(0x2631c6a8)') called at /usr/lib/perl5/5.14/CPAN/Distribution.pm line 1748 CPAN::Distribution::make('CPAN::Distribution=HASH(0x2631c6a8)') called at /usr/lib/perl5/5.14/CPAN/Distribution.pm line 3061 CPAN::Distribution::test('CPAN::Distribution=HASH(0x2631c6a8)') called at /usr/lib/perl5/5.14/CPAN/Distribution.pm line 3463 CPAN::Distribution::install('CPAN::Distribution=HASH(0x2631c6a8)') called at /usr/lib/perl5/5.14/CPAN/Module.pm line 479 eval {...} called at /usr/lib/perl5/5.14/CPAN/Module.pm line 478 CPAN::Module::rematein('CPAN::Module=HASH(0x24a2abc0)', 'install') called at /usr/lib/perl5/5.14/CPAN/Module.pm line 578 CPAN::Module::install('CPAN::Module=HASH(0x24a2abc0)') called at /usr/lib/perl5/5.14/CPAN/Shell.pm line 1796 CPAN::Shell::rematein('CPAN::Shell', 'install', 'Pinto') called at /usr/lib/perl5/5.14/CPAN/Shell.pm line 1976 CPAN::Shell::__ANON__('CPAN::Shell', 'Pinto') called at /usr/lib/perl5/5.14/App/Cpan.pm line 459 App::Cpan::__ANON__('Pinto') called at /usr/lib/perl5/5.14/App/Cpan.pm line 468 App::Cpan::_default('ARRAY(0x2006c430)', 'HASH(0x20948c68)') called at /usr/lib/perl5/5.14/App/Cpan.pm line 386 App::Cpan::run('App::Cpan', 'Pinto') called at /usr/bin/cpan line 11 ... And i run the same command again, which initially works and install the SQL-Translator module, this time, and then stops on the next module, after only 2 minutes. Etc etc, i won't go on longer, it was just to show you what happens - and how extremely annoying and handicapping it is : $ cpan Pinto CPAN: Storable loaded ok (v2.27) Going to read '/cygdrive/c/Dropbox/.cpan/Metadata' Database was generated on Sun, 16 Dec 2012 14:07:04 GMT Running install for module 'Pinto' Running make for T/TH/THALJEF/Pinto-0.065.tar.gz CPAN: Digest::SHA loaded ok (v5.71) CPAN: Compress::Zlib loaded ok (v2.033) Checksum for /cygdrive/c/Dropbox/.cpan/sources/authors/id/T/TH/THALJEF/Pinto- 0.065.tar.gz ok CPAN: File::Temp loaded ok (v0.22) CPAN: Parse::CPAN::Meta loaded ok (v1.4401) CPAN: CPAN::Meta loaded ok (v2.112150) CPAN: Module::CoreList loaded ok (v2.49_02) CPAN: Time::HiRes loaded ok (v1.972101) CPAN.pm: Going to build T/TH/THALJEF/Pinto-0.065.tar.gz Checking prerequisites... requires: ! Dist::Metadata is not installed ! File::NFSLock is not installed ! MooseX::Aliases is not installed ! MooseX::Configuration is not installed ! Package::Locator is not installed ! SQL::Translator is not installed ! String::Format is not installed build_requires: ! Test::File is not installed ERRORS/WARNINGS FOUND IN PREREQUISITES. You may wish to install the versions of the modules indicated above before proceeding with this installation Created MYMETA.yml and MYMETA.json Creating new 'Build' script for 'Pinto' version '0.065'
---- Unsatisfied dependencies detected during ---- ---- THALJEF/Pinto-0.065.tar.gz ---- SQL::Translator [requires] MooseX::Configuration [requires] Dist::Metadata [requires] Test::File [build_requires] MooseX::Aliases [requires] String::Format [requires] File::NFSLock [requires] Package::Locator [requires] Running Build test Delayed until after prerequisites Running Build install Delayed until after prerequisites Running install for module 'SQL::Translator' Running make for F/FR/FREW/SQL-Translator-0.11016.tar.gz Checksum for /cygdrive/c/Dropbox/.cpan/sources/authors/id/F/FR/FREW/SQL- Translator-0.11016.tar.gz ok CPAN.pm: Going to build F/FR/FREW/SQL-Translator-0.11016.tar.gz *** Module::AutoInstall version 1.06 *** Checking for Perl dependencies... *** Since we're running under CPAN, I'll just let it take care of the dependency's installation later. [Core Features] - Test::More ...loaded. (0.98 >= 0.88) - Test::Exception ...loaded. (0.31 >= 0.31) - Test::Differences ...loaded. (0.61) - YAML ...loaded. (0.84 >= 0.66) - XML::Writer ...missing. (would need 0.500) - ExtUtils::MakeMaker ...loaded. (6.62 >= 6.11) - Try::Tiny ...loaded. (0.11 >= 0.04) - Package::Variant ...missing. (would need 1.001001) - Moo ...loaded. (1.000007 >= 1.000003) - Sub::Quote ...loaded. (undef) - Parse::RecDescent ...missing. (would need 1.967009) - File::ShareDir ...missing. (would need 1.0) - Digest::SHA ...loaded. (5.71) - Carp::Clan ...loaded. (6.04) - List::MoreUtils ...loaded. (0.33 >= 0.09) - DBI ...loaded. (1.622) *** Module::AutoInstall configuration finished. Checking if your kit is complete... Looks good Warning: prerequisite File::ShareDir 1.0 not found. Warning: prerequisite Package::Variant 1.001001 not found. Warning: prerequisite Parse::RecDescent 1.967009 not found. Warning: prerequisite XML::Writer 0.500 not found. Writing Makefile for SQL::Translator Writing MYMETA.yml and MYMETA.json
---- Unsatisfied dependencies detected during ---- ---- FREW/SQL-Translator-0.11016.tar.gz ---- Package::Variant [requires] Parse::RecDescent [requires] XML::Writer [requires] File::ShareDir [requires] Running make test Delayed until after prerequisites Running make install Delayed until after prerequisites Running install for module 'Package::Variant' Running make for P/PH/PHAYLON/Package-Variant-1.001002.tar.gz CPAN: LWP::UserAgent loaded ok (v6.04) Fetching with LWP: http://cpan.singletasker.co.uk/authors/id/P/PH/PHAYLON/Package-Variant- 1.001002.tar.gz Checksum for /cygdrive/c/Dropbox/.cpan/sources/authors/id/P/PH/PHAYLON/Package- Variant-1.001002.tar.gz ok CPAN.pm: Going to build P/PH/PHAYLON/Package-Variant-1.001002.tar.gz Checking if your kit is complete... Looks good Warning: prerequisite Import::Into 1 not found. Writing Makefile for Package-Variant Writing MYMETA.yml and MYMETA.json
---- Unsatisfied dependencies detected during ---- ---- PHAYLON/Package-Variant-1.001002.tar.gz ---- Import::Into [requires] Running make test Delayed until after prerequisites Running make install Delayed until after prerequisites Running install for module 'Import::Into' Running make for M/MS/MSTROUT/Import-Into-1.001000.tar.gz Fetching with LWP: http://cpan.singletasker.co.uk/authors/id/M/MS/MSTROUT/Import-Into- 1.001000.tar.gz Checksum for /cygdrive/c/Dropbox/.cpan/sources/authors/id/M/MS/MSTROUT/Import-Into- 1.001000.tar.gz ok CPAN.pm: Going to build M/MS/MSTROUT/Import-Into-1.001000.tar.gz Checking if your kit is complete... Looks good Writing Makefile for Import-Into Writing MYMETA.yml and MYMETA.json cp lib/Import/Into.pm blib/lib/Import/Into.pm Manifying blib/man3/Import.Into.3pm MSTROUT/Import-Into-1.001000.tar.gz /usr/bin/make -- OK Running make test PERL_DL_NONLAZY=1 /usr/bin/perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/import_into.t .. ok All tests successful. Files=1, Tests=3, 2 wallclock secs ( 0.13 usr 0.50 sys + 0.37 cusr 0.67 csys = 1.67 CPU) Result: PASS MSTROUT/Import-Into-1.001000.tar.gz /usr/bin/make test -- OK Running make install Installing /usr/lib/perl5/site_perl/5.14/Import/Into.pm Installing /usr/share/man/man3/Import.Into.3pm Appending installation info to /usr/lib/perl5/5.14/i686-cygwin-threads-64int/perllocal.pod MSTROUT/Import-Into-1.001000.tar.gz /usr/bin/make install -- OK Running make for P/PH/PHAYLON/Package-Variant-1.001002.tar.gz Has already been unwrapped into directory /cygdrive/c/Dropbox/.cpan/build/Package-Variant-1.001002-6XJegr CPAN.pm: Going to build P/PH/PHAYLON/Package-Variant-1.001002.tar.gz cp lib/Package/Variant.pm blib/lib/Package/Variant.pm Manifying blib/man3/Package.Variant.3pm PHAYLON/Package-Variant-1.001002.tar.gz /usr/bin/make -- OK Running make test PERL_DL_NONLAZY=1 /usr/bin/perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/01simple.t .......... ok t/10argument-types.t .. ok t/11dynamic-build.t ... ok t/20moo-param-role.t .. ok All tests successful. Files=4, Tests=29, 6 wallclock secs ( 0.12 usr 0.53 sys + 1.46 cusr 2.87 csys = 4.99 CPU) Result: PASS PHAYLON/Package-Variant-1.001002.tar.gz /usr/bin/make test -- OK Running make install Installing /usr/lib/perl5/site_perl/5.14/Package/Variant.pm Installing /usr/share/man/man3/Package.Variant.3pm Appending installation info to /usr/lib/perl5/5.14/i686-cygwin-threads-64int/perllocal.pod PHAYLON/Package-Variant-1.001002.tar.gz /usr/bin/make install -- OK Running install for module 'Parse::RecDescent' Running make for J/JT/JTBRAUN/Parse-RecDescent-1.967009.tar.gz Fetching with LWP: http://cpan.singletasker.co.uk/authors/id/J/JT/JTBRAUN/Parse-RecDescent- 1.967009.tar.gz Fetching with LWP: http://cpan.singletasker.co.uk/authors/id/J/JT/JTBRAUN/CHECKSUMS Checksum for /cygdrive/c/Dropbox/.cpan/sources/authors/id/J/JT/JTBRAUN/Parse- RecDescent-1.967009.tar.gz ok Couldn't move /cygdrive/c/Dropbox/.cpan/build/tmp-4800/Parse-RecDescent- 1.967009/demo to /cygdrive/c/Dropbox/.cpan/build/Parse-RecDescent-1.967009- FA8TRg/demo: Is a directory at /usr/lib/perl5/5.14/CPAN/Distribution.pm line 524. CPAN::Distribution::run_preps_on_packagedir('CPAN::Distribution=HASH(0x2 6125660)') called at /usr/lib/perl5/5.14/CPAN/Distribution.pm line 351 CPAN::Distribution::get('CPAN::Distribution=HASH(0x26125660)') called at /usr/lib/perl5/5.14/CPAN/Distribution.pm line 1748 CPAN::Distribution::make('CPAN::Distribution=HASH(0x26125660)') called at /usr/lib/perl5/5.14/CPAN/Distribution.pm line 3061 CPAN::Distribution::test('CPAN::Distribution=HASH(0x26125660)') called at /usr/lib/perl5/5.14/CPAN/Distribution.pm line 3463 CPAN::Distribution::install('CPAN::Distribution=HASH(0x26125660)') called at /usr/lib/perl5/5.14/CPAN/Module.pm line 479 eval {...} called at /usr/lib/perl5/5.14/CPAN/Module.pm line 478 CPAN::Module::rematein('CPAN::Module=HASH(0x2547afa8)', 'install') called at /usr/lib/perl5/5.14/CPAN/Module.pm line 578 CPAN::Module::install('CPAN::Module=HASH(0x2547afa8)') called at /usr/lib/perl5/5.14/CPAN/Shell.pm line 1796 CPAN::Shell::rematein('CPAN::Shell', 'install', 'Pinto') called at /usr/lib/perl5/5.14/CPAN/Shell.pm line 1976 CPAN::Shell::__ANON__('CPAN::Shell', 'Pinto') called at /usr/lib/perl5/5.14/App/Cpan.pm line 459 App::Cpan::__ANON__('Pinto') called at /usr/lib/perl5/5.14/App/Cpan.pm line 468 App::Cpan::_default('ARRAY(0x2006c430)', 'HASH(0x20948c68)') called at /usr/lib/perl5/5.14/App/Cpan.pm line 386 App::Cpan::run('App::Cpan', 'Pinto') called at /usr/bin/cpan line 11
Sorry to hear that. Unfortunately I have no cygwin around. From your description this looks much more like a cygwin bug than a CPAN.pm bug. If the problem persists for you, you should probably dive a bit into the code and make it more robust against this case. I'm interested in your findings and will gladly apply simple special cases for cygwin when you can do the ground work but I'm reluctant to just invent some heuristics that I cannot test myself.
Subject: Re: [rt.cpan.org #82295] Strange and very annoying bug/problem with Cygwin
Date: Fri, 28 Dec 2012 18:40:28 +0000
To: bug-CPAN@rt.cpan.org
From: pierre masci <piemas25@gmail.com>
Thank you for your motivating answer, i'll see how it goes, if it continues i might try and understand. I'm considering going back to Linux-Land too. On the other hand, having to tweak into the modules to be able to install them has been quite teachful ;-) On 28 December 2012 16:23, Andreas Koenig via RT <bug-CPAN@rt.cpan.org> wrote:
Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=82295 > > > Sorry to hear that. Unfortunately I have no cygwin around. From your > description this looks much more like a cygwin bug than a CPAN.pm bug. > If the problem persists for you, you should probably dive a bit into the > code and make it more robust against this case. I'm interested in your > findings and will gladly apply simple special cases for cygwin when you > can do the ground work but I'm reluctant to just invent some heuristics > that I cannot test myself.
FWIW, this problem still exists on Perl5.25.2. Sorry to say that it makes Perl on Cygwin almost unusuable.
I just set up a cygwin. Sample report: http://www.cpantesters.org/cpan/report/a154f439-6bf6-1014-9ba0-94355c8d98b0 So far could not reproduce. Next version of CPAN.pm (2.16) will try to get more diagnostics when it happens again. If this does not help, we need to consider some retry-after-failing-move option. Thanks for the reminder.
On Wed Aug 17 01:07:37 2016, ANDK wrote:
Show quoted text
> I just set up a cygwin. Sample report: > http://www.cpantesters.org/cpan/report/a154f439-6bf6-1014-9ba0- > 94355c8d98b0 > > So far could not reproduce. > > Next version of CPAN.pm (2.16) will try to get more diagnostics when > it happens again. If this does not help, we need to consider some > retry-after-failing-move option. > > Thanks for the reminder.
Thanks, more diagnostics could indeed help. Here's a sample with 2.14: Running install for module 'Marpa::R2' Checksum for //utilite/mirrors/CPAN/authors/id/J/JK/JKEGL/Marpa-R2-3.000000.tar.gz ok Couldn't move /cygdrive/i/cpan/build/tmp-12332/Marpa-R2-3.000000/t to /cygdrive/i/cpan/build/Marpa-R2-3.000000-0/t: Is a directory
Actually I don't think it's Cygwin related. I can get the same error with Activestate Perl native on Windows.
On Fri Oct 07 22:21:44 2016, NHORNE wrote:
Show quoted text
> Actually I don't think it's Cygwin related. I can get the same error > with Activestate Perl native on Windows.
Here is some output on Activestate, using CPAN 2.14: Running install for module 'IPC::System::Simple' Checksum for \\utilite\mirrors\CPAN\authors\id\P\PJ\PJF\IPC-System-Simple-1.25.tar.gz ok Couldn't move I:\cpan\build\tmp-7008\IPC-System-Simple-1.25\t to I:\cpan\build\IPC-System-Simple-1.25-0\t: No such file or directory
Show quoted text
cpan>
If this helps, I can't reproduce the problem on Windows XP, only on Windows 10. My gut feeling is that something has changed in the permissions scheme that Windows now uses and that causes the breakage.
On Tue Oct 11 15:26:21 2016, NHORNE wrote:
Show quoted text
> If this helps, I can't reproduce the problem on Windows XP, only on > Windows 10. My gut feeling is that something has changed in the > permissions scheme that Windows now uses and that causes the breakage.
Indeed it seems to be a permission problem! I was sitting together with Paul Boldra today who has the same problem (on Windows 10 I believe), after updating cygwin. We found out that the correct error message is actually lost, because of how File::Copy::move() works. It attempts to do a rename() first. If this fails, it tries other methods, and we haven't completely found out why the second attempt (with copy() and unlink()) produces a different error message, but: * The error message from rename() is "Permission denied" * If we put a "sleep 1" after the rename, it suddenly works So it has todo with copying many files after each other. For the record: CPAN::VERSION=2.18; File::Copy::VERSION=2.32, perl 5.26 Hope that helps!
Le Mer 06 Fév 2019 11:44:03, TINITA a écrit :
Show quoted text
> On Tue Oct 11 15:26:21 2016, NHORNE wrote:
> > If this helps, I can't reproduce the problem on Windows XP, only on > > Windows 10. My gut feeling is that something has changed in the > > permissions scheme that Windows now uses and that causes the > > breakage.
> > > Indeed it seems to be a permission problem! > I was sitting together with Paul Boldra today who has the same problem > (on Windows 10 I believe), after updating cygwin. > We found out that the correct error message is actually lost, because > of how File::Copy::move() works. > It attempts to do a rename() first. If this fails, it tries other > methods, and we haven't completely found out why the second attempt > (with copy() and unlink()) produces a different error message, but: > > * The error message from rename() is "Permission denied" > * If we put a "sleep 1" after the rename, it suddenly works > > So it has todo with copying many files after each other. > > For the record: CPAN::VERSION=2.18; File::Copy::VERSION=2.32, perl > 5.26 >
I can confirm this on Windows 7 SP1 (64-bit) with Cygwin-x86_64 v3.0.7-1, Perl v5.26.3, File::Copy v2.32, so this is not only a Windows 10 problem. These packages failed CPAN installation: - Crypt::Mode::CBC - Crypt::Mode::ECB - HTML::Tidy - Excel::Writer::XLSX - Spreadsheet::ParseXLSX Other, more lightweight, packages installed correctly before and after these, e.g. Module::Build or XML::XPathEngine. As mentioned by Tina Müller, this dirty hack allows the listed failing packages to install normally (albeit a bit slowly when moving files): --- Copy.pm 2019-09-24 17:00:39.291599500 +0200 +++ Copy-hacked.pm 2019-09-24 17:00:28.903599500 +0200 @@ -278,7 +278,9 @@ 1 while unlink $to; } + sleep(1); return 1 if rename $from, $to; + sleep(1); # Did rename return an error even though it succeeded, because $to # is on a remote NFS file system, and NFS lost the server's ack? Feel free to contact me if you need further tests.
Hi Andreas, I too have run across this bug. However, I have some interesting diagnostic information. Your debug code triggered nicely. First, my environment: Microsoft Windows [Version 6.1.7601] 7 SP1 64bit CYGWIN_NT-6.1 applejack 3.1.0(0.340/5/3) 2019-11-19 13:58 x86_64 Cygwin This is perl 5, version 22, subversion 4 (v5.22.4) built for cygwin-thread-multi I had this happen once before but it stopped and I forgot about it. However today it cropped up again. As hinted at by the sleep(1) hack, I think that this is a resource issue. I keep TaskInfo running at all times to monitor my system and I was getting alerts. The number of file handles was clocking over 100,000. This is clearly a resource leak being poked by Cygwin. System (the kernel) is sitting on about 75,000 right now. I had been doing compile checks on my Perl lib path and I was watching the handle count tick up. Closing all Cygwin processes does not free the handles; I have to reboot. I then wanted to do some CPAN installations and vwa-la. It was rather random and just keeping trying let them eventually succeed. It also happened when trying to install manually. i.e. make, make test, etc. The error message: cpan[3]> force get CPAN Running get for module 'CPAN' WARNING: This key is not certified with a trusted signature! Primary key fingerprint: 2E66 557A B97C 19C7 91AF 8E20 328D A867 450F 89EC Signature for /home/wagnerc/.cpan/sources/authors/id/A/AN/ANDK/CHECKSUMS ok Checksum for /home/wagnerc/.cpan/sources/authors/id/A/AN/ANDK/CPAN-2.27.tar.gz ok Couldn't move /home/wagnerc/.cpan/build/tmp-5290/CPAN-2.27/lib to /home/wagnerc/.cpan/build/CPAN-2.27-7/lib: Is a directory; #82295? CPAN::VERSION=2.27; File::Copy::VERSION=2.30; /home/wagnerc/.cpan/build/tmp-5290/CPAN-2.27/lib exists; /home/wagnerc/.cpan/build/CPAN-2.27-7/lib does not exist; cwd=/home/wagnerc/.cpan/build/tmp-5290; I assume that the permission denied error stems from Windows or Cygwin not being able to allocate a handle. But seemingly only File::Copy is affected since this is the only situation where I've seen this happen. The hard drive is a RAID 1 SSD so device slowness is not the issue. Since I know how to trigger the bug, let me know if you want to try out some new handling code. Merry 3rd Day of Christmas, -Chris


This service runs on Request Tracker, is sponsored by The Perl Foundation, and maintained by Best Practical Solutions.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.