Bug#816280: Binary incompatibility between debugperl and perl

Dominic Hargreaves dom at earth.li
Fri Apr 1 22:05:19 UTC 2016


On Sun, Mar 13, 2016 at 01:24:09PM +0200, Niko Tyni wrote:
> On Mon, Feb 29, 2016 at 12:17:39PM +0000, Dominic Hargreaves wrote:
> > Control: forwarded -1 https://rt.perl.org/Public/Bug/Display.html?id=127212
> > Control: tags -1 + fixed-upstream confirmed
> > 
> > On Mon, Feb 29, 2016 at 12:53:33PM +0100, Nick Wellnhofer wrote:
> > > Package: perl-debug
> > > Version: 5.20.2-2
> > > 
> > > The layout of interpreter variables is different in the debug and normal
> > > version of the perl binary. This means that XS extensions might read from or
> > > write to the wrong area of the interpreter variable struct, causing crashes
> > > and other strange behavior.
> > > 
> > > Here's an example, originally reported by me at
> > > https://rt.cpan.org/Public/Bug/Display.html?id=111211
> > > 
> > >     $ PERL_DESTRUCT_LEVEL=2 debugperl -MList::Util=shuffle -e shuffle
> > >     Segmentation fault
> 
> > This was discovered as part of the investigation into 
> > <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=810326> (which is
> > not quite the same bug) and was fixed upstream. This fix should be in
> > 5.24 which should be in stretch. However, the fix by its nature breaks
> > binary compatibility, so it will unfortunately not be possible to apply
> > it to a stable release.
> 
> The workaround in sid/stretch disabling PERL_TRACK_MEMPOOL for the debug
> build (debian/debugperl-compat-fix.diff) should be applicable to jessie
> too. We should probably push it into a stable update.

Right, I see that the effect is expected to be different on jessie
and applying that patch does fix the problem.

Unfortunately we're too late for the next stable update, but I'll get
it queued up for the one after that.

Dominic.




More information about the Perl-maintainers mailing list