Skip Menu |
 

This queue is for tickets about the PadWalker CPAN distribution.

Report information
The Basics
Id: 41710
Status: resolved
Priority: 0/
Queue: PadWalker

People
Owner: Nobody in particular
Requestors: gfuji [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: (no value)
Fixed in: 1.9



Subject: closed_over(\&xsub) causes segfault (or assertion failed)
Download (untitled) / with headers
text/plain 176b
Hello. It seems that "closed_over(\&xsub)" (e.g. closed_over(\&UNIVERSAL::isa)) causes segfault, because XSUBs do not have PADLIST. Regards, -- Goro Fuji (GFUJI at CPAN.org)
Download (untitled) / with headers
text/plain 141b
The attached patch seems to stop the crashing... I don't really know enough about the internals to vouch for the accuracy, but it seems fine.
--- PadWalker.xs.old 2009-02-26 16:31:32.000000000 -0600 +++ PadWalker.xs 2009-02-26 16:25:39.000000000 -0600 @@ -357,6 +357,9 @@ void get_closed_over(CV *cv, HV *hash, HV *indices) { + if (!CvPADLIST(cv)) { + return; + } I32 i; U32 val_depth = CvDEPTH(cv) ? CvDEPTH(cv) : 1; AV *pad_namelist = (AV*) *av_fetch(CvPADLIST(cv), 0, FALSE);
Download (untitled) / with headers
text/plain 231b
Hi Robin, I've been using doy's patch since he wrote it - without trouble. It hasn't segfaulted once. Could you please push a release to CPAN with the fix? My users keep hitting this crash. Thanks for a wonderful module, Shawn
Download (untitled) / with headers
text/plain 197b
I'm sorry I overlooked this for so long. Email to my CPAN address was going into a black hole, and I didn't realise until last week. This patch looks fine; I'll roll it into a release ASAP. Robin
Download (untitled) / with headers
text/plain 310b
Hi: I'm one of the maintainers of the Debian package of this module. I am unable to reproduce this issue on version 1.9, and given what Robin said the day before the 1.9 release: Show quoted text
> This patch looks fine; I'll roll it into a release ASAP.
I think it's fair assuming this issue has been fixed in that version.


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.