develooper Front page | perl.perl5.porters | Postings from December 2017

TONYC TPF Grant 10 report 3

From:
Tony Cook
Date:
December 15, 2017 03:44
Subject:
TONYC TPF Grant 10 report 3
Message ID:
20171215034428.ooh36kxh6o5se4kn@mars.tony.develop-help.com
[Hours]         [Activity]
2017/12/04      Monday
 0.80           #132252 try to understand change and implications,
                thinking
 1.52           #127743 32-bit build warnings/build issues
 2.05           #127743 finish up 32-bit testing, commits, work on other
                unaddressed Storable issues, 64-bit frozen data
=====
 4.37

2017/12/05      Tuesday
 2.05           #127743 handle 32-bit frozen data as unsigned, add support
                for 64-bit frozen data, testing
 2.18           #127743 more testing, check g(un)zip exist before we use
                them
=====
 4.23

2017/12/06      Wednesday
 2.90           #127743 work through CPAN queue, fail to reproduce #59531,
                reproduce and fix #118551
 1.32           #127743 try to reproduce #131136, track down cause (long
                double padding)
=====
 4.22

2017/12/07      Thursday
 2.07           #127743 work up a fix for the padding issue, testing with
                various configs
 1.63           #127743 systematic look at Storable issues, reduce
                performance issue on debugging builds
=====
 3.70

Which I calculate is 16.52 hours.

2 tickets were worked on this week.

I continued my work on Storable this week.

Firstly I fixed a couple of issues reported to the security list [perl
#131990] and [perl #131999].

These both treated the 32-bit length value read from the stream as
signed, which would convert to very large unsigned values on 64-bit
platforms.

I added support for hook data, as from STORABLE_freeze(), over 4GB.
Unlike the case with object ids when writing hook data, we know the
size of the hook data before writing the SX_HOOK op, so we can add a
prefix SX_LOBJECT for hook data over 4GB.

Since then, I've been working through the Storable bugs on rt.perl.org
and the Storable queue on rt.cpan.org.

[perl #118551] When reading a zero length hook data, Storable wouldn't
properly set up the SV supplied to STORABLE_attach()/STORABLE_thaw(),
resulting in undef, or possibly an buggy SV (this may also fix [cpan
#59531])

[perl #131136] When freezing long doubles, valgrind complains about
use of uninitialized memory in the call to write().  This turned out
to be caused by uninitialized padding for long doubles, which I now
try to clear.

[perl #25933] Most of the Storable entry points would discard
reference exceptions thrown by STORABLE_(freeze|thaw|attach).  These
are now propagated.

I'm tracking the tickets and a few other issues at:

https://docs.google.com/spreadsheets/d/11nI4YPZlv93G_Rk8BPaFWx1GoYEjCeRHghmF4k_mGTA/edit?usp=sharing



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