Skip Menu |

This queue is for tickets about the B-Stats CPAN distribution.

Report information
The Basics
Id: 131963
Status: resolved
Priority: 0/
Queue: B-Stats

People
Owner: Nobody in particular
Requestors: SREZIC [...] cpan.org
Cc:
AdminCc:

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



Subject: Test suite fails with perl 5.31.9
See subject. A sample fail report: http://www.cpantesters.org/cpan/report/9ca2b440-5585-11ea-86d8-0a49b6ff4a2d http://fast-matrix.cpantesters.org/?dist=B-Stats+0.09 shows that only 5.31.9 is affected, earlier bleadperl versions pass the test suite.
The problem is at the static end-time hook, when $INC{Opcodes.pm} is empty because it was cleared. Interesting. -- Reini Urban
On Wed Feb 26 03:25:51 2020, RURBAN wrote: Show quoted text
> The problem is at the static end-time hook, when $INC{Opcodes.pm} is > empty because it was cleared. Interesting.
Seems to be a 5.31.9 regression in perl5. At the END hook the previously loaded module Opcodes has an empty %INC entry and it's functions are defined but empty. I added some workarounds, but the dynamic run-time profiler does not work anymore. See the smoke branch on github -- Reini Urban
Fixed in 0.10. Pretty severe blead regression though.
On 2020-02-26 05:13:21, RURBAN wrote: Show quoted text
> Fixed in 0.10. > Pretty severe blead regression though.
Will you, or should I, open an issue in perl5's bugtracker?
Subject: Re: [rt.cpan.org #131963] Test suite fails with perl 5.31.9
Date: Fri, 28 Feb 2020 10:50:45 +0100
To: bug-B-Stats [...] rt.cpan.org
From: Reini Urban <reini.urban [...] gmail.com>
Slaven_Rezic via RT <bug-B-Stats@rt.cpan.org> schrieb am Fr., 28. Feb. 2020, 08:46: Show quoted text
> Queue: B-Stats > Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=131963 > > > On 2020-02-26 05:13:21, RURBAN wrote:
> > Fixed in 0.10. > > Pretty severe blead regression though.
> > Will you, or should I, open an issue in perl5's bugtracker? >
I'm not allowed. And I haven't analysed the root cause yet. Will do when I merge blead changes into cperl. I'll avoid such regressions usually. Show quoted text
>
RT-Send-CC: reini.urban [...] gmail.com
On 2020-02-26 05:13:21, RURBAN wrote: Show quoted text
> Fixed in 0.10. > Pretty severe blead regression though.
I see 0.10 on CPAN, but it does not seem to be indexed. CPAN.pm still thinks 0.09 is the latest: cpan[1]> m B::Stats Reading '/home/e/eserte/.cpan/Metadata' Database was generated on Fri, 01 May 2020 04:29:03 GMT Module id = B::Stats CPAN_USERID RURBAN (Reini Urban <reini.urban@gmail.com>) CPAN_VERSION 0.09 CPAN_FILE R/RU/RURBAN/B-Stats-0.09.tar.gz UPLOAD_DATE 2014-08-08 INST_FILE (not installed)
RT-Send-CC: reini.urban [...] gmail.com
On 2020-02-28 04:51:05, reini.urban@gmail.com wrote: Show quoted text
> Slaven_Rezic via RT <bug-B-Stats@rt.cpan.org> schrieb am Fr., 28. Feb. > 2020, 08:46: >
> > Queue: B-Stats > > Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=131963 > > > > > On 2020-02-26 05:13:21, RURBAN wrote:
> > > Fixed in 0.10. > > > Pretty severe blead regression though.
> > > > Will you, or should I, open an issue in perl5's bugtracker? > >
> > > I'm not allowed.
-> https://github.com/Perl/perl5/issues/17765 Show quoted text
> And I haven't analysed the root cause yet. Will do when I merge blead > changes into cperl. I'll avoid such regressions usually.
On Wed Feb 26 04:28:12 2020, RURBAN wrote: Show quoted text
> On Wed Feb 26 03:25:51 2020, RURBAN wrote:
> > The problem is at the static end-time hook, when $INC{Opcodes.pm} is > > empty because it was cleared. Interesting.
> > Seems to be a 5.31.9 regression in perl5. > At the END hook the previously loaded module Opcodes > has an empty %INC entry and it's functions are defined but empty. > > I added some workarounds, but the dynamic run-time profiler does not > work anymore. > See the smoke branch on github
The code that modifies %INC is here: https://metacpan.org/source/RURBAN/B-Stats-0.09/lib/B/Stats.pm#L310 my $inc = $key eq 'c' ? \%B_inc : \%INC; my $files = scalar keys %$inc; for (values %$inc) { # $_ is an alias to $INC{...} print $LOG $_,"\n" if $opt{F}; open IN, "<", "$_"; # Todo: skip pod? while (<IN>) { chomp; s/#.*//; next if not length $_; $lines++; }; # modify $INC{...} close IN; } changing this to: for my $file (values %$inc) { print $LOG $file,"\n" if $opt{F}; open IN, "<", "$file"; # Todo: skip pod? while (<IN>) { chomp; s/#.*//; next if not length $_; $lines++; }; close IN; } fixes the problem. It only worked before because of the bug that 4b004c43ef26ce17 fixed.
Thanks Tony I'll try that -- Reini Urban