Skip Menu |

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

Report information
The Basics
Id: 86125
Status: resolved
Worked: 2 hours (120 min)
Priority: 0/
Queue: File-NFSLock

People
Owner: bbb [...] cpan.org
Requestors: KENTNL [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 1.21
Fixed in: 1.22



Subject: Tests go up in flames under HARNESS_OPTIONS=j10

Usually this issue indicates either that 2 tests have an interdependence of some kind, either

a: one test relies on a previous test being run to provide the right scenario for unning under
b: two tests inadvertently do IO of some kind to the same path, and tests see IO that they didn't expect as a result.

#b usually just means you've got tests not using File::Temp

Here, you can see it runs just fine on a standard single threaded test run: https://gist.github.com/kentfredric/5777704

However, here is the catastrophe you get when you run tests in parallel:

https://gist.github.com/kentfredric/5777727

The summary of which is:

t/220_ex_scope.t (Wstat: 512 Tests: 11 Failed: 2)
Failed tests: 7, 11
Non-zero exit status: 2
t/120_single.t (Wstat: 256 Tests: 2 Failed: 1)
Failed test: 2
Non-zero exit status: 1
t/230_double.t (Wstat: 512 Tests: 5 Failed: 2)
Failed tests: 4-5
Non-zero exit status: 2
t/210_nb_ex.t (Wstat: 256 Tests: 8 Failed: 1)
Failed test: 8
Non-zero exit status: 1
t/400_kill.t (Wstat: 256 Tests: 10 Failed: 1)
Failed test: 10
Non-zero exit status: 1
t/300_bl_sh.t (Wstat: 5376 Tests: 73 Failed: 21)
Failed tests: 53-73
Non-zero exit status: 21
t/200_bl_ex.t (Wstat: 256 Tests: 22 Failed: 1)
Failed test: 22
Non-zero exit status: 1
Files=12, Tests=159, 14 wallclock secs ( 0.10 usr 0.04 sys + 0.75 cusr 0.49 csys = 1.38 CPU)

Here's the parallel run again, but without OVER NINE THOUSAND lines of "closed file handle" warnings.

https://gist.github.com/kentfredric/5777752

CC: Rob Brown <bbb [...] cpan.org>
Subject: Re: [rt.cpan.org #86125] Tests go up in flames under HARNESS_OPTIONS=j10
Date: Tue, 18 Jun 2013 16:57:11 -0600
To: bug-File-NFSLock [...] rt.cpan.org
From: Rob Brown <bbb [...] cpan.org>
Oh, I didn't consider that multiple tests could be running simultaneously. Nice catch! On Thu, Jun 13, 2013 at 4:01 PM, Kent Fredric via RT < bug-File-NFSLock@rt.cpan.org> wrote: Show quoted text
> Thu Jun 13 18:01:56 2013: Request 86125 was acted upon. > Transaction: Ticket created by KENTNL > Queue: File-NFSLock > Subject: Tests go up in flames under HARNESS_OPTIONS=j10 > Broken in: 1.21 > Severity: Normal > Owner: Nobody > Requestors: KENTNL@cpan.org > Status: new > Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=86125 > > > > Usually this issue indicates either that 2 tests have an interdependence of > some kind, either > > a: one test relies on a previous test being run to provide the right > scenario > for unning under > b: two tests inadvertently do IO of some kind to the same path, and tests > see > IO that they didn't expect as a result. > > #b usually just means you've got tests not using File::Temp > > Here, you can see it runs just fine on a standard single threaded test run: > https://gist.github.com/kentfredric/5777704 > > However, here is the catastrophe you get when you run tests in parallel: > > https://gist.github.com/kentfredric/5777727 > > The summary of which is: > > t/220_ex_scope.t (Wstat: 512 Tests: 11 Failed: 2) Failed tests: 7, 11 > Non-zero > exit status: 2 t/120_single.t (Wstat: 256 Tests: 2 Failed: 1) Failed test: > 2 > Non-zero exit status: 1 t/230_double.t (Wstat: 512 Tests: 5 Failed: 2) > Failed > tests: 4-5 Non-zero exit status: 2 t/210_nb_ex.t (Wstat: 256 Tests: 8 > Failed: 1) > Failed test: 8 Non-zero exit status: 1 t/400_kill.t (Wstat: 256 Tests: 10 > Failed: 1) Failed test: 10 Non-zero exit status: 1 t/300_bl_sh.t (Wstat: > 5376 > Tests: 73 Failed: 21) Failed tests: 53-73 Non-zero exit status: 21 > t/200_bl_ex.t (Wstat: 256 Tests: 22 Failed: 1) Failed test: 22 Non-zero > exit > status: 1Files=12, Tests=159, 14 wallclock secs ( 0.10 usr 0.04 sys + 0.75 > cusr > 0.49 csys = 1.38 CPU) > > Here's the parallel run again, but without OVER NINE THOUSAND lines of > "closed > file handle" warnings. > > https://gist.github.com/kentfredric/5777752 > >
Thank you for your report. I hope it won't leave too many temp files lying around, but I patched the test suite to use File::Temp instead of hard coding a constant filename for all tests. This should allow the concurrency tests to run without conflicting with each other in this new version 1.22.
The test passes on version 1.22.