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

TONYC TPF Grant 10 report 3

Tony Cook
December 15, 2017 03:44
TONYC TPF Grant 10 report 3
Message ID:
[Hours]         [Activity]
2017/12/04      Monday
 0.80           #132252 try to understand change and implications,
 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

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

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)

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

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

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
and the Storable queue on

[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

[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: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About