Your message dated Mon, 21 Nov 2016 18:48:47 +0000
with message-id <e1c8te3-0008e0...@fasolo.debian.org>
and subject line Bug#551470: fixed in glibc 2.24-6
has caused the Debian Bug report #551470,
regarding Processes hang after signal handler return
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)
--
551470: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=551470
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: libc0.3
Version: 2.9-27
When using a sigaltstack, under some circumstances returning from a signal
handler causes the process to block on a spinlock indefinitely. This problem
is specific to Hurd. I've attached a small demonstration program. This is
either a kernel or libc bug.
The expected output is:
terpstra@orange:~$ ./sigbug
Starting with stack bfd789c0
Alarm in 5 seconds
Waiting for signal.
Got sigint with stack b7dead24
On hurd we now enter an indefinite spin_lock (hang)
Clean exit
On hurd the output is:
terpstra@strauss:~$ ./sigbug
Starting with stack 1024ddc
Alarm in 5 seconds
Waiting for signal.
Got sigint with stack 1411efc
On hurd we now enter an indefinite spin_lock (hang)
... then it hangs consuming CPU resources:
terpstra@strauss:~$ ps -xM
PID STAT TIME COMMAND
24645 R 0:02.62 ./sigbug
terpstra@strauss:~$ ps -xM
PID STAT TIME COMMAND
24645 R 0:03.12 ./sigbug
A stack trace of the program:
(gdb) bt
#0 0x0105690c in swtch_pri ()
at /build/buildd/eglibc-2.9/build-tree/hurd-i386-libc/mach/swtch_pri.S:2
#1 0x01058204 in __spin_lock_solid (lock=0x120880c) at spin-solid.c:27
#2 0x010961b8 in __spin_lock (how=2, set=0x1411edc, oset=0x0)
at ../mach/lock-intern.h:55
#3 __sigprocmask (how=2, set=0x1411edc, oset=0x0)
at ../sysdeps/mach/hurd/sigprocmask.c:43
#4 0x01099eae in abort () at abort.c:65
#5 0x0109795b in __sigreturn (scp=0x1411f20)
at ../sysdeps/mach/hurd/i386/sigreturn.c:74
#6 0x01071cf6 in trampoline () from /lib/libc.so.0.3
#7 0x01411f20 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
Compile the test program as:
terpstra@strauss:~$ gcc -Wall -O0 -g sigbug.c -o sigbug
Here is the test program:
terpstra@strauss:~$ cat sigbug.c
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
void f(int s) {
int x;
printf("Got sigint with stack %lx\n", (long)&x);
printf("On hurd we now enter an indefinite spin_lock (hang)\n");
}
int main() {
struct sigaction sa;
stack_t altstack;
sigset_t mask;
printf("Starting with stack %lx\n", (long)&sa);
memset(&altstack, 0, sizeof(altstack));
altstack.ss_size = 1024*1024;
altstack.ss_sp = malloc(2*altstack.ss_size);
altstack.ss_sp += altstack.ss_size;
sigaltstack(&altstack, 0);
memset(&sa, 0, sizeof(sa));
sigfillset(&sa.sa_mask);
sa.sa_handler = f;
sa.sa_flags = SA_ONSTACK;
sigaction(SIGALRM, &sa, 0);
printf("Alarm in 5 seconds\n");
alarm(5);
printf("Waiting for signal.\n");
sigemptyset(&mask);
sigsuspend(&mask);
printf("Clean exit\n");
return 0;
}
--- End Message ---
--- Begin Message ---
Source: glibc
Source-Version: 2.24-6
We believe that the bug you reported is fixed in the latest version of
glibc, 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 551...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Aurelien Jarno <aure...@debian.org> (supplier of updated glibc 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 ftpmas...@ftp-master.debian.org)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Format: 1.8
Date: Mon, 21 Nov 2016 19:22:48 +0100
Source: glibc
Binary: libc-bin libc-dev-bin libc-l10n glibc-doc glibc-source locales
locales-all nscd multiarch-support libc6 libc6-dev libc6-dbg libc6-pic
libc6-udeb libc6.1 libc6.1-dev libc6.1-dbg libc6.1-pic libc6.1-udeb libc0.3
libc0.3-dev libc0.3-dbg libc0.3-pic libc0.3-udeb libc0.1 libc0.1-dev
libc0.1-dbg libc0.1-pic libc0.1-udeb libc6-i386 libc6-dev-i386 libc6-sparc
libc6-dev-sparc libc6-sparc64 libc6-dev-sparc64 libc6-s390 libc6-dev-s390
libc6-amd64 libc6-dev-amd64 libc6-powerpc libc6-dev-powerpc libc6-ppc64
libc6-dev-ppc64 libc6-mips32 libc6-dev-mips32 libc6-mipsn32 libc6-dev-mipsn32
libc6-mips64 libc6-dev-mips64 libc0.1-i386 libc0.1-dev-i386 libc6-x32
libc6-dev-x32 libc6-xen libc0.3-xen libc6.1-alphaev67 libc0.1-i686 libc0.3-i686
libc6-i686
Architecture: source
Version: 2.24-6
Distribution: unstable
Urgency: medium
Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org>
Changed-By: Aurelien Jarno <aure...@debian.org>
Description:
glibc-doc - GNU C Library: Documentation
glibc-source - GNU C Library: sources
libc-bin - GNU C Library: Binaries
libc-dev-bin - GNU C Library: Development binaries
libc-l10n - GNU C Library: localization files
libc0.1 - GNU C Library: Shared libraries
libc0.1-dbg - GNU C Library: detached debugging symbols
libc0.1-dev - GNU C Library: Development Libraries and Header Files
libc0.1-dev-i386 - GNU C Library: 32bit development libraries for AMD64
libc0.1-i386 - GNU C Library: 32bit shared libraries for AMD64
libc0.1-i686 - transitional dummy package
libc0.1-pic - GNU C Library: PIC archive library
libc0.1-udeb - GNU C Library: Shared libraries - udeb (udeb)
libc0.3 - GNU C Library: Shared libraries
libc0.3-dbg - GNU C Library: detached debugging symbols
libc0.3-dev - GNU C Library: Development Libraries and Header Files
libc0.3-i686 - transitional dummy package
libc0.3-pic - GNU C Library: PIC archive library
libc0.3-udeb - GNU C Library: Shared libraries - udeb (udeb)
libc0.3-xen - GNU C Library: Shared libraries [Xen version]
libc6 - GNU C Library: Shared libraries
libc6-amd64 - GNU C Library: 64bit Shared libraries for AMD64
libc6-dbg - GNU C Library: detached debugging symbols
libc6-dev - GNU C Library: Development Libraries and Header Files
libc6-dev-amd64 - GNU C Library: 64bit Development Libraries for AMD64
libc6-dev-i386 - GNU C Library: 32-bit development libraries for AMD64
libc6-dev-mips32 - GNU C Library: o32 Development Libraries for MIPS
libc6-dev-mips64 - GNU C Library: 64bit Development Libraries for MIPS64
libc6-dev-mipsn32 - GNU C Library: n32 Development Libraries for MIPS64
libc6-dev-powerpc - GNU C Library: 32bit powerpc development libraries for
ppc64
libc6-dev-ppc64 - GNU C Library: 64bit Development Libraries for PowerPC64
libc6-dev-s390 - GNU C Library: 32bit Development Libraries for IBM zSeries
libc6-dev-sparc - GNU C Library: 32bit Development Libraries for SPARC
libc6-dev-sparc64 - GNU C Library: 64bit Development Libraries for UltraSPARC
libc6-dev-x32 - GNU C Library: X32 ABI Development Libraries for AMD64
libc6-i386 - GNU C Library: 32-bit shared libraries for AMD64
libc6-i686 - transitional dummy package
libc6-mips32 - GNU C Library: o32 Shared libraries for MIPS
libc6-mips64 - GNU C Library: 64bit Shared libraries for MIPS64
libc6-mipsn32 - GNU C Library: n32 Shared libraries for MIPS64
libc6-pic - GNU C Library: PIC archive library
libc6-powerpc - GNU C Library: 32bit powerpc shared libraries for ppc64
libc6-ppc64 - GNU C Library: 64bit Shared libraries for PowerPC64
libc6-s390 - GNU C Library: 32bit Shared libraries for IBM zSeries
libc6-sparc - GNU C Library: 32bit Shared libraries for SPARC
libc6-sparc64 - GNU C Library: 64bit Shared libraries for UltraSPARC
libc6-udeb - GNU C Library: Shared libraries - udeb (udeb)
libc6-x32 - GNU C Library: X32 ABI Shared libraries for AMD64
libc6-xen - GNU C Library: Shared libraries [Xen version]
libc6.1 - GNU C Library: Shared libraries
libc6.1-alphaev67 - GNU C Library: Shared libraries (EV67 optimized)
libc6.1-dbg - GNU C Library: detached debugging symbols
libc6.1-dev - GNU C Library: Development Libraries and Header Files
libc6.1-pic - GNU C Library: PIC archive library
libc6.1-udeb - GNU C Library: Shared libraries - udeb (udeb)
locales - GNU C Library: National Language (locale) data [support]
locales-all - GNU C Library: Precompiled locale data
multiarch-support - Transitional package to ensure multiarch compatibility
nscd - GNU C Library: Name Service Cache Daemon
Closes: 551470 841304 841916 842466 843691 844132
Changes:
glibc (2.24-6) unstable; urgency=medium
.
[ Samuel Thibault ]
* libc0.3.symbols.hurd-i386: Drop removed RPCs.
* hurd-i386/cvs-libpthread.diff: Update to latest upstream version.
- hurd-i386/cvs-libpthread-static-weak.diff: Drop, merged upstream.
- hurd-i386/cvs-pthread-atfork.diff: Drop, merged upstream.
- hurd-i386/cvs-setcancelstate.diff: Drop, merged upstream.
* hurd-i386/tg-libpthread-gsync-spin.diff: New patch to make spinlocks use
gsync too. Thanks Svante Signell for investigating issues with the first
version.
* hurd-i386/tg-ONSTACK.diff: New patch to fix SS_ONSTACK support.
Closes: #551470.
* hurd-i386/tg-extern_inline.diff: Update to upstream.
- hurd-i386/tg-sigstate_thread_reference.diff: Refresh.
- hurd-i386/tg-gsync-libc.diff: Refresh.
* hurd-i386/tg-hurdsig-SA_SIGINFO.diff: Update to upstream.
* hurd-i386/tg-EGREGIOUS-fr.diff: New patch to fix grammar in french
translation.
.
[ Aurelien Jarno ]
* debian/patches/git-updates.diff: update from upstream stable branch:
- Fix pread/pwrite syscalls on SH4.
- Fix build on powerpc/ppc64el with binutils from trunk. Closes: #843691.
- Fix flexible array usage in gconv.h. Closes: #841304.
- Fix linknamespace parallel test failures. Closes: #844132.
* debian/patches/any/submitted-unicode-9.0.0.diff: proposed patch to update
Unicode support to version 9.0.0. Closes: #842466.
* debian/patches/localedata/locale-C.diff: update to Unicode 9.0.0.
* debian/patches/localedata/submitted-en_AU-date_fmt.diff: improve date_fmt
for en_AU locale. Closes: #841916.
Checksums-Sha1:
cc1d6aad4728dea76d1d1512b8cb1e043fc77b85 8329 glibc_2.24-6.dsc
a11951468ee86a583fe614cb3ba5d37db294d959 959804 glibc_2.24-6.debian.tar.xz
Checksums-Sha256:
26ad381c21ca58e142e967ecdd9ac25bf49a00859701edfdb7273b358db148b6 8329
glibc_2.24-6.dsc
16a010cb75502b9e6d9c83c7cb8f6511801460e5a446eba97970fae141127e5f 959804
glibc_2.24-6.debian.tar.xz
Files:
16eb86ca5e247cd155b251b6a0683a13 8329 libs required glibc_2.24-6.dsc
7f377fdfa903b8a1c0ca6059a02e0ece 959804 libs required
glibc_2.24-6.debian.tar.xz
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEEd0YmQqnvlP0Pdxltupx4Bh3djJsFAlgzO9oACgkQupx4Bh3d
jJtM8Q/+IWsOozCDOfHxG9neqCH7/lawCMnW1iJzj7A5F6ZGmVOtZl2ZUUg4TpEF
FfvVMpgQ+e8/OAYsWCfeZ9/jNXvC/UPzRhu77h3hsCyvAfr95spyYwMXhy248Xkp
M1trgRHG1hH4RhbfygtYP+HYGyDbySUE1GQZGkUQdEvT8geDoheVBPTZ7VTvv3gD
6AZRJ8dNcuTTftv4fE6ojLc7RObLylwoXB7Nd1oLIPB82xJIGrYNATzolLL0wS6A
fyVh1jRd51yqVfuxU3wdDxm2XBNp2COoYHsuzySrrpu5WpdMP+SuLHePHkq7gCbV
2FF7+SuNr5DwnwxRXPyVUnHmixzr9SAjXGdp9Z5wXcZ0airgq4E5FnDIX1x/quyI
Vh/lkM2LM1QLJVVgKpzLm5mwAtbRH0XSd5FzfTl+5p0tkpJ7TLZdGwShMTcUYbsZ
ou0zhQn+rwCHWTqqigyvDIbVQmoNDT3QXsVD0QmSA2IUK6qUsDEPv6S9lvErLyt3
B35jPjicyhOMoMdUZM0P4bh9trbU+OURaPFIOD2f5FBsw/csU9dupUVBThaMsVUb
+eklEI6LUN/UGvDX1LhTNTiQvE3iP0vEzSZjParFs5Ydol5hMtypuybxHgP257Jf
qS/eBJxSKunpIbFzaxWzm470SRGQKiIIKfThbu2aNtgEd3KYCpU=
=7AP4
-----END PGP SIGNATURE-----
--- End Message ---