Skip Menu |

This queue is for tickets about the Devel-CompileLevel CPAN distribution.

Report information
The Basics
Id: 132080
Status: open
Priority: 0/
Queue: Devel-CompileLevel

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

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



Subject: Test suite fails with perl 5.30.2 RC1
Bisect points at: commit b7b8b099a2106c45a577e9cd7b9f1653736cf89a Author: David Mitchell <davem@iabyn.com> Date: Fri Dec 13 13:48:25 2019 +0000 avoid identical stack traces GH #15109 The output of caller() (e.g. as produced by carp::Confess) produces multiple identical outputs when within a nested use/require. This is because at the time of calling the 'BEGIN { require ... }', PL_curcop is set to &PL_compiling, which is a fixed buffer within the interpreter, whose individual file and line fields are saved and restored when doing a new require/eval. This means that within the innermost require, PL_compiling has file:lineno of the innermost source file, and multiple saved PL_curcop values in the context stack frames all point to the same &PL_copmpiling. So all levels of the stack trace appear to come from the innermost file. This commit fixes this (after a fashion) by, at the start of calling a BEGIN, making PL_curcop point to a temporary copy of PL_compiling instead. This is all a bit of a hack. (cherry picked from commit f2f32cd638746f538da6db804dab6dd54e654f30)
RT-Send-CC: shay [...] cpan.org, DAPM [...] cpan.org
CC'ing Steve and Dave
On Sat Mar 07 12:13:48 2020, ANDK wrote: Show quoted text
> CC'ing Steve and Dave
Thanks for the heads-up, Andreas. I believe this requires a change to Devel-CompileLevel to account for the backporting of the commit that you have bisected to. That commit went into 5.31.7. Devel-CompileLevel was changed in v0.001003 to behave differently for perls > 5.31.6: It no longer goes into the "if (_WARNING_BITS_CHECK)" branch of compile_level() in that case. I think that version check will need changing to account for this perl commit having been backported to 5.30.2 now.