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

Niko Tyni ntyni at debian.org
Sun Jul 8 09:06:01 BST 2018


Control: unblock 902557 with -1

On Mon, Jul 02, 2018 at 09:57:26PM +0300, Niko Tyni wrote:
> On Sat, Jun 30, 2018 at 10:06:34PM +0300, Niko Tyni wrote:
> > 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:

> I see two obvious avenues for fixing this:
> 
> A) move the -DDEBUGGING check in EXTEND to run time, for instance by
>    calling a function that's a no-op in non-DEBUGGING interpreters. This
>    has a runtime cost, but I'm not sure how significant. We need to ask
>    upstream.

Upstream says runtime costs for non-DEBUGGING builds are unacceptable.

> B) disable the check on the DEBUGGING side altogether. There's currently
>    no facility to do this short of patching the code.

So we need to do this. Should be just a matter of #ifdef'ing out the
two places where the 'failed to extend arg stack' panic is triggered.

I don't see a compelling need to patch away all the hwm handling -
it does slow down debugperl a bit but that's not a concern I think.

> If A) is judged adequate upstream, we should do that before the 5.28 >
transition so that we don't have to rebuild all the XS modules afterwards.
> I'm therefore marking this as a transition blocker for now.

Since we're taking B), it doesn't matter if it's done before or after
the transition: the change only affects the debugperl side and not the
XS modules. I'm therefore removing the blocker mark.

Longer term, it looks possible that we can't keep debugperl able to load
non-DEBUGGING XS modules. Such a combination isn't properly supported
or tested upstream. I'm not sure how much of a concern this really is
for our users, and how hard we should try.
-- 
Niko




More information about the Perl-maintainers mailing list