Skip Menu |

This queue is for tickets about the File-Remove CPAN distribution.

Report information
The Basics
Id: 90183
Status: resolved
Priority: 0/
Queue: File-Remove

People
Owner: Nobody in particular
Requestors: ether [...] cpan.org
KENTNL [...] cpan.org
Cc: ribasushi [...] leporine.io
AdminCc:

Bug Information
Severity: (no value)
Broken in: 1.52
Fixed in: (no value)



Subject: Possible bug under parallel testing ( HARNESS_OPTIONS=j<n> )

I've just hit this a few times. Its hard to make happen guaranteedly, because it seems to be random, and race condition dependent.

I know for instance, if you run tests t/03_deep_readonly.t  and  t/04_can_delete.t, you'll only get a failure about 10% of the time.

while true; do prove -bj2  t/03_deep_readonly.t t/04_can_delete.t ; done
 

Attached, are a bunch of failure outputs that doing this results in.

 

Subject: failure_1.txt
===( 9;0 8/12 1/12 )========================================== # Failed test 'Created t/d1 -w' # at t/04_can_delete.t line 33. Failed to create t/d1/d2 at t/04_can_delete.t line 34. # Looks like you planned 12 tests but ran 4. # Looks like you failed 1 test of 4 run. # Looks like your test exited with 2 just after 4. t/04_can_delete.t ..... Dubious, test returned 2 (wstat 512, 0x200) Failed 9/12 subtests t/03_deep_readonly.t .. ok Test Summary Report ------------------- t/04_can_delete.t (Wstat: 512 Tests: 4 Failed: 1) Failed test: 4 Non-zero exit status: 2 Parse errors: Bad plan. You planned 12 tests but ran 4. Files=2, Tests=16, 1 wallclock secs ( 0.03 usr 0.01 sys + 0.08 cusr 0.02 csys = 0.14 CPU) Result: FAIL
Subject: failure_2.txt
===( 3;0 2/12 1/12 )==========================================Failed to create t/d1/d2 at t/03_deep_readonly.t line 34. # Looks like you planned 12 tests but ran 4. # Looks like your test exited with 2 just after 4. t/03_deep_readonly.t .. Dubious, test returned 2 (wstat 512, 0x200) Failed 8/12 subtests t/04_can_delete.t ..... ok Test Summary Report ------------------- t/03_deep_readonly.t (Wstat: 512 Tests: 4 Failed: 0) Non-zero exit status: 2 Parse errors: Bad plan. You planned 12 tests but ran 4.
Subject: failure_3.txt
===( 4;0 3/12 1/12 )========================================== # Failed test 'Created t/d1/d2 -r' # at t/03_deep_readonly.t line 36. # Failed test 'Created t/d1/d2 -w' # at t/03_deep_readonly.t line 37. t/04_can_delete.t ..... ok t/03_deep_readonly.t .. 10/12 # Failed test 'remove('t/d1') ok' # at t/03_deep_readonly.t line 89. # Looks like you failed 3 tests of 12. t/03_deep_readonly.t .. Dubious, test returned 3 (wstat 768, 0x300) Failed 3/12 subtests Test Summary Report ------------------- t/03_deep_readonly.t (Wstat: 768 Tests: 12 Failed: 3) Failed tests: 6-7, 11 Non-zero exit status: 3
Subject: failure_4.txt
===( 10;0 9/12 1/12 )========================================== # Failed test 'Created t/d1/d2/f3.txt ok' # at t/04_can_delete.t line 41. # Failed test 'Created t/d1/d2/f3.txt -r' # at t/04_can_delete.t line 42. # Looks like you failed 2 tests of 12. t/04_can_delete.t ..... Dubious, test returned 2 (wstat 512, 0x200) Failed 2/12 subtests t/03_deep_readonly.t .. ok Test Summary Report ------------------- t/04_can_delete.t (Wstat: 512 Tests: 12 Failed: 2) Failed tests: 8-9 Non-zero exit status: 2
Subject: test failures on 5.19.7
Note that PPI uses this dist... ==> Found dependencies: File::Remove Searching File::Remove on cpanmetadb ... --> Working on File::Remove Fetching http://www.cpan.org/authors/id/A/AD/ADAMK/File-Remove-1.52.tar.gz -> OK Unpacking File-Remove-1.52.tar.gz Entering File-Remove-1.52 Checking configure dependencies from META.yml Checking if you have ExtUtils::MakeMaker 6.36 ... Yes (6.84) Configuring File-Remove-1.52 Running Makefile.PL Checking if your kit is complete... Looks good Generating a Unix-style Makefile Writing Makefile for File::Remove Writing MYMETA.yml and MYMETA.json -> OK Checking dependencies from MYMETA.json ... Checking if you have File::Spec 3.29 ... Yes (3.45) Checking if you have ExtUtils::MakeMaker 6.36 ... Yes (6.84) Checking if you have Cwd 3.29 ... Yes (3.45) Checking if you have Test::More 0.42 ... Yes (1.001002) Building and testing File-Remove-1.52 cp lib/File/Remove.pm blib/lib/File/Remove.pm Manifying blib/man3/File::Remove.0 PERL_DL_NONLAZY=1 /Users/ether/perl5/perlbrew/perls/19.7/bin/perl5.19.7 "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'inc', 'blib/lib', 'blib/arch')" t/*.t t/01_compile.t ........ ok t/04_can_delete.t ..... ok t/05_links.t .......... ok # Failed test 'remove('t/d1') ok' # at t/03_deep_readonly.t line 89. # Looks like you failed 1 test of 12. t/03_deep_readonly.t .. Dubious, test returned 1 (wstat 256, 0x100) Failed 1/12 subtests t/06_curly.t .......... ok t/07_cwd.t ............ ok t/08_spaces.t ......... ok t/02_directories.t .... ok t/09_fork.t ........... ok Test Summary Report ------------------- t/03_deep_readonly.t (Wstat: 256 Tests: 12 Failed: 1) Failed test: 11 Non-zero exit status: 1 Files=9, Tests=218, 3 wallclock secs ( 0.07 usr 0.02 sys + 0.54 cusr 0.15 csys = 0.78 CPU) Result: FAIL Failed 1/9 test programs. 1/218 subtests failed. make: *** [test_dynamic] Error 255 -> FAIL Installing File::Remove failed. See /Users/ether/.cpanm/work/1387584058.36210/build.log for details. Retry with --force to force install it.
Note that I use HARNESS_OPTIONS=j9 in my environment, so it's quite possible this is a concurrency issue. Are you reusing the same tempdir in multiple tests? tsk tsk!
On 2013-12-20 19:15:55, ETHER wrote: Show quoted text
> Note that I use HARNESS_OPTIONS=j9 in my environment, so it's quite > possible this is a concurrency issue. Are you reusing the same tempdir > in multiple tests? tsk tsk!
19:16 <@rjbs> his 02_dir test uses $0 in tmp dir names to avoid collision 19:16 <@rjbs> deep readonly does not 19:16 <@rjbs> and 04_can_delete uses the same dir for testing 19:17 <@rjbs> easy fix -- rjbs
This remains a problem on 5.20.0.
On Sat Nov 09 09:44:40 2013, KENTNL wrote: Show quoted text
> I've just hit this a few times. Its hard to make happen guaranteedly, > because > it seems to be random, and race condition dependent. > > I know for instance, if you run tests t/03_deep_readonly.t and > t/04_can_delete.t, you'll only get a failure about 10% of the time. > > while true; do prove -bj2 t/03_deep_readonly.t t/04_can_delete.t ; > done > > Attached, are a bunch of failure outputs that doing this results in.
Thanks for the report and the analysis, everyone! This should be fixed in File-Remove-1.53. I'm going to resolve this ticket. If it still happens with the latest version, please let me know and I'll reopen it.
On 2016-01-10 09:38:38, SHLOMIF wrote: Show quoted text
> Thanks for the report and the analysis, everyone! This should be fixed > in File-Remove-1.53. I'm going to resolve this ticket. If it still > happens with the latest version, please let me know and I'll reopen > it.
Woohoo, many thanks!
On Sun Jan 10 13:04:35 2016, ETHER wrote: Show quoted text
> On 2016-01-10 09:38:38, SHLOMIF wrote: >
> > Thanks for the report and the analysis, everyone! This should be fixed > > in File-Remove-1.53. I'm going to resolve this ticket. If it still > > happens with the latest version, please let me know and I'll reopen > > it.
> > Woohoo, many thanks!
You're welcome! ☺ Thanks again for the report and insights.