Debian Bug report logs - #875927
perl: SIGUNUSED removal in glibc 2.26 changes PL_sig_name / SIG_SIZE

version graph

Package: perl; Maintainer for perl is Niko Tyni <ntyni@debian.org>; Source for perl is src:perl (PTS, buildd, popcon).

Reported by: Niko Tyni <ntyni@debian.org>

Date: Sat, 16 Sep 2017 08:21:02 UTC

Severity: normal

Tags: fixed-upstream

Found in version perl/5.26.0-8

Fixed in version perl/5.26.1-3

Done: Niko Tyni <ntyni@debian.org>

Forwarded to https://rt.perl.org/Ticket/Display.html?id=132105

Reply or subscribe to this bug.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, doko@debian.org, vorlon@debian.org, glibc@packages.debian.org:
Bug#875927; Package perl. (Sat, 16 Sep 2017 08:21:05 GMT) (full text, mbox, link).


Acknowledgement sent to Niko Tyni <ntyni@debian.org>:
New Bug report received and forwarded. Copy sent to doko@debian.org, vorlon@debian.org, glibc@packages.debian.org. (Sat, 16 Sep 2017 08:21:05 GMT) (full text, mbox, link).


Message #5 received at submit@bugs.debian.org (full text, mbox, reply):

From: Niko Tyni <ntyni@debian.org>
To: submit@bugs.debian.org
Subject: perl: SIGUNUSED removal in glibc 2.26 changes PL_sig_name / SIG_SIZE
Date: Sat, 16 Sep 2017 10:27:26 +0300
Package: perl
Version: 5.26.0-8
Severity: normal
X-Debbugs-Cc: doko@debian.org, vorlon@debian.org, glibc@packages.debian.org

As seen in
 https://bugs.launchpad.net/ubuntu/+source/libanyevent-perl/+bug/1717367
an upstream change in glibc 2.26, presumably
https://patchwork.sourceware.org/patch/20800/ causes perl to change its
ABI when rebuilt against the new glibc. I'm copying Steve and Matthias
who worked on the issue on the Ubuntu side.

While Debian doesn't have glibc 2.26 yet, I'm filing this so we can
track the issue and get a fix in before things break. I'm copying the
glibc maintainers; is there already an expected time frame for 2.26?

The problem is that Perl's global array PL_sig_name[] and the SIG_SIZE
constant ($Config{sig_name}, $Config{sig_size} on the perl language side)
change due to the removal of the (long?) obsolete SIGUNUSED constant in
glibc. The Async::Interrupt (libasync-intterupt-perl) XS module compiles
in SIG_SIZE and walks PL_sig_name[] at run time based on that.  When the
array changes on the Perl side, Async::Interrupt does not know that and
accesses it out of bounds.

It looks to me like Perl upstream needs to pad PL_sig_name[] on the stable
branches (maint-5.*) when SIGUNUSED is missing (indicating glibc >= 2.26)
to ensure ABI compatibility.  For bleadperl / 5.27, where there are no
ABI guarantees, it seems appropriate to filter out SIGUNUSED altogether
regardless of the glibc version, given its apparent obsolete status.

Looking at codesearch.debian.net, this also concerns (reverse dependencies
of) libio-aio-perl, libcoro-perl and libev-perl.

I'll forward this upstream next.
-- 
Niko Tyni   ntyni@debian.org



Set Bug forwarded-to-address to 'https://rt.perl.org/Ticket/Display.html?id=132105'. Request was from Niko Tyni <ntyni@debian.org> to control@bugs.debian.org. (Sat, 16 Sep 2017 18:06:02 GMT) (full text, mbox, link).


Added tag(s) fixed-upstream. Request was from bts-link-upstream@lists.alioth.debian.org to control@bugs.debian.org. (Mon, 16 Oct 2017 17:36:23 GMT) (full text, mbox, link).


Information forwarded to debian-bugs-dist@lists.debian.org:
Bug#875927; Package perl. (Sun, 22 Oct 2017 18:03:03 GMT) (full text, mbox, link).


Acknowledgement sent to Niko Tyni <ntyni@debian.org>:
Extra info received and forwarded to list. (Sun, 22 Oct 2017 18:03:03 GMT) (full text, mbox, link).


Message #14 received at 875927@bugs.debian.org (full text, mbox, reply):

From: Niko Tyni <ntyni@debian.org>
To: 875927@bugs.debian.org
Cc: doko@debian.org, vorlon@debian.org, glibc@packages.debian.org
Subject: Re: Bug#875927: perl: SIGUNUSED removal in glibc 2.26 changes PL_sig_name / SIG_SIZE
Date: Sun, 22 Oct 2017 20:57:59 +0300
On Sat, Sep 16, 2017 at 10:27:26AM +0300, Niko Tyni wrote:
> Package: perl
> Version: 5.26.0-8
> Severity: normal
> X-Debbugs-Cc: doko@debian.org, vorlon@debian.org, glibc@packages.debian.org
> 
> As seen in
>  https://bugs.launchpad.net/ubuntu/+source/libanyevent-perl/+bug/1717367
> an upstream change in glibc 2.26, presumably
> https://patchwork.sourceware.org/patch/20800/ causes perl to change its
> ABI when rebuilt against the new glibc. I'm copying Steve and Matthias
> who worked on the issue on the Ubuntu side.
> 
> The problem is that Perl's global array PL_sig_name[] and the SIG_SIZE
> constant ($Config{sig_name}, $Config{sig_size} on the perl language side)
> change due to the removal of the (long?) obsolete SIGUNUSED constant in
> glibc. The Async::Interrupt (libasync-intterupt-perl) XS module compiles
> in SIG_SIZE and walks PL_sig_name[] at run time based on that.  When the
> array changes on the Perl side, Async::Interrupt does not know that and
> accesses it out of bounds.

> Looking at codesearch.debian.net, this also concerns (reverse dependencies
> of) libio-aio-perl, libcoro-perl and libev-perl.

Perl upstream is not going to do anything about this. Their recommendation
is to hardcode the list of signals when calling Configure. This
seems somewhat over the top to me. It might be nicer to temporarily
patch Configure (or from 5.26.1-1 onward rather its sources, mainly
regen-configure/dist/U/Signal.U) to add SIGUNUSED to the list of signals
if it's missing.

Alternatively, postprocessing config.sh should work too and is arguably
cleaner. Ubuntu is currently postprocessing config.h which I'm not
quite as comfortable about as I think it leaves the relevant %Config
entries unchanged.

Regardless of the approach taken, I note that the stashed Configure
results in debian/cross/*/config.sh.static show that SIGUNUSED does not
exist on all architectures, so adding it unconditionally would be wrong.
These ones don't seem to have it:

  % for f in debian/cross/*/config.sh.static; do grep -q '^sig_name_init.*UNUSED' $f || echo $f; done
  debian/cross/alpha/config.sh.static
  debian/cross/hurd-i386/config.sh.static
  debian/cross/kfreebsd-amd64/config.sh.static
  debian/cross/kfreebsd-i386/config.sh.static
  debian/cross/mips64el/config.sh.static
  debian/cross/mips/config.sh.static
  debian/cross/mipsel/config.sh.static
  debian/cross/sparc64/config.sh.static
 
AFAICS this means we need a hardcoded white- or blacklist of the affected
architectures somewhere (and renders the issue even more unactionable
upstream.)

Upstream also suggests that the modules breaking due to this change
are unnecessarily fragile. They all seem to be using the same code,
namely an 's_signum()' function in schmorp.h. Quoting Leon Timmermans:

> The patch to the modules would be little more than removing code;
> they'd just have to use the whichsig (perl 1.0) /whichsig_sv (perl 5.16)
> API instead of reimplementing it. Alternatively s_signame could check
> for the end of PL_sig_name by checking for a null-pointer instead of
> assuming it has SIG_SIZE elements. Unlike the other solutions that will
> prevent this kind of situation from happening again.

Tony Cook also notes that these s_signum() implementations are buggy in
any case, as shown with

 perl -MAsync::Interrupt -le 'print Async::Interrupt::sig2num("POLL")' 

which should give 29 instead of 67 on amd64. The code should look the
signal number up in PL_sig_num[] instead of assuming the signal number
is same as the array index.

I'm tempted to just declare that anything relying on these parts of the
ABI is buggy and get the known affected modules/packages fixed.
-- 
Niko Tyni   ntyni@debian.org



Information forwarded to debian-bugs-dist@lists.debian.org, Niko Tyni <ntyni@debian.org>:
Bug#875927; Package perl. (Tue, 24 Oct 2017 14:39:02 GMT) (full text, mbox, link).


Acknowledgement sent to Dominic Hargreaves <dom@earth.li>:
Extra info received and forwarded to list. Copy sent to Niko Tyni <ntyni@debian.org>. (Tue, 24 Oct 2017 14:39:02 GMT) (full text, mbox, link).


Message #19 received at 875927@bugs.debian.org (full text, mbox, reply):

From: Dominic Hargreaves <dom@earth.li>
To: Niko Tyni <ntyni@debian.org>, 875927@bugs.debian.org
Cc: doko@debian.org, glibc@packages.debian.org, vorlon@debian.org, debian-perl@lists.debian.org
Subject: Re: Bug#875927: perl: SIGUNUSED removal in glibc 2.26 changes PL_sig_name / SIG_SIZE
Date: Tue, 24 Oct 2017 15:34:10 +0100
On Sun, Oct 22, 2017 at 08:57:59PM +0300, Niko Tyni wrote:
> On Sat, Sep 16, 2017 at 10:27:26AM +0300, Niko Tyni wrote:
> > Package: perl
> > Version: 5.26.0-8
> > Severity: normal
> > X-Debbugs-Cc: doko@debian.org, vorlon@debian.org, glibc@packages.debian.org
> > 
> > As seen in
> >  https://bugs.launchpad.net/ubuntu/+source/libanyevent-perl/+bug/1717367
> > an upstream change in glibc 2.26, presumably
> > https://patchwork.sourceware.org/patch/20800/ causes perl to change its
> > ABI when rebuilt against the new glibc. I'm copying Steve and Matthias
> > who worked on the issue on the Ubuntu side.
> > 
> > The problem is that Perl's global array PL_sig_name[] and the SIG_SIZE
> > constant ($Config{sig_name}, $Config{sig_size} on the perl language side)
> > change due to the removal of the (long?) obsolete SIGUNUSED constant in
> > glibc. The Async::Interrupt (libasync-intterupt-perl) XS module compiles
> > in SIG_SIZE and walks PL_sig_name[] at run time based on that.  When the
> > array changes on the Perl side, Async::Interrupt does not know that and
> > accesses it out of bounds.
> 
> > Looking at codesearch.debian.net, this also concerns (reverse dependencies
> > of) libio-aio-perl, libcoro-perl and libev-perl.
> 
> Perl upstream is not going to do anything about this. Their recommendation
> is to hardcode the list of signals when calling Configure. This
> seems somewhat over the top to me. It might be nicer to temporarily
> patch Configure (or from 5.26.1-1 onward rather its sources, mainly
> regen-configure/dist/U/Signal.U) to add SIGUNUSED to the list of signals
> if it's missing.
> 
> Alternatively, postprocessing config.sh should work too and is arguably
> cleaner. Ubuntu is currently postprocessing config.h which I'm not
> quite as comfortable about as I think it leaves the relevant %Config
> entries unchanged.
> 
> Regardless of the approach taken, I note that the stashed Configure
> results in debian/cross/*/config.sh.static show that SIGUNUSED does not
> exist on all architectures, so adding it unconditionally would be wrong.
> These ones don't seem to have it:
> 
>   % for f in debian/cross/*/config.sh.static; do grep -q '^sig_name_init.*UNUSED' $f || echo $f; done
>   debian/cross/alpha/config.sh.static
>   debian/cross/hurd-i386/config.sh.static
>   debian/cross/kfreebsd-amd64/config.sh.static
>   debian/cross/kfreebsd-i386/config.sh.static
>   debian/cross/mips64el/config.sh.static
>   debian/cross/mips/config.sh.static
>   debian/cross/mipsel/config.sh.static
>   debian/cross/sparc64/config.sh.static
>  
> AFAICS this means we need a hardcoded white- or blacklist of the affected
> architectures somewhere (and renders the issue even more unactionable
> upstream.)
> 
> Upstream also suggests that the modules breaking due to this change
> are unnecessarily fragile. They all seem to be using the same code,
> namely an 's_signum()' function in schmorp.h. Quoting Leon Timmermans:
> 
> > The patch to the modules would be little more than removing code;
> > they'd just have to use the whichsig (perl 1.0) /whichsig_sv (perl 5.16)
> > API instead of reimplementing it. Alternatively s_signame could check
> > for the end of PL_sig_name by checking for a null-pointer instead of
> > assuming it has SIG_SIZE elements. Unlike the other solutions that will
> > prevent this kind of situation from happening again.
> 
> Tony Cook also notes that these s_signum() implementations are buggy in
> any case, as shown with
> 
>  perl -MAsync::Interrupt -le 'print Async::Interrupt::sig2num("POLL")' 
> 
> which should give 29 instead of 67 on amd64. The code should look the
> signal number up in PL_sig_num[] instead of assuming the signal number
> is same as the array index.
> 
> I'm tempted to just declare that anything relying on these parts of the
> ABI is buggy and get the known affected modules/packages fixed.

This does seem like the correct approach, given that all the alternatives
are going against upstream, and are varying levels of hackiness (and remain
fragile). Am I correct that implementing Tony's suggestion is in itself
a complete fix for the issue?

I'm adding debian-perl@lists.debian.org for wider visibility of this
issue, which might include patching these four packages:
libasync-interrupt-perl, libio-aio-perl, libcoro-perl and libev-perl.

Cheers,
Dominic.



Information forwarded to debian-bugs-dist@lists.debian.org:
Bug#875927; Package perl. (Tue, 24 Oct 2017 19:39:03 GMT) (full text, mbox, link).


Acknowledgement sent to Niko Tyni <ntyni@debian.org>:
Extra info received and forwarded to list. (Tue, 24 Oct 2017 19:39:03 GMT) (full text, mbox, link).


Message #24 received at 875927@bugs.debian.org (full text, mbox, reply):

From: Niko Tyni <ntyni@debian.org>
To: Dominic Hargreaves <dom@earth.li>, 875927@bugs.debian.org
Cc: debian-perl@lists.debian.org
Subject: Re: Bug#875927: perl: SIGUNUSED removal in glibc 2.26 changes PL_sig_name / SIG_SIZE
Date: Tue, 24 Oct 2017 22:37:10 +0300
On Tue, Oct 24, 2017 at 03:34:10PM +0100, Dominic Hargreaves wrote:
> On Sun, Oct 22, 2017 at 08:57:59PM +0300, Niko Tyni wrote:

> > I'm tempted to just declare that anything relying on these parts of the
> > ABI is buggy and get the known affected modules/packages fixed.
> 
> This does seem like the correct approach, given that all the alternatives
> are going against upstream, and are varying levels of hackiness (and remain
> fragile).

Yes. This is all unfortunate of course. Relying on the SIG_SIZE constant
staying constant doesn't seem too unreasonable an assumption...

> Am I correct that implementing Tony's suggestion is in itself
> a complete fix for the issue?

I'm not sure which suggestion that is. Tony had some ideas about turning
SIG_SIZE into a variable rather than a constant on the Perl core side,
but noted that they would still break Async::Interrupt as it uses SIG_SIZE
in another place (see sig_async[] in Interrupt.xs, which would probably
need a change too.)

To reiterate a bit, there are two relevant C arrays, PL_sig_name[]
and PL_sig_num[]. Both are NULL terminated, but the "fragile" schmorp.h
s_signum() implementations bake in the array size at compile time and use
that to iterate the PL_sig_name[] array at run time rather than looking
for the terminating NULL. This breaks if the array size at run time is
different from the size at compile time.

Tony noted that they also have an unrelated bug: they do not use
PL_sig_num[] at all, but assume that the index in PL_sig_name[] is
equivalent to the signal number. This is a false assumption. There are
some signal names that map to the same number (for instance, on amd64
SIGIO == SIGPOLL == 29 and SIGSYS == SIGUNUSED == 31.)

OTOH Leon noted that making the implementations use the whichsig() /
whichsig_sv() Perl core API functions would solve the whole thing in a
cleaner way while avoiding the above bug.  So that seems the way to go
(but I don't have a patch ready, and I haven't looked at how the other
use of SIG_SIZE in Async::Interrupt could be avoided.)

> I'm adding debian-perl@lists.debian.org for wider visibility of this
> issue, which might include patching these four packages:

Thanks. I dropped the other cc's at this point.

> libasync-interrupt-perl, libio-aio-perl, libcoro-perl and libev-perl.

libio-aio-perl and libcoro-perl are probably not affected after all, given
they don't seem to use s_signum() or SIG_SIZE anywhere in the actual code.
-- 
Niko



Information forwarded to debian-bugs-dist@lists.debian.org, Niko Tyni <ntyni@debian.org>:
Bug#875927; Package perl. (Sun, 19 Nov 2017 13:42:03 GMT) (full text, mbox, link).


Acknowledgement sent to Aurelien Jarno <aurelien@aurel32.net>:
Extra info received and forwarded to list. Copy sent to Niko Tyni <ntyni@debian.org>. (Sun, 19 Nov 2017 13:42:03 GMT) (full text, mbox, link).


Message #29 received at 875927@bugs.debian.org (full text, mbox, reply):

From: Aurelien Jarno <aurelien@aurel32.net>
To: Dominic Hargreaves <dom@earth.li>
Cc: Niko Tyni <ntyni@debian.org>, 875927@bugs.debian.org, doko@debian.org, glibc@packages.debian.org, vorlon@debian.org, debian-perl@lists.debian.org
Subject: Re: Bug#875927: perl: SIGUNUSED removal in glibc 2.26 changes PL_sig_name / SIG_SIZE
Date: Sun, 19 Nov 2017 14:38:40 +0100
On 2017-10-24 15:34, Dominic Hargreaves wrote:
> On Sun, Oct 22, 2017 at 08:57:59PM +0300, Niko Tyni wrote:
> > On Sat, Sep 16, 2017 at 10:27:26AM +0300, Niko Tyni wrote:
> > > Package: perl
> > > Version: 5.26.0-8
> > > Severity: normal
> > > X-Debbugs-Cc: doko@debian.org, vorlon@debian.org, glibc@packages.debian.org
> > > 
> > > As seen in
> > >  https://bugs.launchpad.net/ubuntu/+source/libanyevent-perl/+bug/1717367
> > > an upstream change in glibc 2.26, presumably
> > > https://patchwork.sourceware.org/patch/20800/ causes perl to change its
> > > ABI when rebuilt against the new glibc. I'm copying Steve and Matthias
> > > who worked on the issue on the Ubuntu side.
> > > 
> > > The problem is that Perl's global array PL_sig_name[] and the SIG_SIZE
> > > constant ($Config{sig_name}, $Config{sig_size} on the perl language side)
> > > change due to the removal of the (long?) obsolete SIGUNUSED constant in
> > > glibc. The Async::Interrupt (libasync-intterupt-perl) XS module compiles
> > > in SIG_SIZE and walks PL_sig_name[] at run time based on that.  When the
> > > array changes on the Perl side, Async::Interrupt does not know that and
> > > accesses it out of bounds.
> > 
> > > Looking at codesearch.debian.net, this also concerns (reverse dependencies
> > > of) libio-aio-perl, libcoro-perl and libev-perl.
> > 
> > Perl upstream is not going to do anything about this. Their recommendation
> > is to hardcode the list of signals when calling Configure. This
> > seems somewhat over the top to me. It might be nicer to temporarily
> > patch Configure (or from 5.26.1-1 onward rather its sources, mainly
> > regen-configure/dist/U/Signal.U) to add SIGUNUSED to the list of signals
> > if it's missing.
> > 
> > Alternatively, postprocessing config.sh should work too and is arguably
> > cleaner. Ubuntu is currently postprocessing config.h which I'm not
> > quite as comfortable about as I think it leaves the relevant %Config
> > entries unchanged.
> > 
> > Regardless of the approach taken, I note that the stashed Configure
> > results in debian/cross/*/config.sh.static show that SIGUNUSED does not
> > exist on all architectures, so adding it unconditionally would be wrong.
> > These ones don't seem to have it:
> > 
> >   % for f in debian/cross/*/config.sh.static; do grep -q '^sig_name_init.*UNUSED' $f || echo $f; done
> >   debian/cross/alpha/config.sh.static
> >   debian/cross/hurd-i386/config.sh.static
> >   debian/cross/kfreebsd-amd64/config.sh.static
> >   debian/cross/kfreebsd-i386/config.sh.static
> >   debian/cross/mips64el/config.sh.static
> >   debian/cross/mips/config.sh.static
> >   debian/cross/mipsel/config.sh.static
> >   debian/cross/sparc64/config.sh.static
> >  
> > AFAICS this means we need a hardcoded white- or blacklist of the affected
> > architectures somewhere (and renders the issue even more unactionable
> > upstream.)
> > 
> > Upstream also suggests that the modules breaking due to this change
> > are unnecessarily fragile. They all seem to be using the same code,
> > namely an 's_signum()' function in schmorp.h. Quoting Leon Timmermans:
> > 
> > > The patch to the modules would be little more than removing code;
> > > they'd just have to use the whichsig (perl 1.0) /whichsig_sv (perl 5.16)
> > > API instead of reimplementing it. Alternatively s_signame could check
> > > for the end of PL_sig_name by checking for a null-pointer instead of
> > > assuming it has SIG_SIZE elements. Unlike the other solutions that will
> > > prevent this kind of situation from happening again.
> > 
> > Tony Cook also notes that these s_signum() implementations are buggy in
> > any case, as shown with
> > 
> >  perl -MAsync::Interrupt -le 'print Async::Interrupt::sig2num("POLL")' 
> > 
> > which should give 29 instead of 67 on amd64. The code should look the
> > signal number up in PL_sig_num[] instead of assuming the signal number
> > is same as the array index.
> > 
> > I'm tempted to just declare that anything relying on these parts of the
> > ABI is buggy and get the known affected modules/packages fixed.
> 
> This does seem like the correct approach, given that all the alternatives
> are going against upstream, and are varying levels of hackiness (and remain
> fragile). Am I correct that implementing Tony's suggestion is in itself
> a complete fix for the issue?
> 
> I'm adding debian-perl@lists.debian.org for wider visibility of this
> issue, which might include patching these four packages:
> libasync-interrupt-perl, libio-aio-perl, libcoro-perl and libev-perl.

Now that we have glibc 2.26 in experimental, can I ask about the status
of this issue? Do we have to add Breaks: against the affected perl
packages?

Aurelien

-- 
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
aurelien@aurel32.net                 http://www.aurel32.net



Information forwarded to debian-bugs-dist@lists.debian.org:
Bug#875927; Package perl. (Sun, 19 Nov 2017 15:03:06 GMT) (full text, mbox, link).


Acknowledgement sent to Niko Tyni <ntyni@debian.org>:
Extra info received and forwarded to list. (Sun, 19 Nov 2017 15:03:06 GMT) (full text, mbox, link).


Message #34 received at 875927@bugs.debian.org (full text, mbox, reply):

From: Niko Tyni <ntyni@debian.org>
To: Aurelien Jarno <aurelien@aurel32.net>, 875927@bugs.debian.org
Cc: Dominic Hargreaves <dom@earth.li>, glibc@packages.debian.org, debian-perl@lists.debian.org, vorlon@debian.org, doko@debian.org
Subject: Re: Bug#875927: perl: SIGUNUSED removal in glibc 2.26 changes PL_sig_name / SIG_SIZE
Date: Sun, 19 Nov 2017 17:01:27 +0200
[Message part 1 (text/plain, inline)]
On Sun, Nov 19, 2017 at 02:38:40PM +0100, Aurelien Jarno wrote:

> Now that we have glibc 2.26 in experimental, can I ask about the status
> of this issue? Do we have to add Breaks: against the affected perl
> packages?

Thanks for the reminder.

I looked a bit at "fixing" libasync-interrupt-perl, noted that it uses
SIG_SIZE for other things too and decided I don't want to spend my time
on that.

My plan is to use the attached workaround, which should keep the ABI
regardless of the glibc version. It should probably go to sid soon.

I don't think Breaks are needed. The issue only happens if the current
perl gets built with the new glibc. Assuming we upload the workaround
to sid before glibc 2.26, I think it should be fine.

Thoughts welcome.
-- 
Niko
[0001-Restore-SIGUNUSED-on-glibc-2.26-to-preserve-ABI-comp.patch (text/x-diff, attachment)]

Information forwarded to debian-bugs-dist@lists.debian.org, Niko Tyni <ntyni@debian.org>:
Bug#875927; Package perl. (Tue, 21 Nov 2017 00:12:21 GMT) (full text, mbox, link).


Acknowledgement sent to Dominic Hargreaves <dom@earth.li>:
Extra info received and forwarded to list. Copy sent to Niko Tyni <ntyni@debian.org>. (Tue, 21 Nov 2017 00:12:21 GMT) (full text, mbox, link).


Message #39 received at 875927@bugs.debian.org (full text, mbox, reply):

From: Dominic Hargreaves <dom@earth.li>
To: Niko Tyni <ntyni@debian.org>, 875927@bugs.debian.org
Cc: Aurelien Jarno <aurelien@aurel32.net>, debian-perl@lists.debian.org, doko@debian.org, vorlon@debian.org, glibc@packages.debian.org
Subject: Re: Bug#875927: perl: SIGUNUSED removal in glibc 2.26 changes PL_sig_name / SIG_SIZE
Date: Tue, 21 Nov 2017 00:11:26 +0000
On Sun, Nov 19, 2017 at 05:01:27PM +0200, Niko Tyni wrote:
> On Sun, Nov 19, 2017 at 02:38:40PM +0100, Aurelien Jarno wrote:
> 
> > Now that we have glibc 2.26 in experimental, can I ask about the status
> > of this issue? Do we have to add Breaks: against the affected perl
> > packages?
> 
> Thanks for the reminder.
> 
> I looked a bit at "fixing" libasync-interrupt-perl, noted that it uses
> SIG_SIZE for other things too and decided I don't want to spend my time
> on that.
> 
> My plan is to use the attached workaround, which should keep the ABI
> regardless of the glibc version. It should probably go to sid soon.
> 
> I don't think Breaks are needed. The issue only happens if the current
> perl gets built with the new glibc. Assuming we upload the workaround
> to sid before glibc 2.26, I think it should be fine.

Hello,

Nothing too much to add, but this sounds like a good idea.
Thanks for taking care of this!

Cheers,
Dominic.



Reply sent to Niko Tyni <ntyni@debian.org>:
You have taken responsibility. (Tue, 28 Nov 2017 21:51:16 GMT) (full text, mbox, link).


Notification sent to Niko Tyni <ntyni@debian.org>:
Bug acknowledged by developer. (Tue, 28 Nov 2017 21:51:16 GMT) (full text, mbox, link).


Message #44 received at 875927-close@bugs.debian.org (full text, mbox, reply):

From: Niko Tyni <ntyni@debian.org>
To: 875927-close@bugs.debian.org
Subject: Bug#875927: fixed in perl 5.26.1-3
Date: Tue, 28 Nov 2017 21:49:12 +0000
Source: perl
Source-Version: 5.26.1-3

We believe that the bug you reported is fixed in the latest version of
perl, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 875927@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Niko Tyni <ntyni@debian.org> (supplier of updated perl package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Tue, 28 Nov 2017 19:44:14 +0200
Source: perl
Binary: perl-base perl-doc perl-debug libperl5.26 libperl-dev perl-modules-5.26 perl
Architecture: source
Version: 5.26.1-3
Distribution: unstable
Urgency: medium
Maintainer: Niko Tyni <ntyni@debian.org>
Changed-By: Niko Tyni <ntyni@debian.org>
Description:
 libperl-dev - Perl library: development files
 libperl5.26 - shared Perl library
 perl       - Larry Wall's Practical Extraction and Report Language
 perl-base  - minimal Perl system
 perl-debug - debug-enabled Perl interpreter
 perl-doc   - Perl documentation
 perl-modules-5.26 - Core Perl modules
Closes: 875927 880117 882978
Changes:
 perl (5.26.1-3) unstable; urgency=medium
 .
   [ Dominic Hargreaves ]
   * Include a note about debugging information in perl-debug in the package
     description (Closes: #880117)
 .
   [ Niko Tyni ]
   * Restore SIGUNUSED on glibc >= 2.26 to preserve ABI compatibility.
     (Closes: #875927)
   * No longer use xlocale.h, removed in glibc 2.26. (Closes: #882978)
Checksums-Sha1:
 6a424ab8a47b0b3cb9780a9f0b683e125158f7f5 2658 perl_5.26.1-3.dsc
 78c813dd05c988b3455dda13ef597075abd68ecd 160252 perl_5.26.1-3.debian.tar.xz
 6caeddd326c73e59e608026d1ac298bb5af47da8 4757 perl_5.26.1-3_source.buildinfo
Checksums-Sha256:
 0c9f3a0a59fa8b5977f1896b41e9d066a858dc4afd27d8f6a1266734bb82b11f 2658 perl_5.26.1-3.dsc
 a410c3c5ae9350fd84ebed50f0a7de3b2f2c3c9ba409a77713480ee124f2ed05 160252 perl_5.26.1-3.debian.tar.xz
 950301cb57e64721edc055402fa83bea29f243d4a07205d7bd7b91552e2367b6 4757 perl_5.26.1-3_source.buildinfo
Files:
 cae15149257be07be38e67473d185ef0 2658 perl standard perl_5.26.1-3.dsc
 41e94eeedc6ad601d5b5e9d7c4fb5c06 160252 perl standard perl_5.26.1-3.debian.tar.xz
 3a65be66076e55326265fb59b1d8bc9c 4757 perl standard perl_5.26.1-3_source.buildinfo

-----BEGIN PGP SIGNATURE-----

iQJFBAEBCAAvFiEEdqKOQsmBHZHoj7peLsD/s7cwGx8FAlodxMkRHG50eW5pQGRl
Ymlhbi5vcmcACgkQLsD/s7cwGx+FLg/+LCPZPRvQ/6UheCvjsXTJ1AzfiSD2iWro
SURx2pf7DXXdsQeFFEU69sztuIrYsZOYpubsoC1gFmi7UpexjVwM9UGinWx35Cn2
YX5Ime5vT6E/SIA27ZbkhXhC8z6uVxTbotm+VFhInPPX7UlHnoZPhGLN11Gl2fcw
K9z6eoi5r8PTiNa7r4GARPEj+tKJ7BmEPRo55vl3Axxp3gW4WNs24gOWqn3Ooy72
HkTTlP46HUS9SbRVoKjthA9PC8MMXztWA5iEiLGfqx8BkZGLqXJRgvPLt92c6gE6
A/YfX0LmGJmGUCxO5JnPITTfWq7diTPfgk/1k9AtlYcYKcWL8YV/ccfeNXmTKUGq
IlUfeXg37CrdFsrmYHl7WZuR/x8sN8/BnF6dvxzIA04nGZN36MVjYRM+V+EdICdB
3LTl79xL0Iu3OKv0KYf/t90KJUOSrJ4Pecj2rKv8vWLobs8XQlYl6gOxzYFUT/8q
Ff6hO0xp3xGNfehsatGHhIBmk0RYWTjDnYF5gtVNH6kNVtPZdCl2jbjndfAgtIV3
13XDwtpkPy3CWekzXs7CbhzB8LATr7AOTEVVeaWiGjQdwMrJA+6tmu8nkEEGwsgB
2VkzGdsRtJRFaaVd0BG9KD3b0QeaPwEhvyc7TLG4p8eZoLjppmxCNSd+gan31gRQ
6+RajzpMPAg=
=q/TZ
-----END PGP SIGNATURE-----




Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Wed Jan 10 10:48:32 2018; Machine Name: beach

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.