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

[perl #123223] Bleadperl v5.21.5-396-ga635561 breaks Test::LeakTrace

Thread Next
From:
Father Chrysostomos
Date:
November 17, 2014 00:49
Subject:
[perl #123223] Bleadperl v5.21.5-396-ga635561 breaks Test::LeakTrace
Message ID:
rt-4.0.18-28156-1416185376-183.123223-75-0@perl.org
# New Ticket Created by  Father Chrysostomos 
# Please include the string:  [perl #123223]
# in the subject line of all future correspondence about this issue. 
# <URL: https://rt.perl.org/Ticket/Display.html?id=123223 >


SVs_OBJECT now has a meaning on pad names, other than its meaning elsewhere.

Test::LeakTrace allows a leaked scalar (even a pad name) to be passed to user code.  And that allows pad names to reach all sorts of code paths that would not reach under usual circumstances.

I don’t want to break Test::LeakTrace, since it is an extremely useful module that I have even used to track down core bugs.

I could change the definition of SvOBJECT, and have it check the pad name flags, too.  But that would make all uses of SvOBJECT slightly slower.  I wouldn’t mind doing that, though, if there were no other obvious solution.

For me, the obvious fix is to separate pad names from SVs.  I have talked about this several times in the past, but never actually gotten to it.  I think it needs to be done anyway, because the conflation makes both pad names and SVs more complex than they need to be.

I have outlined how the pad names could be done in <http://www.nntp.perl.org/group/perl.perl5.porters/;msgid=20141030152505.13408.qmail@lists-nntp.develooper.com>.
-- 

Father Chrysostomos


Thread Next


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