Skip Menu |

This queue is for tickets about the ExtUtils-ModuleMaker CPAN distribution.

Report information
The Basics
Id: 111637
Status: resolved
Priority: 0/
Queue: ExtUtils-ModuleMaker

People
Owner: jkeenan [...] cpan.org
Requestors: SREZIC [...] cpan.org
Cc: ribasushi [...] leporine.io
AdminCc:

Bug Information
Severity: Critical
Broken in: 0.55
Fixed in: 0.58



Subject: Not safe against parallel runs?
There's a number of test failures visible at http://matrix.cpantesters.org/?dist=ExtUtils-ModuleMaker%200.55 and I suspect that these fails are caused by parallel test runs (e.g. ANDK's smoker is known to test for many perl versions in parallel on the same machine). The list of tests which fail may be seen in the top regression list at http://analysis.cpantesters.org/solved?distv=ExtUtils-ModuleMaker-0.55 I think the problem is that some of the test scripts write to ~/.modulemaker/ExtUtils/ModuleMaker/Personal/Defaults.pm If it is so, maybe you should just fake a unique temporary HOME directory for tests?
On 2016-02-01 15:13:38, SREZIC wrote: Show quoted text
> There's a number of test failures visible at > http://matrix.cpantesters.org/?dist=ExtUtils-ModuleMaker%200.55 and I > suspect that these fails are caused by parallel test runs (e.g. ANDK's > smoker is known to test for many perl versions in parallel on the same > machine). > > The list of tests which fail may be seen in the top regression list at > http://analysis.cpantesters.org/solved?distv=ExtUtils-ModuleMaker-0.55 > > I think the problem is that some of the test scripts write to > ~/.modulemaker/ExtUtils/ModuleMaker/Personal/Defaults.pm > If it is so, maybe you should just fake a unique temporary HOME > directory for tests?
It seems that worse things can happen: I observed that ExtUtils-ModuleMaker together with File-Save-Home tried to delete the whole system. Here excerpts from the log: ... JKEENAN/ExtUtils-ModuleMaker-0.55.tar.gz /usr/bin/make -- OK Running make test PERL_DL_NONLAZY=1 "/bbbike/perl-5.20.1D/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/01_ini.t t/03_q uick.t t/04_compact.t t/05_abstract.t t/06_build.t t/07_proxy.t t/10_standard_text.t t/13_alt_block_new_method.t t/14_mmkr_alt_block_new_method.t t/failsafe/201.t t/failsafe/202.t t/failsafe/ 203.t t/failsafe/204.t t/failsafe/205.t t/failsafe/206.t t/failsafe/207.t t/failsafe/208.t t/failsafe/209.t t/failsafe/210.t t/failsafe/211.t t/license/apache.t t/license/apache_1_1.t t/licen se/artistic.t t/license/artistic_agg.t t/license/bsd.t t/license/gpl.t t/license/gpl_2.t t/license/ibm.t t/license/ibm_1_0.t t/license/intel.t t/license/jabber.t t/license/jabber_1_0.t t/lice nse/lgpl.t t/license/lgpl_2_1.t t/license/libpng.t t/license/looselips.t t/license/mit.t t/license/mitre.t t/license/mozilla.t t/license/mozilla_1_0.t t/license/mozilla_1_1.t t/license/mpl.t t/license/mpl_1_0.t t/license/mpl_1_1.t t/license/nethack.t t/license/nokia.t t/license/nokia_1_0a.t t/license/nokos.t t/license/nokos_1_0a.t t/license/perl.t t/license/python.t t/license/q.t t/license/q_1_0.t t/license/r_bsd.t t/license/ricoh.t t/license/ricoh_1_0.t t/license/sissl.t t/license/sleepycat.t t/license/sun.t t/license/vovida.t t/license/vovida_1_0.t t/license/zlib.t t/makedefaults/1201.t t/makedefaults/1202.t t/makedefaults/1203.t t/miscargs/901.t t/miscargs/902.t t/miscargs/903.t t/miscargs/904.t t/miscargs/905.t t/miscargs/906.t t/miscargs/907.t t/mis cargs/908.t t/miscargs/909.t t/miscargs/910.t t/miscargs/911.t t/miscargs/912.t t/miscargs/913.t t/miscargs/914.t t/miscargs/915.t t/miscargs/916.t t/miscargs/917.t t/miscargs/918.t t/miscarg s/919.t t/miscargs/920.t t/miscargs/921.t t/miscargs/922.t t/miscargs/923.t t/mmkr/801.t t/mmkr/802.t t/mmkr/803.t t/mmkr/804.t t/mmkr/805.t t/mmkr/806.t t/mmkr/807.t t/mmkr/808.t ... t/license/python.t ................ ok t/license/q.t ..................... ok t/license/q_1_0.t ................. ok Unable to rename /home/eserte/.modulemaker/ExtUtils/ModuleMaker/Personal/Defaults.pm: No such file or directory at t/license/r_bsd.t line 14. Use of chdir('') or chdir(undef) as chdir() is deprecated at /tmpfs/.cpan-build/2016020118/ExtUtils-ModuleMaker-0.55-fpYaI4/blib/lib/ExtUtils/ModuleMaker/Auxiliary.pm line 467. Use of uninitialized value $home in concatenation (.) or string at /home/eserte/.cpan/build/2016020118/File-Save-Home-0.09-nfjUmR/blib/lib/File/Save/Home.pm line 276. Use of uninitialized value $subdir_top in concatenation (.) or string at /home/eserte/.cpan/build/2016020118/File-Save-Home-0.09-nfjUmR/blib/lib/File/Save/Home.pm line 276. Couldn't unlink /vmlinuz: Permission denied at /home/eserte/.cpan/build/2016020118/File-Save-Home-0.09-nfjUmR/blib/lib/File/Save/Home.pm line 273. Couldn't unlink /initrd.img: Permission denied at /home/eserte/.cpan/build/2016020118/File-Save-Home-0.09-nfjUmR/blib/lib/File/Save/Home.pm line 273. Couldn't unlink /dev/log: Permission denied at /home/eserte/.cpan/build/2016020118/File-Save-Home-0.09-nfjUmR/blib/lib/File/Save/Home.pm line 273. Couldn't unlink /dev/xconsole: Permission denied at /home/eserte/.cpan/build/2016020118/File-Save-Home-0.09-nfjUmR/blib/lib/File/Save/Home.pm line 273. Couldn't unlink /dev/shm: Permission denied at /home/eserte/.cpan/build/2016020118/File-Save-Home-0.09-nfjUmR/blib/lib/File/Save/Home.pm line 273. Couldn't unlink /dev/root: Permission denied at /home/eserte/.cpan/build/2016020118/File-Save-Home-0.09-nfjUmR/blib/lib/File/Save/Home.pm line 273. Couldn't unlink /dev/MAKEDEV: Permission denied at /home/eserte/.cpan/build/2016020118/File-Save-Home-0.09-nfjUmR/blib/lib/File/Save/Home.pm line 273. ... etc. ...
Here is another case of a test run that triggered the equivalent of 'rm -rf /', but fortunately some lucky circumstances stopped the catastrophy in time and caught the activities in a logfile. I append a few of the illustrative lines of the output. : CPAN::Reporter: make result is 'pass', No errors. : JKEENAN/ExtUtils-ModuleMaker-0.55.tar.gz : /usr/bin/make -- OK : Running make test : PERL_DL_NONLAZY=1 "/tmp/basesmoker-reloperl-QWNp/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/01_ini.t t/03_quick.t t/04_compact.t t/05_abstract.t t/06_build.t t/07_proxy.t t/10_standard_text.t t/13_alt_block_new_method.t t/14_mmkr_alt_block_new_method.t t/failsafe/201.t t/failsafe/202.t t/failsafe/203.t t/failsafe/204.t t/failsafe/205.t t/failsafe/206.t t/failsafe/207.t t/failsafe/208.t t/failsafe/209.t t/failsafe/210.t t/failsafe/211.t t/license/apache.t t/license/apache_1_1.t t/license/artistic.t t/license/artistic_agg.t t/license/bsd.t t/license/gpl.t t/license/gpl_2.t t/license/ibm.t t/license/ibm_1_0.t t/license/intel.t t/license/jabber.t t/license/jabber_1_0.t t/license/lgpl.t t/license/lgpl_2_1.t t/license/libpng.t t/license/looselips.t t/license/mit.t t/license/mitre.t t/license/mozilla.t t/license/mozilla_1_0.t t/license/mozilla_1_1.t t/license/mpl.t t/license/mpl_1_0.t t/license/mpl_1_1.t t/license/nethack.t t/license/nokia.t t/license/nokia_1_0a.t t/license/nokos.t t/license/nokos_1_0a.t t/license/perl.t t/license/python.t t/license/q.t t/license/q_1_0.t t/license/r_bsd.t t/license/ricoh.t t/license/ricoh_1_0.t t/license/sissl.t t/license/sleepycat.t t/license/sun.t t/license/vovida.t t/license/vovida_1_0.t t/license/zlib.t t/makedefaults/1201.t t/makedefaults/1202.t t/makedefaults/1203.t t/miscargs/901.t t/miscargs/902.t t/miscargs/903.t t/miscargs/904.t t/miscargs/905.t t/miscargs/906.t t/miscargs/907.t t/miscargs/908.t t/miscargs/909.t t/miscargs/910.t t/miscargs/911.t t/miscargs/912.t t/miscargs/913.t t/miscargs/914.t t/miscargs/915.t t/miscargs/916.t t/miscargs/917.t t/miscargs/918.t t/miscargs/919.t t/miscargs/920.t t/miscargs/921.t t/miscargs/922.t t/miscargs/923.t t/mmkr/801.t t/mmkr/802.t t/mmkr/803.t t/mmkr/804.t t/mmkr/805.t t/mmkr/806.t t/mmkr/807.t t/mmkr/808.t : t/01_ini.t ........................ ok [...] : t/mmkr/801.t ...................... ok : Unable to create desired directory /home/sand/.modulemaker: File exists at /tmp/loop_over_bdir-13369-fam6wS/ExtUtils-ModuleMaker-0.55-0/blib/lib/ExtUtils/ModuleMaker/Auxiliary.pm line 448. : : # Failed test 'changed back to original directory after testing' : # at /home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.25.9-58-gbb78386f13/89ad/lib/site_perl/5.25.10/Test/Builder.pm line 135. : Use of uninitialized value $home in concatenation (.) or string at /home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.25.9-58-gbb78386f13/89ad/lib/site_perl/5.25.10/File/Save/Home.pm line 276. : Use of uninitialized value $subdir_top in concatenation (.) or string at /home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.25.9-58-gbb78386f13/89ad/lib/site_perl/5.25.10/File/Save/Home.pm line 276. : Couldn't unlink /sbin/iptables-save: Permission denied at /home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.25.9-58-gbb78386f13/89ad/lib/site_perl/5.25.10/File/Save/Home.pm line 273.
On Mon Jan 30 08:44:11 2017, ANDK wrote: Show quoted text
> Here is another case of a test run that triggered the equivalent of > 'rm -rf /', but fortunately some lucky circumstances stopped the > catastrophy in time and caught the activities in a logfile. I append a > few of the illustrative lines of the output. >
This ticket had completely escaped my attention. I will investigate. Thank you very much.
RT-Send-CC: rGeoffrey [...] PlatypiVentures.com
On Mon Feb 01 15:13:38 2016, SREZIC wrote: Show quoted text
> There's a number of test failures visible at > http://matrix.cpantesters.org/?dist=ExtUtils-ModuleMaker%200.55 and I > suspect that these fails are caused by parallel test runs (e.g. ANDK's > smoker is known to test for many perl versions in parallel on the same > machine). > > The list of tests which fail may be seen in the top regression list at > http://analysis.cpantesters.org/solved?distv=ExtUtils-ModuleMaker-0.55 > > I think the problem is that some of the test scripts write to > ~/.modulemaker/ExtUtils/ModuleMaker/Personal/Defaults.pm > If it is so, maybe you should just fake a unique temporary HOME > directory for tests?
Slaven, Andreas: What I'm going to do as a diagnostic is to first release a new version to CPAN which eliminates all the test files that call the scripts/modulemaker utility. ##### $ ack 'script\/modulemaker' t t/mmkr/801.t 33: ok(! system(qq{$^X -I"$cwd/blib/lib" "$cwd/blib/script/modulemaker" -In EU::MM::Testing::Defaults -a "Module abstract (<= 44 characters) goes here" -u "Hilton Stallone" -p RAMBO -o "Parliamentary Pictures" -w http://parliamentarypictures.com -e hiltons\@parliamentarypictures.com }), t/mmkr/802.t 36: ok(! system(qq{$^X -I"$cwd/blib/lib" "$cwd/blib/script/modulemaker" -In My::Research::Module }), t/mmkr/803.t 33: ok(! system(qq{$^X -I"$cwd/blib/lib" "$cwd/blib/script/modulemaker" -Icn XYZ::ABC -a \"This is very abstract.\"}), #" t/mmkr/808.t 35: ok(! system(qq{$^X -I"$cwd/blib/lib" "$cwd/blib/script/modulemaker" -Icqn "$module_name" -v 0.3 }), t/mmkr/804.t 33: ok(! system(qq{$^X -I"$cwd/blib/lib" "$cwd/blib/script/modulemaker" -Icn XYZ::ABC -a \"This is very abstract.\" -u \"John Q Public\"}), #" t/mmkr/807.t 35: ok(! system(qq{$^X -I"$cwd/blib/lib" "$cwd/blib/script/modulemaker" -Icqn "$module_name" }), t/mmkr/806.t 35: ok(! system(qq{$^X -I"$cwd/blib/lib" "$cwd/blib/script/modulemaker" -IcPn "$module_name" }), t/mmkr/805.t 33: ok(! system(qq{$^X -I"$cwd/blib/lib" "$cwd/blib/script/modulemaker" -Icn XYZ::ABC -a \"This is very abstract.\" -u \"John Q Public\" -e jqpublic\@calamity.jane.net}), #" t/makedefaults/1203.t 44: ok(! system(qq{$^X -I"$cwd/blib/lib" "$cwd/blib/script/modulemaker" -Isn EU::MM::Testing::Defaults -a "Module abstract (<= 44 characters) goes here" -u "Hilton Stallone" -p RAMBO -o "Parliamentary Pictures" -w http://parliamentarypictures.com -e hiltons\@parliamentarypictures.com }), t/14_mmkr_alt_block_new_method.t 46: ok(! system(qq{$^X -I"$odir/blib/lib" "$odir/blib/script/modulemaker" -Icn Alpha::$testmod -d ExtUtils::ModuleMaker::Alt_block_new_method }), ##### That appears to be where all reported test failures are concentrated. Taking that step should alleviate the immediate problem and buy me some time to explore further. Thank you very much. Jim Keenan
On Mon Jan 30 08:44:11 2017, ANDK wrote: Show quoted text
> Here is another case of a test run that triggered the equivalent of > 'rm -rf /', but fortunately some lucky circumstances stopped the > catastrophy in time and caught the activities in a logfile. I append a > few of the illustrative lines of the output. > > : CPAN::Reporter: make result is 'pass', No errors. > : JKEENAN/ExtUtils-ModuleMaker-0.55.tar.gz > : /usr/bin/make -- OK > : Running make test > : PERL_DL_NONLAZY=1 "/tmp/basesmoker-reloperl-QWNp/bin/perl" "- > MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef > *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" > t/01_ini.t t/03_quick.t t/04_compact.t t/05_abstract.t t/06_build.t > t/07_proxy.t t/10_standard_text.t t/13_alt_block_new_method.t > t/14_mmkr_alt_block_new_method.t t/failsafe/201.t t/failsafe/202.t > t/failsafe/203.t t/failsafe/204.t t/failsafe/205.t t/failsafe/206.t > t/failsafe/207.t t/failsafe/208.t t/failsafe/209.t t/failsafe/210.t > t/failsafe/211.t t/license/apache.t t/license/apache_1_1.t > t/license/artistic.t t/license/artistic_agg.t t/license/bsd.t > t/license/gpl.t t/license/gpl_2.t t/license/ibm.t t/license/ibm_1_0.t > t/license/intel.t t/license/jabber.t t/license/jabber_1_0.t > t/license/lgpl.t t/license/lgpl_2_1.t t/license/libpng.t > t/license/looselips.t t/license/mit.t t/license/mitre.t > t/license/mozilla.t t/license/mozilla_1_0.t t/license/mozilla_1_1.t > t/license/mpl.t t/license/mpl_1_0.t t/license/mpl_1_1.t > t/license/nethack.t t/license/nokia.t t/license/nokia_1_0a.t > t/license/nokos.t t/license/nokos_1_0a.t t/license/perl.t > t/license/python.t t/license/q.t t/license/q_1_0.t t/license/r_bsd.t > t/license/ricoh.t t/license/ricoh_1_0.t t/license/sissl.t > t/license/sleepycat.t t/license/sun.t t/license/vovida.t > t/license/vovida_1_0.t t/license/zlib.t t/makedefaults/1201.t > t/makedefaults/1202.t t/makedefaults/1203.t t/miscargs/901.t > t/miscargs/902.t t/miscargs/903.t t/miscargs/904.t t/miscargs/905.t > t/miscargs/906.t t/miscargs/907.t t/miscargs/908.t t/miscargs/909.t > t/miscargs/910.t t/miscargs/911.t t/miscargs/912.t t/miscargs/913.t > t/miscargs/914.t t/miscargs/915.t t/miscargs/916.t t/miscargs/917.t > t/miscargs/918.t t/miscargs/919.t t/miscargs/920.t t/miscargs/921.t > t/miscargs/922.t t/miscargs/923.t t/mmkr/801.t t/mmkr/802.t > t/mmkr/803.t t/mmkr/804.t t/mmkr/805.t t/mmkr/806.t t/mmkr/807.t > t/mmkr/808.t > : t/01_ini.t ........................ ok > [...] > : t/mmkr/801.t ...................... ok > : Unable to create desired directory /home/sand/.modulemaker: File > exists at /tmp/loop_over_bdir-13369-fam6wS/ExtUtils-ModuleMaker-0.55- > 0/blib/lib/ExtUtils/ModuleMaker/Auxiliary.pm line 448. > : > : # Failed test 'changed back to original directory after testing' > : # at /home/sand/src/perl/repoperls/installed- > perls/host/k93msid/v5.25.9-58- > gbb78386f13/89ad/lib/site_perl/5.25.10/Test/Builder.pm line 135. > : Use of uninitialized value $home in concatenation (.) or string at > /home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.25.9-58- > gbb78386f13/89ad/lib/site_perl/5.25.10/File/Save/Home.pm line 276. > : Use of uninitialized value $subdir_top in concatenation (.) or > string at /home/sand/src/perl/repoperls/installed- > perls/host/k93msid/v5.25.9-58- > gbb78386f13/89ad/lib/site_perl/5.25.10/File/Save/Home.pm line 276. > : Couldn't unlink /sbin/iptables-save: Permission denied at > /home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.25.9-58- > gbb78386f13/89ad/lib/site_perl/5.25.10/File/Save/Home.pm line 273.
Andreas, Slaven: In both of these reports, an uninitialized value is reported in File::Save::Home. I have just now uploaded v0.10 of File-Save-Home to CPAN, wherein I croak if I can't remove a file or directory. Can you check that out? I should say: I don't understand how this triggered a cascade of problems. Do you run your CPANtesters runs as root? Thank you very much. Jim Keenan
On 2017-02-10 22:03:04, JKEENAN wrote: Show quoted text
> On Mon Jan 30 08:44:11 2017, ANDK wrote:
> > Here is another case of a test run that triggered the equivalent of > > 'rm -rf /', but fortunately some lucky circumstances stopped the > > catastrophy in time and caught the activities in a logfile. I append > > a > > few of the illustrative lines of the output. > > > > : CPAN::Reporter: make result is 'pass', No errors. > > : JKEENAN/ExtUtils-ModuleMaker-0.55.tar.gz > > : /usr/bin/make -- OK > > : Running make test > > : PERL_DL_NONLAZY=1 "/tmp/basesmoker-reloperl-QWNp/bin/perl" "- > > MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef > > *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" > > t/01_ini.t t/03_quick.t t/04_compact.t t/05_abstract.t t/06_build.t > > t/07_proxy.t t/10_standard_text.t t/13_alt_block_new_method.t > > t/14_mmkr_alt_block_new_method.t t/failsafe/201.t t/failsafe/202.t > > t/failsafe/203.t t/failsafe/204.t t/failsafe/205.t t/failsafe/206.t > > t/failsafe/207.t t/failsafe/208.t t/failsafe/209.t t/failsafe/210.t > > t/failsafe/211.t t/license/apache.t t/license/apache_1_1.t > > t/license/artistic.t t/license/artistic_agg.t t/license/bsd.t > > t/license/gpl.t t/license/gpl_2.t t/license/ibm.t t/license/ibm_1_0.t > > t/license/intel.t t/license/jabber.t t/license/jabber_1_0.t > > t/license/lgpl.t t/license/lgpl_2_1.t t/license/libpng.t > > t/license/looselips.t t/license/mit.t t/license/mitre.t > > t/license/mozilla.t t/license/mozilla_1_0.t t/license/mozilla_1_1.t > > t/license/mpl.t t/license/mpl_1_0.t t/license/mpl_1_1.t > > t/license/nethack.t t/license/nokia.t t/license/nokia_1_0a.t > > t/license/nokos.t t/license/nokos_1_0a.t t/license/perl.t > > t/license/python.t t/license/q.t t/license/q_1_0.t t/license/r_bsd.t > > t/license/ricoh.t t/license/ricoh_1_0.t t/license/sissl.t > > t/license/sleepycat.t t/license/sun.t t/license/vovida.t > > t/license/vovida_1_0.t t/license/zlib.t t/makedefaults/1201.t > > t/makedefaults/1202.t t/makedefaults/1203.t t/miscargs/901.t > > t/miscargs/902.t t/miscargs/903.t t/miscargs/904.t t/miscargs/905.t > > t/miscargs/906.t t/miscargs/907.t t/miscargs/908.t t/miscargs/909.t > > t/miscargs/910.t t/miscargs/911.t t/miscargs/912.t t/miscargs/913.t > > t/miscargs/914.t t/miscargs/915.t t/miscargs/916.t t/miscargs/917.t > > t/miscargs/918.t t/miscargs/919.t t/miscargs/920.t t/miscargs/921.t > > t/miscargs/922.t t/miscargs/923.t t/mmkr/801.t t/mmkr/802.t > > t/mmkr/803.t t/mmkr/804.t t/mmkr/805.t t/mmkr/806.t t/mmkr/807.t > > t/mmkr/808.t > > : t/01_ini.t ........................ ok > > [...] > > : t/mmkr/801.t ...................... ok > > : Unable to create desired directory /home/sand/.modulemaker: File > > exists at /tmp/loop_over_bdir-13369-fam6wS/ExtUtils-ModuleMaker-0.55- > > 0/blib/lib/ExtUtils/ModuleMaker/Auxiliary.pm line 448. > > : > > : # Failed test 'changed back to original directory after testing' > > : # at /home/sand/src/perl/repoperls/installed- > > perls/host/k93msid/v5.25.9-58- > > gbb78386f13/89ad/lib/site_perl/5.25.10/Test/Builder.pm line 135. > > : Use of uninitialized value $home in concatenation (.) or string at > > /home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.25.9- > > 58- > > gbb78386f13/89ad/lib/site_perl/5.25.10/File/Save/Home.pm line 276. > > : Use of uninitialized value $subdir_top in concatenation (.) or > > string at /home/sand/src/perl/repoperls/installed- > > perls/host/k93msid/v5.25.9-58- > > gbb78386f13/89ad/lib/site_perl/5.25.10/File/Save/Home.pm line 276. > > : Couldn't unlink /sbin/iptables-save: Permission denied at > > /home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.25.9- > > 58- > > gbb78386f13/89ad/lib/site_perl/5.25.10/File/Save/Home.pm line 273.
> > Andreas, Slaven: In both of these reports, an uninitialized value is > reported in File::Save::Home. I have just now uploaded v0.10 of File- > Save-Home to CPAN, wherein I croak if I can't remove a file or > directory. Can you check that out?
Unfortunately the problem still exists. I could reproduce it on a Ubuntu 16.04 system with two processes acting on the ExtUtils-ModuleMaker-0.56 testsuite at the same time. Here' an excerpt of the log: ... PERL_DL_NONLAZY=1 "/opt/perl-5.22.2/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/01_ini.t t/03_quick.t t/04_compact.t t/05_abstract.t t/06_build.t t/07_proxy.t t/10_standard_t ext.t t/13_alt_block_new_method.t t/failsafe/201.t t/failsafe/202.t t/failsafe/203.t t/failsafe/204.t t/failsafe/205.t t/failsafe/206.t t/failsafe/207.t t/failsafe/208.t t/failsafe/209.t t/failsafe/210.t t/failsafe/211.t t/license/apache.t t/license/apache_1_1.t t/l icense/artistic.t t/license/artistic_agg.t t/license/bsd.t t/license/gpl.t t/license/gpl_2.t t/license/ibm.t t/license/ibm_1_0.t t/license/intel.t t/license/jabber.t t/license/jabber_1_0.t t/license/lgpl.t t/license/lgpl_2_1.t t/license/libpng.t t/license/looselips. t t/license/mit.t t/license/mitre.t t/license/mozilla.t t/license/mozilla_1_0.t t/license/mozilla_1_1.t t/license/mpl.t t/license/mpl_1_0.t t/license/mpl_1_1.t t/license/nethack.t t/license/nokia.t t/license/nokia_1_0a.t t/license/nokos.t t/license/nokos_1_0a.t t/li cense/perl.t t/license/python.t t/license/q.t t/license/q_1_0.t t/license/r_bsd.t t/license/ricoh.t t/license/ricoh_1_0.t t/license/sissl.t t/license/sleepycat.t t/license/sun.t t/license/vovida.t t/license/vovida_1_0.t t/license/zlib.t t/makedefaults/1201.t t/maked efaults/1202.t t/miscargs/901.t t/miscargs/902.t t/miscargs/903.t t/miscargs/904.t t/miscargs/905.t t/miscargs/906.t t/miscargs/907.t t/miscargs/908.t t/miscargs/909.t t/miscargs/910.t t/miscargs/911.t t/miscargs/912.t t/miscargs/913.t t/miscargs/914.t t/miscargs/91 5.t t/miscargs/916.t t/miscargs/917.t t/miscargs/918.t t/miscargs/919.t t/miscargs/920.t t/miscargs/921.t t/miscargs/922.t t/miscargs/923.t ... t/license/lgpl_2_1.t ......... ok Unable to create desired directory /home/cpansand/.modulemaker: File exists at /home/cpansand/.cpan/build/2017021306/ExtUtils-ModuleMaker-0.56-0/blib/lib/ExtUtils/ModuleMaker/Auxiliary.pm line 448. Use of uninitialized value in -f at /home/cpansand/.cpan/build/2017021306/ExtUtils-ModuleMaker-0.56-0/blib/lib/ExtUtils/ModuleMaker/Auxiliary.pm line 270. Use of uninitialized value in chdir at /home/cpansand/.cpan/build/2017021306/ExtUtils-ModuleMaker-0.56-0/blib/lib/ExtUtils/ModuleMaker/Auxiliary.pm line 468. Use of chdir('') or chdir(undef) as chdir() is deprecated at /home/cpansand/.cpan/build/2017021306/ExtUtils-ModuleMaker-0.56-0/blib/lib/ExtUtils/ModuleMaker/Auxiliary.pm line 468. Use of uninitialized value $home in concatenation (.) or string at /home/cpansand/.cpan/build/2017021306/File-Save-Home-0.09-1/blib/lib/File/Save/Home.pm line 276. Use of uninitialized value $subdir_top in concatenation (.) or string at /home/cpansand/.cpan/build/2017021306/File-Save-Home-0.09-1/blib/lib/File/Save/Home.pm line 276. Couldn't unlink /vmlinuz.old: Permission denied at /home/cpansand/.cpan/build/2017021306/File-Save-Home-0.09-1/blib/lib/File/Save/Home.pm line 273. Couldn't unlink /installimage.conf: Permission denied at /home/cpansand/.cpan/build/2017021306/File-Save-Home-0.09-1/blib/lib/File/Save/Home.pm line 273. Couldn't unlink /installimage.debug: Permission denied at /home/cpansand/.cpan/build/2017021306/File-Save-Home-0.09-1/blib/lib/File/Save/Home.pm line 273. Couldn't unlink /vmlinuz: Permission denied at /home/cpansand/.cpan/build/2017021306/File-Save-Home-0.09-1/blib/lib/File/Save/Home.pm line 273. Couldn't unlink /initrd.img: Permission denied at /home/cpansand/.cpan/build/2017021306/File-Save-Home-0.09-1/blib/lib/File/Save/Home.pm line 273. ... (etc) ... Show quoted text
> > I should say: I don't understand how this triggered a cascade of > problems. > > Do you run your CPANtesters runs as root?
No. Regards, Slaven
On 2017-02-13 02:33:14, SREZIC wrote: Show quoted text
> On 2017-02-10 22:03:04, JKEENAN wrote:
> > On Mon Jan 30 08:44:11 2017, ANDK wrote:
> > > Here is another case of a test run that triggered the equivalent of > > > 'rm -rf /', but fortunately some lucky circumstances stopped the > > > catastrophy in time and caught the activities in a logfile. I > > > append > > > a > > > few of the illustrative lines of the output. > > > > > > : CPAN::Reporter: make result is 'pass', No errors. > > > : JKEENAN/ExtUtils-ModuleMaker-0.55.tar.gz > > > : /usr/bin/make -- OK > > > : Running make test > > > : PERL_DL_NONLAZY=1 "/tmp/basesmoker-reloperl-QWNp/bin/perl" "- > > > MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef > > > *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" > > > t/01_ini.t t/03_quick.t t/04_compact.t t/05_abstract.t t/06_build.t > > > t/07_proxy.t t/10_standard_text.t t/13_alt_block_new_method.t > > > t/14_mmkr_alt_block_new_method.t t/failsafe/201.t t/failsafe/202.t > > > t/failsafe/203.t t/failsafe/204.t t/failsafe/205.t t/failsafe/206.t > > > t/failsafe/207.t t/failsafe/208.t t/failsafe/209.t t/failsafe/210.t > > > t/failsafe/211.t t/license/apache.t t/license/apache_1_1.t > > > t/license/artistic.t t/license/artistic_agg.t t/license/bsd.t > > > t/license/gpl.t t/license/gpl_2.t t/license/ibm.t > > > t/license/ibm_1_0.t > > > t/license/intel.t t/license/jabber.t t/license/jabber_1_0.t > > > t/license/lgpl.t t/license/lgpl_2_1.t t/license/libpng.t > > > t/license/looselips.t t/license/mit.t t/license/mitre.t > > > t/license/mozilla.t t/license/mozilla_1_0.t t/license/mozilla_1_1.t > > > t/license/mpl.t t/license/mpl_1_0.t t/license/mpl_1_1.t > > > t/license/nethack.t t/license/nokia.t t/license/nokia_1_0a.t > > > t/license/nokos.t t/license/nokos_1_0a.t t/license/perl.t > > > t/license/python.t t/license/q.t t/license/q_1_0.t > > > t/license/r_bsd.t > > > t/license/ricoh.t t/license/ricoh_1_0.t t/license/sissl.t > > > t/license/sleepycat.t t/license/sun.t t/license/vovida.t > > > t/license/vovida_1_0.t t/license/zlib.t t/makedefaults/1201.t > > > t/makedefaults/1202.t t/makedefaults/1203.t t/miscargs/901.t > > > t/miscargs/902.t t/miscargs/903.t t/miscargs/904.t t/miscargs/905.t > > > t/miscargs/906.t t/miscargs/907.t t/miscargs/908.t t/miscargs/909.t > > > t/miscargs/910.t t/miscargs/911.t t/miscargs/912.t t/miscargs/913.t > > > t/miscargs/914.t t/miscargs/915.t t/miscargs/916.t t/miscargs/917.t > > > t/miscargs/918.t t/miscargs/919.t t/miscargs/920.t t/miscargs/921.t > > > t/miscargs/922.t t/miscargs/923.t t/mmkr/801.t t/mmkr/802.t > > > t/mmkr/803.t t/mmkr/804.t t/mmkr/805.t t/mmkr/806.t t/mmkr/807.t > > > t/mmkr/808.t > > > : t/01_ini.t ........................ ok > > > [...] > > > : t/mmkr/801.t ...................... ok > > > : Unable to create desired directory /home/sand/.modulemaker: File > > > exists at /tmp/loop_over_bdir-13369-fam6wS/ExtUtils-ModuleMaker- > > > 0.55- > > > 0/blib/lib/ExtUtils/ModuleMaker/Auxiliary.pm line 448. > > > : > > > : # Failed test 'changed back to original directory after > > > testing' > > > : # at /home/sand/src/perl/repoperls/installed- > > > perls/host/k93msid/v5.25.9-58- > > > gbb78386f13/89ad/lib/site_perl/5.25.10/Test/Builder.pm line 135. > > > : Use of uninitialized value $home in concatenation (.) or string > > > at > > > /home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.25.9- > > > 58- > > > gbb78386f13/89ad/lib/site_perl/5.25.10/File/Save/Home.pm line 276. > > > : Use of uninitialized value $subdir_top in concatenation (.) or > > > string at /home/sand/src/perl/repoperls/installed- > > > perls/host/k93msid/v5.25.9-58- > > > gbb78386f13/89ad/lib/site_perl/5.25.10/File/Save/Home.pm line 276. > > > : Couldn't unlink /sbin/iptables-save: Permission denied at > > > /home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.25.9- > > > 58- > > > gbb78386f13/89ad/lib/site_perl/5.25.10/File/Save/Home.pm line 273.
> > > > Andreas, Slaven: In both of these reports, an uninitialized value is > > reported in File::Save::Home. I have just now uploaded v0.10 of > > File- > > Save-Home to CPAN, wherein I croak if I can't remove a file or > > directory. Can you check that out?
> > Unfortunately the problem still exists. I could reproduce it on a > Ubuntu 16.04 system with two processes acting on the ExtUtils- > ModuleMaker-0.56 testsuite at the same time. Here' an excerpt of the > log: > > ... > PERL_DL_NONLAZY=1 "/opt/perl-5.22.2/bin/perl" "- > MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef > *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" > t/01_ini.t t/03_quick.t t/04_compact.t t/05_abstract.t t/06_build.t > t/07_proxy.t t/10_standard_t > ext.t t/13_alt_block_new_method.t t/failsafe/201.t t/failsafe/202.t > t/failsafe/203.t t/failsafe/204.t t/failsafe/205.t t/failsafe/206.t > t/failsafe/207.t t/failsafe/208.t t/failsafe/209.t t/failsafe/210.t > t/failsafe/211.t t/license/apache.t t/license/apache_1_1.t t/l > icense/artistic.t t/license/artistic_agg.t t/license/bsd.t > t/license/gpl.t t/license/gpl_2.t t/license/ibm.t t/license/ibm_1_0.t > t/license/intel.t t/license/jabber.t t/license/jabber_1_0.t > t/license/lgpl.t t/license/lgpl_2_1.t t/license/libpng.t > t/license/looselips. > t t/license/mit.t t/license/mitre.t t/license/mozilla.t > t/license/mozilla_1_0.t t/license/mozilla_1_1.t t/license/mpl.t > t/license/mpl_1_0.t t/license/mpl_1_1.t t/license/nethack.t > t/license/nokia.t t/license/nokia_1_0a.t t/license/nokos.t > t/license/nokos_1_0a.t t/li > cense/perl.t t/license/python.t t/license/q.t t/license/q_1_0.t > t/license/r_bsd.t t/license/ricoh.t t/license/ricoh_1_0.t > t/license/sissl.t t/license/sleepycat.t t/license/sun.t > t/license/vovida.t t/license/vovida_1_0.t t/license/zlib.t > t/makedefaults/1201.t t/maked > efaults/1202.t t/miscargs/901.t t/miscargs/902.t t/miscargs/903.t > t/miscargs/904.t t/miscargs/905.t t/miscargs/906.t t/miscargs/907.t > t/miscargs/908.t t/miscargs/909.t t/miscargs/910.t t/miscargs/911.t > t/miscargs/912.t t/miscargs/913.t t/miscargs/914.t t/miscargs/91 > 5.t t/miscargs/916.t t/miscargs/917.t t/miscargs/918.t > t/miscargs/919.t t/miscargs/920.t t/miscargs/921.t t/miscargs/922.t > t/miscargs/923.t > ... > t/license/lgpl_2_1.t ......... ok > Unable to create desired directory /home/cpansand/.modulemaker: File > exists at /home/cpansand/.cpan/build/2017021306/ExtUtils-ModuleMaker- > 0.56-0/blib/lib/ExtUtils/ModuleMaker/Auxiliary.pm line 448. > Use of uninitialized value in -f at > /home/cpansand/.cpan/build/2017021306/ExtUtils-ModuleMaker-0.56- > 0/blib/lib/ExtUtils/ModuleMaker/Auxiliary.pm line 270. > Use of uninitialized value in chdir at > /home/cpansand/.cpan/build/2017021306/ExtUtils-ModuleMaker-0.56- > 0/blib/lib/ExtUtils/ModuleMaker/Auxiliary.pm line 468. > Use of chdir('') or chdir(undef) as chdir() is deprecated at > /home/cpansand/.cpan/build/2017021306/ExtUtils-ModuleMaker-0.56- > 0/blib/lib/ExtUtils/ModuleMaker/Auxiliary.pm line 468. > Use of uninitialized value $home in concatenation (.) or string at > /home/cpansand/.cpan/build/2017021306/File-Save-Home-0.09- > 1/blib/lib/File/Save/Home.pm line 276. > Use of uninitialized value $subdir_top in concatenation (.) or string > at /home/cpansand/.cpan/build/2017021306/File-Save-Home-0.09- > 1/blib/lib/File/Save/Home.pm line 276. > Couldn't unlink /vmlinuz.old: Permission denied at > /home/cpansand/.cpan/build/2017021306/File-Save-Home-0.09- > 1/blib/lib/File/Save/Home.pm line 273. > Couldn't unlink /installimage.conf: Permission denied at > /home/cpansand/.cpan/build/2017021306/File-Save-Home-0.09- > 1/blib/lib/File/Save/Home.pm line 273. > Couldn't unlink /installimage.debug: Permission denied at > /home/cpansand/.cpan/build/2017021306/File-Save-Home-0.09- > 1/blib/lib/File/Save/Home.pm line 273. > Couldn't unlink /vmlinuz: Permission denied at > /home/cpansand/.cpan/build/2017021306/File-Save-Home-0.09- > 1/blib/lib/File/Save/Home.pm line 273. > Couldn't unlink /initrd.img: Permission denied at > /home/cpansand/.cpan/build/2017021306/File-Save-Home-0.09- > 1/blib/lib/File/Save/Home.pm line 273. > ... (etc) ... >
Sorry, for some reason my smoker did not use the newest version of File-Save-Home. With 0.10 I cannot reproduce the removal of / anymore. It still may fail like this: ... Unable to create desired directory /home/cpansand/.modulemaker: File exists at /home/cpansand/.cpan/build/2017021306/ExtUtils-ModuleMaker-0.56-11/blib/lib/ExtUtils/ModuleMaker/Auxiliary.pm line 448. Use of uninitialized value in -f at /home/cpansand/.cpan/build/2017021306/ExtUtils-ModuleMaker-0.56-11/blib/lib/ExtUtils/ModuleMaker/Auxiliary.pm line 270. Use of uninitialized value in chdir at /home/cpansand/.cpan/build/2017021306/ExtUtils-ModuleMaker-0.56-11/blib/lib/ExtUtils/ModuleMaker/Auxiliary.pm line 468. # Failed test 'changed back to original directory after testing' # at /opt/perl-5.24.1/lib/site_perl/5.24.1/Test/Builder.pm line 135. Use of uninitialized value $home in -d at /home/cpansand/.cpan/build/2017021306/File-Save-Home-0.10-11/blib/lib/File/Save/Home.pm line 261. Use of uninitialized value $home in concatenation (.) or string at /home/cpansand/.cpan/build/2017021306/File-Save-Home-0.10-11/blib/lib/File/Save/Home.pm line 261. Home directory '' apparently lost at /home/cpansand/.cpan/build/2017021306/ExtUtils-ModuleMaker-0.56-11/blib/lib/ExtUtils/ModuleMaker/Auxiliary.pm line 469. END failed--call queue aborted. # Looks like your test exited with 2 just after 7. t/license/sun.t .............. Dubious, test returned 2 (wstat 512, 0x200) Failed 11/17 subtests ...
On Mon Feb 13 02:46:30 2017, SREZIC wrote: Show quoted text
> On 2017-02-13 02:33:14, SREZIC wrote:
> > On 2017-02-10 22:03:04, JKEENAN wrote:
> > > On Mon Jan 30 08:44:11 2017, ANDK wrote:
> > > > Here is another case of a test run that triggered the equivalent > > > > of > > > > 'rm -rf /', but fortunately some lucky circumstances stopped the > > > > catastrophy in time and caught the activities in a logfile. I > > > > append > > > > a > > > > few of the illustrative lines of the output. > > > > > > > > : CPAN::Reporter: make result is 'pass', No errors. > > > > : JKEENAN/ExtUtils-ModuleMaker-0.55.tar.gz > > > > : /usr/bin/make -- OK > > > > : Running make test > > > > : PERL_DL_NONLAZY=1 "/tmp/basesmoker-reloperl-QWNp/bin/perl" "- > > > > MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef > > > > *Test::Harness::Switches; test_harness(0, 'blib/lib', > > > > 'blib/arch')" > > > > t/01_ini.t t/03_quick.t t/04_compact.t t/05_abstract.t > > > > t/06_build.t > > > > t/07_proxy.t t/10_standard_text.t t/13_alt_block_new_method.t > > > > t/14_mmkr_alt_block_new_method.t t/failsafe/201.t > > > > t/failsafe/202.t > > > > t/failsafe/203.t t/failsafe/204.t t/failsafe/205.t > > > > t/failsafe/206.t > > > > t/failsafe/207.t t/failsafe/208.t t/failsafe/209.t > > > > t/failsafe/210.t > > > > t/failsafe/211.t t/license/apache.t t/license/apache_1_1.t > > > > t/license/artistic.t t/license/artistic_agg.t t/license/bsd.t > > > > t/license/gpl.t t/license/gpl_2.t t/license/ibm.t > > > > t/license/ibm_1_0.t > > > > t/license/intel.t t/license/jabber.t t/license/jabber_1_0.t > > > > t/license/lgpl.t t/license/lgpl_2_1.t t/license/libpng.t > > > > t/license/looselips.t t/license/mit.t t/license/mitre.t > > > > t/license/mozilla.t t/license/mozilla_1_0.t > > > > t/license/mozilla_1_1.t > > > > t/license/mpl.t t/license/mpl_1_0.t t/license/mpl_1_1.t > > > > t/license/nethack.t t/license/nokia.t t/license/nokia_1_0a.t > > > > t/license/nokos.t t/license/nokos_1_0a.t t/license/perl.t > > > > t/license/python.t t/license/q.t t/license/q_1_0.t > > > > t/license/r_bsd.t > > > > t/license/ricoh.t t/license/ricoh_1_0.t t/license/sissl.t > > > > t/license/sleepycat.t t/license/sun.t t/license/vovida.t > > > > t/license/vovida_1_0.t t/license/zlib.t t/makedefaults/1201.t > > > > t/makedefaults/1202.t t/makedefaults/1203.t t/miscargs/901.t > > > > t/miscargs/902.t t/miscargs/903.t t/miscargs/904.t > > > > t/miscargs/905.t > > > > t/miscargs/906.t t/miscargs/907.t t/miscargs/908.t > > > > t/miscargs/909.t > > > > t/miscargs/910.t t/miscargs/911.t t/miscargs/912.t > > > > t/miscargs/913.t > > > > t/miscargs/914.t t/miscargs/915.t t/miscargs/916.t > > > > t/miscargs/917.t > > > > t/miscargs/918.t t/miscargs/919.t t/miscargs/920.t > > > > t/miscargs/921.t > > > > t/miscargs/922.t t/miscargs/923.t t/mmkr/801.t t/mmkr/802.t > > > > t/mmkr/803.t t/mmkr/804.t t/mmkr/805.t t/mmkr/806.t t/mmkr/807.t > > > > t/mmkr/808.t > > > > : t/01_ini.t ........................ ok > > > > [...] > > > > : t/mmkr/801.t ...................... ok > > > > : Unable to create desired directory /home/sand/.modulemaker: > > > > File > > > > exists at /tmp/loop_over_bdir-13369-fam6wS/ExtUtils-ModuleMaker- > > > > 0.55- > > > > 0/blib/lib/ExtUtils/ModuleMaker/Auxiliary.pm line 448. > > > > : > > > > : # Failed test 'changed back to original directory after > > > > testing' > > > > : # at /home/sand/src/perl/repoperls/installed- > > > > perls/host/k93msid/v5.25.9-58- > > > > gbb78386f13/89ad/lib/site_perl/5.25.10/Test/Builder.pm line 135. > > > > : Use of uninitialized value $home in concatenation (.) or string > > > > at > > > > /home/sand/src/perl/repoperls/installed- > > > > perls/host/k93msid/v5.25.9- > > > > 58- > > > > gbb78386f13/89ad/lib/site_perl/5.25.10/File/Save/Home.pm line > > > > 276. > > > > : Use of uninitialized value $subdir_top in concatenation (.) or > > > > string at /home/sand/src/perl/repoperls/installed- > > > > perls/host/k93msid/v5.25.9-58- > > > > gbb78386f13/89ad/lib/site_perl/5.25.10/File/Save/Home.pm line > > > > 276. > > > > : Couldn't unlink /sbin/iptables-save: Permission denied at > > > > /home/sand/src/perl/repoperls/installed- > > > > perls/host/k93msid/v5.25.9- > > > > 58- > > > > gbb78386f13/89ad/lib/site_perl/5.25.10/File/Save/Home.pm line > > > > 273.
> > > > > > Andreas, Slaven: In both of these reports, an uninitialized value > > > is > > > reported in File::Save::Home. I have just now uploaded v0.10 of > > > File- > > > Save-Home to CPAN, wherein I croak if I can't remove a file or > > > directory. Can you check that out?
> > > > Unfortunately the problem still exists. I could reproduce it on a > > Ubuntu 16.04 system with two processes acting on the ExtUtils- > > ModuleMaker-0.56 testsuite at the same time. Here' an excerpt of the > > log: > > > > ... > > PERL_DL_NONLAZY=1 "/opt/perl-5.22.2/bin/perl" "- > > MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef > > *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" > > t/01_ini.t t/03_quick.t t/04_compact.t t/05_abstract.t t/06_build.t > > t/07_proxy.t t/10_standard_t > > ext.t t/13_alt_block_new_method.t t/failsafe/201.t t/failsafe/202.t > > t/failsafe/203.t t/failsafe/204.t t/failsafe/205.t t/failsafe/206.t > > t/failsafe/207.t t/failsafe/208.t t/failsafe/209.t t/failsafe/210.t > > t/failsafe/211.t t/license/apache.t t/license/apache_1_1.t t/l > > icense/artistic.t t/license/artistic_agg.t t/license/bsd.t > > t/license/gpl.t t/license/gpl_2.t t/license/ibm.t t/license/ibm_1_0.t > > t/license/intel.t t/license/jabber.t t/license/jabber_1_0.t > > t/license/lgpl.t t/license/lgpl_2_1.t t/license/libpng.t > > t/license/looselips. > > t t/license/mit.t t/license/mitre.t t/license/mozilla.t > > t/license/mozilla_1_0.t t/license/mozilla_1_1.t t/license/mpl.t > > t/license/mpl_1_0.t t/license/mpl_1_1.t t/license/nethack.t > > t/license/nokia.t t/license/nokia_1_0a.t t/license/nokos.t > > t/license/nokos_1_0a.t t/li > > cense/perl.t t/license/python.t t/license/q.t t/license/q_1_0.t > > t/license/r_bsd.t t/license/ricoh.t t/license/ricoh_1_0.t > > t/license/sissl.t t/license/sleepycat.t t/license/sun.t > > t/license/vovida.t t/license/vovida_1_0.t t/license/zlib.t > > t/makedefaults/1201.t t/maked > > efaults/1202.t t/miscargs/901.t t/miscargs/902.t t/miscargs/903.t > > t/miscargs/904.t t/miscargs/905.t t/miscargs/906.t t/miscargs/907.t > > t/miscargs/908.t t/miscargs/909.t t/miscargs/910.t t/miscargs/911.t > > t/miscargs/912.t t/miscargs/913.t t/miscargs/914.t t/miscargs/91 > > 5.t t/miscargs/916.t t/miscargs/917.t t/miscargs/918.t > > t/miscargs/919.t t/miscargs/920.t t/miscargs/921.t t/miscargs/922.t > > t/miscargs/923.t > > ... > > t/license/lgpl_2_1.t ......... ok > > Unable to create desired directory /home/cpansand/.modulemaker: File > > exists at /home/cpansand/.cpan/build/2017021306/ExtUtils-ModuleMaker- > > 0.56-0/blib/lib/ExtUtils/ModuleMaker/Auxiliary.pm line 448. > > Use of uninitialized value in -f at > > /home/cpansand/.cpan/build/2017021306/ExtUtils-ModuleMaker-0.56- > > 0/blib/lib/ExtUtils/ModuleMaker/Auxiliary.pm line 270. > > Use of uninitialized value in chdir at > > /home/cpansand/.cpan/build/2017021306/ExtUtils-ModuleMaker-0.56- > > 0/blib/lib/ExtUtils/ModuleMaker/Auxiliary.pm line 468. > > Use of chdir('') or chdir(undef) as chdir() is deprecated at > > /home/cpansand/.cpan/build/2017021306/ExtUtils-ModuleMaker-0.56- > > 0/blib/lib/ExtUtils/ModuleMaker/Auxiliary.pm line 468. > > Use of uninitialized value $home in concatenation (.) or string at > > /home/cpansand/.cpan/build/2017021306/File-Save-Home-0.09- > > 1/blib/lib/File/Save/Home.pm line 276. > > Use of uninitialized value $subdir_top in concatenation (.) or string > > at /home/cpansand/.cpan/build/2017021306/File-Save-Home-0.09- > > 1/blib/lib/File/Save/Home.pm line 276. > > Couldn't unlink /vmlinuz.old: Permission denied at > > /home/cpansand/.cpan/build/2017021306/File-Save-Home-0.09- > > 1/blib/lib/File/Save/Home.pm line 273. > > Couldn't unlink /installimage.conf: Permission denied at > > /home/cpansand/.cpan/build/2017021306/File-Save-Home-0.09- > > 1/blib/lib/File/Save/Home.pm line 273. > > Couldn't unlink /installimage.debug: Permission denied at > > /home/cpansand/.cpan/build/2017021306/File-Save-Home-0.09- > > 1/blib/lib/File/Save/Home.pm line 273. > > Couldn't unlink /vmlinuz: Permission denied at > > /home/cpansand/.cpan/build/2017021306/File-Save-Home-0.09- > > 1/blib/lib/File/Save/Home.pm line 273. > > Couldn't unlink /initrd.img: Permission denied at > > /home/cpansand/.cpan/build/2017021306/File-Save-Home-0.09- > > 1/blib/lib/File/Save/Home.pm line 273. > > ... (etc) ... > >
> > Sorry, for some reason my smoker did not use the newest version of > File-Save-Home. With 0.10 I cannot reproduce the removal of / anymore. > It still may fail like this: > > ... > Unable to create desired directory /home/cpansand/.modulemaker: File > exists at /home/cpansand/.cpan/build/2017021306/ExtUtils-ModuleMaker- > 0.56-11/blib/lib/ExtUtils/ModuleMaker/Auxiliary.pm line 448. > Use of uninitialized value in -f at > /home/cpansand/.cpan/build/2017021306/ExtUtils-ModuleMaker-0.56- > 11/blib/lib/ExtUtils/ModuleMaker/Auxiliary.pm line 270. > Use of uninitialized value in chdir at > /home/cpansand/.cpan/build/2017021306/ExtUtils-ModuleMaker-0.56- > 11/blib/lib/ExtUtils/ModuleMaker/Auxiliary.pm line 468. > > # Failed test 'changed back to original directory after testing' > # at /opt/perl-5.24.1/lib/site_perl/5.24.1/Test/Builder.pm line 135. > Use of uninitialized value $home in -d at > /home/cpansand/.cpan/build/2017021306/File-Save-Home-0.10- > 11/blib/lib/File/Save/Home.pm line 261. > Use of uninitialized value $home in concatenation (.) or string at > /home/cpansand/.cpan/build/2017021306/File-Save-Home-0.10- > 11/blib/lib/File/Save/Home.pm line 261. > Home directory '' apparently lost at > /home/cpansand/.cpan/build/2017021306/ExtUtils-ModuleMaker-0.56- > 11/blib/lib/ExtUtils/ModuleMaker/Auxiliary.pm line 469. > END failed--call queue aborted. > # Looks like your test exited with 2 just after 7. > t/license/sun.t .............. > Dubious, test returned 2 (wstat 512, 0x200) > Failed 11/17 subtests > ...
Slaven, Andreas: I have not forgotten about this RT ticket. In recent months I have studied, thought a lot about, and, hopefully, learned a lot about race conditions and TOCTTOU errors. I don't yet have a solution for the problems discussed in this ticket, but I would like to ask for your feedback on one documentation improvement. ExtUtils::ModuleMaker makes use of File::Save::Home to test the placement of a personal preferences ("dot-rc") file underneath the user's home directory. Currently, File::Save::Home (http://search.cpan.org/~jkeenan/File-Save-Home-0.10/lib/File/Save/Home.pm#DESCRIPTION) is described as follows: ##### In the course of deploying an application on another user's system, you sometimes need to place a file in or underneath that user's home directory. Can you do so safely? This Perl extension provides several functions which try to determine whether you can, indeed, safely create directories and files underneath a user's home directory. Among other things, if you are placing a file in such a location only temporarily -- say, for testing purposes -- you can temporarily hide any already existing file with the same name and restore it to its original name and timestamps when you are done. ##### I propose to add the patch attached to File-Save-Home's documentation immediately after the DESCRIPTION above. I would then use the content of the patch to guide me in revising the documentation of File-Save-Home's exportable functions. That would in turn shape my further response to the problems described in this RT and elsewhere. So, could you please review the patch attached and let me know if and where my understanding of these problems is incomplete? Thank you very much. Jim Keenan
Subject: 0001-Document-safety-limitations-of-File-Save-Home.patch
From 8c6f7ab71b26947d0e998540ad791577ee7597be Mon Sep 17 00:00:00 2001 From: James E Keenan <jkeenan@cpan.org> Date: Wed, 29 Mar 2017 09:33:12 -0400 Subject: [PATCH] Document safety limitations of File::Save::Home. --- lib/File/Save/Home.pm | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/lib/File/Save/Home.pm b/lib/File/Save/Home.pm index a63570f..3f76c32 100644 --- a/lib/File/Save/Home.pm +++ b/lib/File/Save/Home.pm @@ -99,6 +99,61 @@ only temporarily -- say, for testing purposes -- you can temporarily hide any already existing file with the same name and restore it to its original name and timestamps when you are done. +=head2 Limitations + +The preceding description was written in 2005. Experience has shown that any +claim that one can make about the B<safety> of the creation or deletion of +directories and files underneath a user's home directory must be qualified. +File::Save::Home is satisfactory for the use case for which it was originally +designed, but there are other situations where it falls short. + +The original use case for which File::Save::Home was designed was to support +the placement of B<personal preference files> in a user's home directory. +Such personal preference files are often referred to as B<dot-rc files> +because their names typically start with a C<.> character to render them +hidden from commands like C<ls> and end in C<rc> much like C<.bashrc> or +<.shrc>. A developer using CPAN::Mini, for example, often makes use of +C<.minicpanrc> to store the developer's preferred CPAN mirror. +File::Save::Home was created specifically to support the creation of a +C<.modulemakerrc> file by users of ExtUtils::ModuleMaker and a C<.podmultirc> +file by users of Pod::Multi. (ExtUtils::ModuleMaker and Pod::Multi are +maintained by the author of File::Save::Home.) These libraries are +B<developer's tools>, I<i.e.,> they are intended to assist individual humans +in software development rather than being used "in production." As such, +their use of dot-rc files implicitly assumes: + +=over 4 + +=item * + +Only one user is concerned with the status of the directories and files, +including dot-rc files, underneath the user's home directory. + +=item * + +Only one user has permissions to create, modify or remove directories and +files underneath the user's home directory -- an assumption that is easily +violated by a superuser such as C<root>. + +=item * + +The user is running processes to create, modify or remove directories and +files underneath the user's home directory B<one-at-a-time>, C<i.e.,> the user +is B<not> running such processes B<in parallel>. Running such processes in +parallel would raise the possibility, for example, of process trying to rename +a dot-rc file that a second, parallel process had already deleted. + +=back + +When either the second or third assumption above is violated, we have the +possibility of B<race conditions> +(L<https://en.wikipedia.org/wiki/Race_condition>) and B<time of check to time +of use (TOCTTOU) errors> +(L<https://en.wikipedia.org/wiki/Time_of_check_to_time_of_use>). Such +conditions may lead to either spurious testing failures (I<e.g.,> when +CPANtesteers run tests in parallel on libraries using File::Save::Home) or to +security violations. + =head1 USAGE =head2 C<get_home_directory()> -- 2.7.4

Message body is not shown because it is too large.

Message body is not shown because it is too large.

RT-Send-CC: rGeoffrey [...] PlatypiVentures.com
On Mon Jan 30 10:53:57 2017, JKEENAN wrote: Show quoted text
> On Mon Feb 01 15:13:38 2016, SREZIC wrote:
> > There's a number of test failures visible at > > http://matrix.cpantesters.org/?dist=ExtUtils-ModuleMaker%200.55 and I > > suspect that these fails are caused by parallel test runs (e.g. > > ANDK's > > smoker is known to test for many perl versions in parallel on the > > same > > machine). > >
[snip] Show quoted text
> > Slaven, Andreas: What I'm going to do as a diagnostic is to first > release a new version to CPAN which eliminates all the test files that > call the scripts/modulemaker utility. >
[snip] Show quoted text
> > That appears to be where all reported test failures are concentrated. > > Taking that step should alleviate the immediate problem and buy me > some time to explore further. >
Slaven, Andreas: Much earlier this year (Jan 30 2017), I released to CPAN ExtUtils-ModuleMaker-0.56.tar.gz. In that tarball I removed entirely all tests of the 'scripts/modulemaker' executable file. That was intended as a *partial* to the problem of unsafe parallel runs discussed in this ticket. I've now encountered bugs in the 'modulemaker' utility which I would like to fix. I have to be able to test those fixes. To do so, I would like to restore the deleted tests to the distribution *but under a new 'xt/' directory* rather than under 't/'. In addition, I would like to modify Makefile.PL such that the 'test' target includes the files under 'xt/' *but only when $ENV{PERL_MODULEMAKER_AUTHOR_TESTING} is set to a true value*. As in the patch attached. I presume that a CPANtester such as yourself would never say 'export PERL_MODULEMAKER_AUTHOR_TESTING=1' prior to a test run and that hence (a) the 'xt/' tests would never be run by a CPAN tester; and (b) the problem discussed in this RT would, at least, not grow worse. Is that presumption correct? Thank you very much. Jim Keenan
Subject: test-modulemaker-makefile-pl.diff
diff --git a/Makefile.PL b/Makefile.PL index ac06482..4051766 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -3,6 +3,9 @@ require 5.006; my $mm_ver = ExtUtils::MakeMaker->VERSION; +my $regular_tests_str = join q{ }, map {glob} qw( t/*.t t/*/*.t ); +my $author_tests_str = join q{ }, map {glob} qw( xt/*.t xt/*/*.t ); + WriteMakefile( NAME => 'ExtUtils::ModuleMaker', VERSION_FROM => 'lib/ExtUtils/ModuleMaker.pm', @@ -21,7 +24,11 @@ WriteMakefile( 'Test::More' => 0.44, }, LICENSE => "perl", - test => { TESTS => join q{ }, map {glob} qw( t/*.t t/*/*.t ) }, + test => ( + $ENV{PERL_MODULEMAKER_AUTHOR_TESTING} + ? { TESTS => join q{ } => ( $regular_tests_str, $author_tests_str ) } + : { TESTS => $regular_tests_str } + ), ($mm_ver < 6.46 ? () : (META_MERGE => { 'meta-spec' => { version => 2 }, dynamic_config => 1,
RT-Send-CC: rGeoffrey [...] PlatypiVentures.com
On Mon Feb 13 02:46:30 2017, SREZIC wrote: Show quoted text
> On 2017-02-13 02:33:14, SREZIC wrote:
> > On 2017-02-10 22:03:04, JKEENAN wrote:
> > > On Mon Jan 30 08:44:11 2017, ANDK wrote:
> > > > Here is another case of a test run that triggered the equivalent > > > > of > > > > 'rm -rf /', but fortunately some lucky circumstances stopped the > > > > catastrophy in time and caught the activities in a logfile. I > > > > append > > > > a > > > > few of the illustrative lines of the output. > > > > > > > > : CPAN::Reporter: make result is 'pass', No errors. > > > > : JKEENAN/ExtUtils-ModuleMaker-0.55.tar.gz > > > > : /usr/bin/make -- OK > > > > : Running make test > > > > : PERL_DL_NONLAZY=1 "/tmp/basesmoker-reloperl-QWNp/bin/perl" "- > > > > MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef > > > > *Test::Harness::Switches; test_harness(0, 'blib/lib', > > > > 'blib/arch')" > > > > t/01_ini.t t/03_quick.t t/04_compact.t t/05_abstract.t > > > > t/06_build.t > > > > t/07_proxy.t t/10_standard_text.t t/13_alt_block_new_method.t > > > > t/14_mmkr_alt_block_new_method.t t/failsafe/201.t > > > > t/failsafe/202.t > > > > t/failsafe/203.t t/failsafe/204.t t/failsafe/205.t > > > > t/failsafe/206.t > > > > t/failsafe/207.t t/failsafe/208.t t/failsafe/209.t > > > > t/failsafe/210.t > > > > t/failsafe/211.t t/license/apache.t t/license/apache_1_1.t > > > > t/license/artistic.t t/license/artistic_agg.t t/license/bsd.t > > > > t/license/gpl.t t/license/gpl_2.t t/license/ibm.t > > > > t/license/ibm_1_0.t > > > > t/license/intel.t t/license/jabber.t t/license/jabber_1_0.t > > > > t/license/lgpl.t t/license/lgpl_2_1.t t/license/libpng.t > > > > t/license/looselips.t t/license/mit.t t/license/mitre.t > > > > t/license/mozilla.t t/license/mozilla_1_0.t > > > > t/license/mozilla_1_1.t > > > > t/license/mpl.t t/license/mpl_1_0.t t/license/mpl_1_1.t > > > > t/license/nethack.t t/license/nokia.t t/license/nokia_1_0a.t > > > > t/license/nokos.t t/license/nokos_1_0a.t t/license/perl.t > > > > t/license/python.t t/license/q.t t/license/q_1_0.t > > > > t/license/r_bsd.t > > > > t/license/ricoh.t t/license/ricoh_1_0.t t/license/sissl.t > > > > t/license/sleepycat.t t/license/sun.t t/license/vovida.t > > > > t/license/vovida_1_0.t t/license/zlib.t t/makedefaults/1201.t > > > > t/makedefaults/1202.t t/makedefaults/1203.t t/miscargs/901.t > > > > t/miscargs/902.t t/miscargs/903.t t/miscargs/904.t > > > > t/miscargs/905.t > > > > t/miscargs/906.t t/miscargs/907.t t/miscargs/908.t > > > > t/miscargs/909.t > > > > t/miscargs/910.t t/miscargs/911.t t/miscargs/912.t > > > > t/miscargs/913.t > > > > t/miscargs/914.t t/miscargs/915.t t/miscargs/916.t > > > > t/miscargs/917.t > > > > t/miscargs/918.t t/miscargs/919.t t/miscargs/920.t > > > > t/miscargs/921.t > > > > t/miscargs/922.t t/miscargs/923.t t/mmkr/801.t t/mmkr/802.t > > > > t/mmkr/803.t t/mmkr/804.t t/mmkr/805.t t/mmkr/806.t t/mmkr/807.t > > > > t/mmkr/808.t > > > > : t/01_ini.t ........................ ok > > > > [...] > > > > : t/mmkr/801.t ...................... ok > > > > : Unable to create desired directory /home/sand/.modulemaker: > > > > File > > > > exists at /tmp/loop_over_bdir-13369-fam6wS/ExtUtils-ModuleMaker- > > > > 0.55- > > > > 0/blib/lib/ExtUtils/ModuleMaker/Auxiliary.pm line 448. > > > > : > > > > : # Failed test 'changed back to original directory after > > > > testing' > > > > : # at /home/sand/src/perl/repoperls/installed- > > > > perls/host/k93msid/v5.25.9-58- > > > > gbb78386f13/89ad/lib/site_perl/5.25.10/Test/Builder.pm line 135. > > > > : Use of uninitialized value $home in concatenation (.) or string > > > > at > > > > /home/sand/src/perl/repoperls/installed- > > > > perls/host/k93msid/v5.25.9- > > > > 58- > > > > gbb78386f13/89ad/lib/site_perl/5.25.10/File/Save/Home.pm line > > > > 276. > > > > : Use of uninitialized value $subdir_top in concatenation (.) or > > > > string at /home/sand/src/perl/repoperls/installed- > > > > perls/host/k93msid/v5.25.9-58- > > > > gbb78386f13/89ad/lib/site_perl/5.25.10/File/Save/Home.pm line > > > > 276. > > > > : Couldn't unlink /sbin/iptables-save: Permission denied at > > > > /home/sand/src/perl/repoperls/installed- > > > > perls/host/k93msid/v5.25.9- > > > > 58- > > > > gbb78386f13/89ad/lib/site_perl/5.25.10/File/Save/Home.pm line > > > > 273.
> > > > > > Andreas, Slaven: In both of these reports, an uninitialized value > > > is > > > reported in File::Save::Home. I have just now uploaded v0.10 of > > > File- > > > Save-Home to CPAN, wherein I croak if I can't remove a file or > > > directory. Can you check that out?
> > > > Unfortunately the problem still exists. I could reproduce it on a > > Ubuntu 16.04 system with two processes acting on the ExtUtils- > > ModuleMaker-0.56 testsuite at the same time. Here' an excerpt of the > > log: > > > > ... > > PERL_DL_NONLAZY=1 "/opt/perl-5.22.2/bin/perl" "- > > MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef > > *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" > > t/01_ini.t t/03_quick.t t/04_compact.t t/05_abstract.t t/06_build.t > > t/07_proxy.t t/10_standard_t > > ext.t t/13_alt_block_new_method.t t/failsafe/201.t t/failsafe/202.t > > t/failsafe/203.t t/failsafe/204.t t/failsafe/205.t t/failsafe/206.t > > t/failsafe/207.t t/failsafe/208.t t/failsafe/209.t t/failsafe/210.t > > t/failsafe/211.t t/license/apache.t t/license/apache_1_1.t t/l > > icense/artistic.t t/license/artistic_agg.t t/license/bsd.t > > t/license/gpl.t t/license/gpl_2.t t/license/ibm.t t/license/ibm_1_0.t > > t/license/intel.t t/license/jabber.t t/license/jabber_1_0.t > > t/license/lgpl.t t/license/lgpl_2_1.t t/license/libpng.t > > t/license/looselips. > > t t/license/mit.t t/license/mitre.t t/license/mozilla.t > > t/license/mozilla_1_0.t t/license/mozilla_1_1.t t/license/mpl.t > > t/license/mpl_1_0.t t/license/mpl_1_1.t t/license/nethack.t > > t/license/nokia.t t/license/nokia_1_0a.t t/license/nokos.t > > t/license/nokos_1_0a.t t/li > > cense/perl.t t/license/python.t t/license/q.t t/license/q_1_0.t > > t/license/r_bsd.t t/license/ricoh.t t/license/ricoh_1_0.t > > t/license/sissl.t t/license/sleepycat.t t/license/sun.t > > t/license/vovida.t t/license/vovida_1_0.t t/license/zlib.t > > t/makedefaults/1201.t t/maked > > efaults/1202.t t/miscargs/901.t t/miscargs/902.t t/miscargs/903.t > > t/miscargs/904.t t/miscargs/905.t t/miscargs/906.t t/miscargs/907.t > > t/miscargs/908.t t/miscargs/909.t t/miscargs/910.t t/miscargs/911.t > > t/miscargs/912.t t/miscargs/913.t t/miscargs/914.t t/miscargs/91 > > 5.t t/miscargs/916.t t/miscargs/917.t t/miscargs/918.t > > t/miscargs/919.t t/miscargs/920.t t/miscargs/921.t t/miscargs/922.t > > t/miscargs/923.t > > ... > > t/license/lgpl_2_1.t ......... ok > > Unable to create desired directory /home/cpansand/.modulemaker: File > > exists at /home/cpansand/.cpan/build/2017021306/ExtUtils-ModuleMaker- > > 0.56-0/blib/lib/ExtUtils/ModuleMaker/Auxiliary.pm line 448. > > Use of uninitialized value in -f at > > /home/cpansand/.cpan/build/2017021306/ExtUtils-ModuleMaker-0.56- > > 0/blib/lib/ExtUtils/ModuleMaker/Auxiliary.pm line 270. > > Use of uninitialized value in chdir at > > /home/cpansand/.cpan/build/2017021306/ExtUtils-ModuleMaker-0.56- > > 0/blib/lib/ExtUtils/ModuleMaker/Auxiliary.pm line 468. > > Use of chdir('') or chdir(undef) as chdir() is deprecated at > > /home/cpansand/.cpan/build/2017021306/ExtUtils-ModuleMaker-0.56- > > 0/blib/lib/ExtUtils/ModuleMaker/Auxiliary.pm line 468. > > Use of uninitialized value $home in concatenation (.) or string at > > /home/cpansand/.cpan/build/2017021306/File-Save-Home-0.09- > > 1/blib/lib/File/Save/Home.pm line 276. > > Use of uninitialized value $subdir_top in concatenation (.) or string > > at /home/cpansand/.cpan/build/2017021306/File-Save-Home-0.09- > > 1/blib/lib/File/Save/Home.pm line 276. > > Couldn't unlink /vmlinuz.old: Permission denied at > > /home/cpansand/.cpan/build/2017021306/File-Save-Home-0.09- > > 1/blib/lib/File/Save/Home.pm line 273. > > Couldn't unlink /installimage.conf: Permission denied at > > /home/cpansand/.cpan/build/2017021306/File-Save-Home-0.09- > > 1/blib/lib/File/Save/Home.pm line 273. > > Couldn't unlink /installimage.debug: Permission denied at > > /home/cpansand/.cpan/build/2017021306/File-Save-Home-0.09- > > 1/blib/lib/File/Save/Home.pm line 273. > > Couldn't unlink /vmlinuz: Permission denied at > > /home/cpansand/.cpan/build/2017021306/File-Save-Home-0.09- > > 1/blib/lib/File/Save/Home.pm line 273. > > Couldn't unlink /initrd.img: Permission denied at > > /home/cpansand/.cpan/build/2017021306/File-Save-Home-0.09- > > 1/blib/lib/File/Save/Home.pm line 273. > > ... (etc) ... > >
> > Sorry, for some reason my smoker did not use the newest version of > File-Save-Home. With 0.10 I cannot reproduce the removal of / anymore. > It still may fail like this: > > ... > Unable to create desired directory /home/cpansand/.modulemaker: File > exists at /home/cpansand/.cpan/build/2017021306/ExtUtils-ModuleMaker- > 0.56-11/blib/lib/ExtUtils/ModuleMaker/Auxiliary.pm line 448. > Use of uninitialized value in -f at > /home/cpansand/.cpan/build/2017021306/ExtUtils-ModuleMaker-0.56- > 11/blib/lib/ExtUtils/ModuleMaker/Auxiliary.pm line 270. > Use of uninitialized value in chdir at > /home/cpansand/.cpan/build/2017021306/ExtUtils-ModuleMaker-0.56- > 11/blib/lib/ExtUtils/ModuleMaker/Auxiliary.pm line 468. > > # Failed test 'changed back to original directory after testing' > # at /opt/perl-5.24.1/lib/site_perl/5.24.1/Test/Builder.pm line 135. > Use of uninitialized value $home in -d at > /home/cpansand/.cpan/build/2017021306/File-Save-Home-0.10- > 11/blib/lib/File/Save/Home.pm line 261. > Use of uninitialized value $home in concatenation (.) or string at > /home/cpansand/.cpan/build/2017021306/File-Save-Home-0.10- > 11/blib/lib/File/Save/Home.pm line 261. > Home directory '' apparently lost at > /home/cpansand/.cpan/build/2017021306/ExtUtils-ModuleMaker-0.56- > 11/blib/lib/ExtUtils/ModuleMaker/Auxiliary.pm line 469. > END failed--call queue aborted. > # Looks like your test exited with 2 just after 7. > t/license/sun.t .............. > Dubious, test returned 2 (wstat 512, 0x200) > Failed 11/17 subtests > ...
I released ExtUtils-ModuleMaker version 0.57 to CPAN yesterday. This version should address the concerns raised in this ticket. * It completely eliminates dependences on File-Save-Home in favor of File-HomeDir. * It adapts code from CPAN-Reporter's test suite to mock a user's home directory. All relevant test files use this technique to construct a tempdir which masquerade as a homedir and then other tempdirs for specific unit tests. As a result, to the best of my understanding the EU-MM test suite no longer touches a tester's real home directory. I'm going to keep this ticket open for a while because I am considering restoring some of the tests that I removed from the test suite a couple of years ago and adapting them to this new, better technique. Please let me know of any anomalies you find. Thank you very much. Jim Keenan