Bug#902779: perl-debug: XS code built for perl doesn't work with debugperl

Niko Tyni ntyni at debian.org
Sat Jun 30 20:06:34 BST 2018


Package: perl-debug
Version: 5.28.0-1
Severity: normal
User: debian-perl at lists.debian.org
Usertags: perl-5.28-transition

I noticed that many of our XS module packages are incompatible
with debugperl after being rebuilt for 5.28. Consider:

 # debugperl -MDateTime -e 'print DateTime->today'
 panic: XSUB DateTime::_rd2ymd (DateTime.c) failed to extend arg stack: base=55b63e6b3b48, sp=55b63e6b3b80, hwm=55b63e6b3b68

 # printf '<AAA>\n<DDD/><CCC><DDD>\n</DDD></CCC>\n</AAA>' | debugperl -MXML::LibXML -e 'XML::LibXML->new->parse_fh(*STDIN)->documentElement->childNodes; '
 panic: XSUB XML::LibXML::Node::_childNodes (LibXML.c) failed to extend arg stack: base=561827c61b48, sp=561827c61b68, hwm=561827c61b60

This panic is due to a new -DDEBUGGING check that guards the XS function
argument stack, making sure that XS code extends the stack properly when
it pushes elements there.

However, I believe the check isn't currently working properly when
the XS code is built with a non-DDEBUGGING perl.h and then run with a
-DDEBUGGING perl build.

Will take this upstream once I've investigated it properly.
-- 
Niko Tyni   ntyni at debian.org




More information about the Perl-maintainers mailing list