Your message dated Sat, 16 Apr 2022 11:18:56 +0000 with message-id <[email protected]> and subject line Bug#1008174: fixed in glibc 2.34-0experimental4 has caused the Debian Bug report #1008174, regarding libc6: poll() spuriously returns EINTR 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 [email protected] immediately.) -- 1008174: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1008174 Debian Bug Tracking System Contact [email protected] with problems
--- Begin Message ---Package: libc6 Version: 2.34-0experimental3 Severity: important Dear Maintainer, In the example below, glibc 2.34 from experimental causes a spurious EINTR error in the poll() call from the child thread. It seems that thread cancellation causes the poll() to be spuriously interrupted, even though the cancellation is explicitly disabled at that time. As far as I understand, POSIX allows (or even requires) thread cancellation to be essentially like a signal interruption, save for ending the thread. But that is *only* from the moment that cancellation is effected. Cancellation cannot be effected while it is disabled by definition, so the behaviour from glibc seems wrong here. This regression is known to break the test suite from the VLC package. Rolling back to 2.33 from unstable solves the problem. ----8<---- #include <assert.h> #include <stdlib.h> #include <stdio.h> #include <time.h> #include <poll.h> #include <pthread.h> static void *thread(void *data) { int canc; (void) data; pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &canc); if (poll(NULL, 0, 2000) < 0) { perror("Unexpected poll error"); abort(); } pthread_setcancelstate(canc, NULL); return NULL; } int main(void) { pthread_t th; void *ret; struct timespec ts = { 0, 100*1000*1000 }; if (pthread_create(&th, NULL, thread, NULL)) { perror("pthread_create"); return 1; } clock_nanosleep(CLOCK_MONOTONIC, 0, &ts, NULL); pthread_cancel(th); pthread_join(th, &ret); assert(ret == NULL); return 0; } ---->8---- -- System Information: Debian Release: bookworm/sid APT prefers unstable-debug APT policy: (500, 'unstable-debug'), (500, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386, arm64 Kernel: Linux 5.16.0-5-amd64 (SMP w/12 CPU threads; PREEMPT) Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to fi_FI.UTF-8), LANGUAGE=fr:en_GB:fi Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages libc6 depends on: ii libgcc-s1 12-20220319-1 Versions of packages libc6 recommends: ii libidn2-0 2.3.2-2 Versions of packages libc6 suggests: ii debconf [debconf-2.0] 1.5.79 pn glibc-doc <none> ii libc-l10n 2.34-0experimental3 ii libnss-nis 3.1-4 ii libnss-nisplus 1.3-4 ii locales 2.33-7 -- debconf information: * libraries/restart-without-asking: true glibc/kernel-too-old: glibc/restart-services: glibc/kernel-not-supported: glibc/restart-failed: * glibc/upgrade: true glibc/disable-screensaver:
--- End Message ---
--- Begin Message ---Source: glibc Source-Version: 2.34-0experimental4 Done: Aurelien Jarno <[email protected]> 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 [email protected], and the maintainer will reopen the bug report if appropriate. Debian distribution maintenance software pp. Aurelien Jarno <[email protected]> (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 [email protected]) -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Format: 1.8 Date: Sat, 16 Apr 2022 13:10:56 +0200 Source: glibc Architecture: source Version: 2.34-0experimental4 Distribution: experimental Urgency: medium Maintainer: GNU Libc Maintainers <[email protected]> Changed-By: Aurelien Jarno <[email protected]> Closes: 1006692 1008174 Changes: glibc (2.34-0experimental4) experimental; urgency=medium . [ Aurelien Jarno ] * debian/patches/git-updates.diff: update from upstream stable branch: - Fixes spurious EINTR when thread cancellation is disabled. Closes: #1008174. - debian/patches/any/local-revert-bz13979.diff: refresh. . [ Johannes Schauer Marin Rodrigues ] * debian/debhelper.in/libc.postinst: do not re-exec init if DPKG_ROOT is set. Closes: #1006692. Checksums-Sha1: b73691aec90b98d88c254e8a4fda81eb14adce9e 9683 glibc_2.34-0experimental4.dsc 88b90828dd1fcbf896518bdd08b78860ec32cb2c 895432 glibc_2.34-0experimental4.debian.tar.xz fa5819e2454f0c27b79c88b7663c5502777bfc29 9462 glibc_2.34-0experimental4_source.buildinfo Checksums-Sha256: 75e500abab82ae3da23ed3a7a96fb6e4d4fc73a644a1bfb2baf2886aa0cee432 9683 glibc_2.34-0experimental4.dsc 6c3388850a5bbf01ffc56347f876ce706f60b7b98fbf7c16db1ee45e5c4a0983 895432 glibc_2.34-0experimental4.debian.tar.xz 197b193d0573cf4667c24d11459d673a51b45bceac2ece6840d2eeb942d487e4 9462 glibc_2.34-0experimental4_source.buildinfo Files: a4de258baab6a3d856cb8bcead38b187 9683 libs required glibc_2.34-0experimental4.dsc d56abfaf2ff0bccb673ada497654551f 895432 libs required glibc_2.34-0experimental4.debian.tar.xz 01b0c283bdbf713e4776032e54d721fe 9462 libs required glibc_2.34-0experimental4_source.buildinfo -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEUryGlb40+QrX1Ay4E4jA+JnoM2sFAmJapNYACgkQE4jA+Jno M2u4dg//ZVQG/5XpFTJP6zX5cr5E4PwQKxGM7cZSfpBkHQkeWRZoem7fKbQQ8WmH 3N5CkYt6r9hlvP6Cdw4FJH/o1WnUjSM3GihorXVLSMsXWPHEQM1Ov00kwXHRPOj0 ewA8I/aSFvyG/i8Hh8+6uqST8thdcYtUXIM6yIskXpHSjW88d4gK8yaxKqvFSQXG nOzhdRsRnLGILRMprtWacnwY2WV3M9O0vWZftccT485cjj+XPH2rGsEwGgC0j4wN Hh9N1znxMtZuGm7dfpdIosXyqvb172gyC71LlbynICR2gAGtPTvvWvrjRDIUuEYr rjBxcgNVhVPFxkW7giw0/GIYNkc9wAr0QwGSvhQYPLnoPPNOcfdM7oXX9Ali7KV2 2iSJJzf2JAEkGOiIcQqxau4yLj3K8ApmX8t0lSODcIDTxfZZsLXPKcv9JYqePU4U NcJvykhUItQVO5oU6VqIHfI1nrVF4W/CU+hvatcMhYcmp5iYC6fHPeOyPhQmDTTf nKbG2U38EqL1dmexXRc/Es2Yf9C0lPDdD0jGE4pTJxawpHyvi70KOzsSinzcZTc8 blL9ZAdjAGEE45j7k06xq6gHcFaIaOr+UQ83i8XbhmbU68Gk7KFuSpbjllvST02J AtBF9+fRPkg06uTuWFmnaOerIHxWWYDt5TbTkqmbgmqVUbsP8XY= =/V2+ -----END PGP SIGNATURE-----
--- End Message ---

