develooper Front page | perl.perl5.porters | Postings from November 2014

TONYC TPF Grant 4 report #8

From:
Tony Cook
Date:
November 25, 2014 10:36
Subject:
TONYC TPF Grant 4 report #8
Message ID:
20141125103552.GK19835@mars.tony.develop-help.com
[Hours]         [Activity]
2014/11/17      Monday
 0.43           reply bulk88's ParseXS mail
 0.48           #123188 review ticket, research
 0.97           #108276 testing of various reproducers
 3.55           #108276 produce a S_finalize_op() patch, comment
=====
 5.43

2014/11/18      Tuesday
 2.03           #108276 review comment, try PERL_OP_PARENT, comment, track
                down PERL_OP_PARENT assertion failure
 2.83           #108276 debug and produce fix for PERL_OP_PARENT issues
=====
 4.86

2014/11/19      Wednesday
 2.98           #108276 apply to blead, try non-stack traversal again,
                debugging, hair tearing
 0.37           #108276 track down re/pat.t crash (can't handle reduced
                stack), post traversal patch
 1.67           #119439 updates to podcheck.t, Pod-Checker
=====
 5.02

2014/11/20      Thursday
 1.30           #108276 consider a more general iteration mechanism and
                comment
 0.73           #123211 review and testing
 0.22           #123211 review test results and comment
 2.18           track down fork test crash on 64-bit Win32, bisect.pl for
                win32
=====
 4.43

Which I calculate is 19.74 hours.

Approximately 4 tickets were reviewed, and 1 patches were
applied.

I spent a lot of time on [perl #108276] this week, which was
originally reported by Danial Dragan in 2012 as a deep recursion bug
in Perl_scalarvoid().

Others followed up with attempted reproducers which revealed different
deep recursion bugs, including a suggested fix, with the last activity
in July 2014.

I spent this week cleaning up the suggsted fix and extending it to two
of the other reported recursion issues.

In June this year, Dave Mitchell added -DPERL_OP_PARENT as a build
option for perl, adding a mechanism for finding the parent of a given
op.  Dave suggested after I posted my patches that once that's the
default, most of our recursive tree-walking would become trivially
fixable.

I made a first attempt to fix this, but unfortunately found some more
recent changes had broken -DPERL_OP_PARENT builds, which I tracked
down and fixed.

I then produced a patch to use the new PERL_OP_PARENT links for the
simplest of the recursion cases, finalize_op().



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About