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 ---

Reply via email to