http://qs321.pair.com?node_id=1230180


in reply to Re: Intermittent bug in module: File not getting deleted as expected
in thread Intermittent bug in module: File not getting deleted as expected

So, I found the issue, but not the solution. When the test fails, -M $file is a negative value like -1.15740740740741e-05.

I can reproduce on a local machine, yes. It happens maybe 10% of the time, which is weird. I had tried adding a delay already. I just tried increasing the delay to a full 2 seconds and that didn't help.

When the test fails, I do see the file pop up momentarily in the directory. So it definitely exists (and the previous test proves it).

$PM = "Perl Monk's";
$MCF = "Most Clueless Friar Abbot Bishop Pontiff Deacon Curate Priest Vicar";
$nysus = $PM . ' ' . $MCF;
Click here if you love Perl Monks

Replies are listed 'Best First'.
Re^3: Intermittent bug in module: File not getting deleted as expected
by nysus (Parson) on Feb 19, 2019 at 18:36 UTC

    By the way, the time value appears to always be the same: -1.15740740740741e-05

    Interestingly, that appears to be exactly 1 second. But why is it negative?

    $PM = "Perl Monk's";
    $MCF = "Most Clueless Friar Abbot Bishop Pontiff Deacon Curate Priest Vicar";
    $nysus = $PM . ' ' . $MCF;
    Click here if you love Perl Monks

      That, I'm unsure of. From perldoc -f -X:

      -M Script start time minus file modification time, in days.

      Does File::Spec->catfile() modify the file mod time by chance? What happens if you put a two second delay in between that line (in the lib), and the unlink() call? Does that improve things? I know that's definitely not optimal, but it would be worth a shot especially if you can reliably reproduce the issue locally.