develooper Front page | perl.perl5.porters | Postings from September 2018

[perl #2754] [BUG] can't exit 0 from CHECK{}

Thread Next
James E Keenan via RT
September 29, 2018 23:38
[perl #2754] [BUG] can't exit 0 from CHECK{}
Message ID:
On Tue, 25 Sep 2018 14:52:40 GMT, jkeenan wrote:
> On Wed, 27 Dec 2017 22:43:00 GMT, jkeenan wrote:
> > Re-opening ticket per discussion.
> We should try to move this ticket and the related
> to
> resolution.  What follows are my understanding of the issues
> and suggestions for resolution.
> 1. The ticket was filed eighteen-and-a-half years ago by Tom
> Christiansen.  Discussion proceeded sporadically over the
> years.
> 2. Zefram reported solving the bug on Dec 10 2017
> (
> and pushed the solution to blead in commit
> 0301e899536a22752f40481d8a1d141b7a7dda82.
> 3. By Dec 12 2017 CPAN breakage had been spotted --
> specifically, in Module::Install -- and Zefram filed RT
> 132577.  He observed that the breakage point was in
> Module::Install::DSL and opened a bug ticket in M-I's
> tracker:
> So that put us in the situation where a legitimate change to
> blead triggered a failure in dodgy -- but heavily used --
> code on CPAN.
> 4. While Module::Install could be fixed and was fixed by
> Karen Etheridge on Dec 19 2017, many CPAN distributions
> which embed an unfixed version of Module::Install::DSL
> remain "unfixed" and would need a new CPAN release to embed
> a "fixed" version of Module::Install::DSL.  Karen provides a
> list of those distributions at
> Most of them are distributions originally written by Adam
> Kennedy.
> 5. Back in RT 132577 (the BBC ticket), discussion ensued
> which led to a decision to revert Zefram's fix for RT 2754
> for the balance of the 5.27 development cycle and to try
> again during the (current) 5.29 cycle.  Zefram wrote:
> "We expect to fix the bug again during the 5.29 cycle. This
> would consist of reverting most of commit
> 857320cbf85e762add18885ae8a197b5e0c21b69: the documentation
> and code changes in perl.c, and the test changes in
> t/op/blocks.t. This issue should block 5.30.0."
> In RT 2754 (this ticket), he wrote:
> "In order to give Module::Install distros more time to roll
> out a fix for [perl #132577], this bug [perl #2754] has been
> reintroduced in commit
> 857320cbf85e762add18885ae8a197b5e0c21b69."
> Pumpking Sawyer X concurred, writing:
> "Following this, we should formulate a plan for dealing with
> these distributions and having them release new versions. We
> have time but our goal is to still have this bug fix in the
> next version [5.30.0 -- JK] and this could only be done if
> we are able to have enough distributions released with the
> fix."
> 6. The complicating factor in giving CPAN distributions
> using Module::Install::DSL "more time to roll out a fix for"
> RT 132577 is that many experienced contributors (e.g., the
> Perl Toolchain Gang) believe that Module::Install is
> fundamentally unmaintainable over the long run; that should
> be deprecated for new usage in CPAN distros; and that any
> advice to authors of those distros should not only advise
> using an upgraded Module::Install::DSL but should also
> advise moving away from Module::Install entirely.
> 7. In an attempt to get some empirical data to inform this
> discussion, I embarked on the following research:
> a. I created a branch, "smoke-me/jkeenan/2754-re-revert",
> from blead at commit 9d6ed46, i.e., shortly after the
> release of perl-5.27.3. In that branch I reverted Zefram's
> reversion commit and nothing more (see b64ae69c).
> Smoke-testing rigs picked that branch up
> (
> with satisfactory results, i.e., the rigs which are getting
> FAILs are not doing so because of this commit and are also
> getting FAILs in blead.
> b. I then wrote a program similar to the "test CPAN river
> against dev releases" program upon which I have been
> reporting to the P5P list since June.  I configured and
> built perl from the 2754-re-revert branch
> on a FreeBSD-11 machine, installed cpanm against that perl
> and then attempted to install a large list of CPAN modules
> against that perl.  That list was composed as follows:
> i. Start with the same "CPAN river 3000" modules I've been
> using in monthly test-against-dev testing.
> ii. Remove those modules which got a non-PASS grade in last
> week's post-5.29.3 run.  Among others, this removed
> Catalyst-Runtime and its revdeps which were experiencing
> non-BBC-related issues.
> iii. Add the CPAN distributions listed as being revdeps of
> Module::Install at
> Install?p=1&size=200&sort=%5B%5B2%2C1%5D%5D.
> iv. Remove the M-I revdeps whose names begin with 'Task' or
> 'Bundle'.
> c. I ran the program yesterday in an environment similar but
> not identical to that which I use for the monthly
> test-against-dev runs.  The difference is that in this
> environment I have not installed as many external packages
> as I have in the test-against-dev VM, so there were more
> non-PASS grades due to unsatisfied prerequisites.
> d. I examined the resulting data for the purpose of
> determining the cause of non-PASS grades when run against
> the "2754-re-revert" perl.  I identified 12 distros which
> were graded 'NA' due to failures in the configuration stage.
> All 12 of those distros were found in the list of distros
> with unfixed embedded Module::Install::DSL provided by Karen
> last December.  When I examined these distros individually
> and ran them with the "stock" perl on this machine -- 5.26.2
> -- each failed with "Can't locate inc/Module/Install/
> in @INC".  When I ran them with the post-5.23.4,
> 2754-re-revert perl, "perl Makefile.PL" created no Makefile
> -- which explains the configuration-stage NA grade.  I could
> not attribute any other non-PASS grades in this run to
> RT-2754 related issues.  (I can make the data and program
> available upon request.)
> 8. I therefore believe that we can predict with reasonable
> certainty what would happen if, in the current dev cycle, we
> re-implemented Zefram's fix for this ticket.  Those CPAN
> distributions which have not upgraded their embedded
> Module::Install::DSL packages would break because the
> distros would no longer be able to generate a Makefile.  But
> beyond that there would be little impact.
> 9. I therefore believe that we should move forward on this.
> To do so we would need to take the following steps:
> a. Re-examine the chain of commits to determine whether the
> 2754-re-revert branch fully gets us to the state intended by
> Zefram for the resolution of the original problem.
> b. Come to consensus among P5P and Toolchain Gang as to what
> to recommend to the maintainers of CPAN distributions with
> non-upgraded versions of Module::Install::DSL concerning
> this breakage and advise them that the distros will not work
> in perl-5.30 unless they take action.
> c. Merge the 2754-re-revert branch -- or an improved version
> thereof -- into blead and monitor results via CPANtesters,
> test-against-dev and any other appropriate means.  That
> should enable resolution of both RT 2754 and RT 132577.
> Thank you very much.

TonyC, DaveM, list: Any feedback on this plan?

Thank you very much.

James E Keenan (

via perlbug:  queue: perl5 status: open

Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About