October 2011 Archives

I am pleased to announce that Dave Mitchell's request to have his Fixing Perl5 Core Bugs grant extended has been successful.

This extension would not have been possible without the generous contributions that have been made to the Perl 5 Core Maintenance Fund. I would like to thank everyone who has supported this fund and in particular Booking.com, cPanel, Dijkmat, Liquid Web, Net-A-Porter, the Oslo Perl Mongers, perl-services.de, and the Vienna Perl Mongers.

Nicholas Clark writes:

As per my grant conditions, here is a report for the September period.

Highlights are:

POSIX::Termios and POSIX::SigSet no longer crash with ithreads
The XS code has been refactored to reduce the size of the shared object by about 12%, with no change in functionality. More POSIX functions now have tests.

Should now pass tests with older version of Test::More
Should now build all the way back to 5.004. [That was easy]
Stripped the XS of code that duplicates ppport.h
Shrunk the shared object slightly

xsubpp now generates 4 fewer lines of C code per XS function.

relocatable @INC:
I've spend a chunk of the time working on relocatable @INC, prompted by Johann 'Myrkraverk' Oskarsson's patch for Solaris. As ever, it revealed other things that need looking at. Probing for is now in blead. This generated two BBC reports, one of which was "interesting" to diagnose. Blead now converts $^X to an absolute path on FreeBSD (using sysctl() instead of /proc), OS X (using _NSGetExecutablePath()) and Solaris 10 and 11 (using an adaptation of his patch for /proc)

As these need more probes in Configure, I discovered that keeping Porting/chkcfgvar.pl happy is more work that it could be, so set about automating as much of that as possible. It can now generate default entries in all the config.sh style files. It can also now generate TAP output, and is run as part of the regression tests, to ensure that the config.sh-style files don't get out of date.

automating git bisect:
As a side effect of various bits of frustration with git bisect, I've written Porting/bisect.pl, which is intended to make it unbeatably easy to bisect problems.

eg, these just work as is:

# When did this become an error?
.../Porting/bisect.pl -e 'my $a := 2;'
# When did this stop being an error?
.../Porting/bisect.pl --expect-fail -e '1 // 2'
# When did this stop matching?
.../Porting/bisect.pl --match '\b(?:PL_)hash_seed_set\b'
# When did this start matching?
.../Porting/bisect.pl --expect-fail --match '\buseithreads\b'
# When did this test program stop working?
.../Porting/bisect.pl --target=perl -- ./perl -Ilib test_prog.pl
# When did this first become valid syntax?
.../Porting/bisect.pl --target=miniperl --end=v5.10.0 \
--expect-fail -e 'my $a := 2;'
# What was the last revision to build with these options?
.../Porting/bisect.pl --test-build -Dd_dosuid

At the end of September it was working on x86_64 Linux, capable of building any perl between perl-5.004 and blead.

Since then (and technically outside the scope of this report) I've improved it. It can now build miniperl back to perl-5.000, and perl (and extensions) back to perl-5.001n on x86_64 Linux and FreeBSD. (On the systems I have tested. In addition to the
contributors to the CMF who fund this grant, I'd like to thank Les Mongueurs de Perl for continuing to providing me access to a fast multicore FreeBSD machine. I can only test these sort of things on systems I have access to.)

A more detailed breakdown summarised from the weekly reports. In these:

16 hex digits refer to commits in http://perl5.git.perl.org/perl.git
RT #... is a bug in https://rt.perl.org/rt3/
CPAN #... is a bug in https://rt.cpan.org/Public/
BBC is "bleadperl breaks CPAN" - Andreas König's test reports for CPAN modules

0.50:utf8 options
1.00ExtUtils::ParseXS dVAR [98e6112272363eb6]
0.25Glob [924d3af1d7b5591e]
0.25Investigating dVAR
4.00Jesse's plan
ODBM_File, Data::Dumper
POSIX (because Win32 ain't POSIX enough)
POSIX (documenting improvements)
POSIX Solaris (yay!)
POSIX and its subtleties
POSIX, pp_chdir failure
POSIX::Termios, ithreads, PTROBJ
1.00Patches for CPAN modules assuming too much about POSIX.xs
Porting/checkcfgvar.pl (refactor and add it as a test)
1.75RT #98662: enhance HARNESS_TIMER functionality
3.00RT #99850
1.00Test for RT #75722, RT #96008
0.50a proposal for $[
1.25chdir|chmod|chown passed a reference to tied globs.
2.00de-duplicate includes [75006f0f4402bbab]
5.50investigating the BBC reports for stdbool
1.50ithreads, PTROBJ interaction
podchecker and .PL files
podchecker is slow [CPAN #71139]
0.50prune dVAR and dNOOP
31.50reading/responding to list mail
reading/responding to list mail (inc #98662 and //)
reading/responding to list mail [including base.pm]
0.50regen.t (simplify code by using TestInit)
24.25relocatable inc
relocatable inc [and related collateral]
1.00strxfrm() gets absurd [e0601d3cce250689 etc]
t/op/pwent.t [876725cf9533c025]
2.50trying to nail podchecker

144.25 hours in total

Dave Mitchell writes:

As per my grant conditions, here is a report for the September period.

Spent it mainly continuing to work on fixing the design flaws in re_evals (i.e. /(?{...})/ ). I'm currently working on literal code within qr//.

Over the last month I have averaged 6.5 hours per week.

As of 2011/09/30: since the beginning of the grant:

82.4 weeks
892.9 total hours
10.8 average hours per week

There are 7 hours left on the grant.

Report for period 2011/09/01 to 2011/09/30 inclusive


Effort (HH::MM):

3:00 diagnosing bugs
25:41 fixing bugs
0:00 reviewing other people's bug fixes
0:00 reviewing ticket histories
0:00 review the ticket queue (triage)
28:41 Total

Numbers of tickets closed:

1 tickets closed that have been worked on
0 tickets closed related to bugs that have been fixed
0 tickets closed that were reviewed but not worked on (triage)
1 Total

Short Detail

24:01 [perl #34161] METABUG - (?{...}) and (??{...}) regexp issues
4:40 [perl #94682] Wrong warning 'Variable "$_" is not available' in closure

About TPF

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

About this Archive

This page is an archive of entries from October 2011 listed from newest to oldest.

September 2011 is the previous archive.

November 2011 is the next archive.

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