Maintaining the Perl 5 Core (Dave Mitchell): Grant Report for June 2017

No Comments

This is a monthly report by Dave Mitchell on his grant under Perl 5 Core Maintenance Fund. We thank the TPF sponsors to make this grant possible.

I spent June mainly:

* finishing off the heavy reworking of perl's internal sprintf implementation.
  This has now been merged into blead. It  contains about 100 commits which
  fixes bugs, audits the code for possible integer overflows, makes the
  code simpler - and simpler to understand - and improves performance by
  around 15%.

* adding a proper test suite for Porting/, and fixing the utility
  up based on the test results. For example at some point the
  --bisect option broke, but this was never noticed due to no testing.

* adding a DEBUGGING-build mechanism to detect some classes of
  bug where pp functions fail to extend the stack before pushing return
  values. Basically the runops loop sets a high water mark variable before
  calling the pp function; EXTEND() and similar update that mark, and on
  return from the pp function, we check whether PL_stack_sp is > the mark
  and panic if so. This has allowed me to detect and fix several such bugs
  in core.

Other than that I worked on a few miscellaneous RT tickets.
     15:41 RT #131260 sprintf implementation
      0:37 RT #131555 heap-buffer-overflow
      1:57 RT #131575 s// on utf8 string occasionally crashes
      0:51 RT #131577 heap-use-after-free (READ of size 1) in S_reghop4()
     21:25 add better tests for Porting/
      4:21 apply accumulated post-5.26 fixes
      4:29 fix 32-bit builds
     14:17 fix stack extend overruns
      4:23 process p5p mailbox
      2:00 sort out 5.27.1 version numbers
      1:04 update perldelta
     71:05 TOTAL (HH::MM)

 199.1 weeks
2800.0 total hours
  14.1 average hours per week

Leave a comment

About TPF

The Perl Foundation - supporting the Perl community since 2000. Find out more at

About this Entry

This page contains a single entry by Makoto Nozaki published on September 6, 2017 12:00 AM.

Maintaining Perl 5 (Tony Cook): Grant Report for July 2017 was the previous entry in this blog.

Call for Grant Proposals (September 2017 Round) is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.


OpenID accepted here Learn more about OpenID
Powered by Movable Type 6.2.2