Your message dated Sun, 12 Apr 2020 13:49:47 +0000 with message-id <[email protected]> and subject line Bug#947091: fixed in manpages 5.06-1 has caused the Debian Bug report #947091, regarding manpages-dev: timerfd_settime can fail with ECANCELED 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.) -- 947091: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=947091 Debian Bug Tracking System Contact [email protected] with problems
--- Begin Message ---Package: manpages-dev Version: 5.04-1 Severity: wishlist Dear Maintainer, the timerfd_create/settime/... manpage documents that reads from a timerfd configured with TFD_TIMER_CANCEL_ON_SET fail with ECANCELED, however, I found that timerfd_settime (and probably timerfd_gettime and others) have the same behaviour, and of course youc an poll for this event as well, and all this is not documented. Background: I was implementing time jump detection in libev using the relatively new TFD_TIMER_CANCEL_ON_SET feature. For this, I arm the timer with some future value and only use it for the side effect of getting canceled (although it might occasionally expire). The timerfd_create/settime calls look like this (future it_value.tv_sec value, zero interval): timerfd_create(CLOCK_REALTIME, TFD_CLOEXEC|TFD_NONBLOCK) = 5 timerfd_settime(5, TFD_TIMER_ABSTIME|TFD_TIMER_CANCEL_ON_SET, {it_interval={tv_sec=0, tv_nsec=0}, it_value={tv_sec=1579464284, tv_nsec=0}}, NULL) = 0 all normal so far: On every time jump, I rearm the timer with timerfd_settime, without having any other interaction with the timerfd (other than polling it for read events). The following is the effect of "date -s somevalue" three times: timerfd_settime(5, TFD_TIMER_ABSTIME|TFD_TIMER_CANCEL_ON_SET, {it_interval={tv_sec=0, tv_nsec=0}, it_value={tv_sec=949273200, tv_nsec=0}}, NULL) = -1 ECANCELED (Operation canceled) timerfd_settime(5, TFD_TIMER_ABSTIME|TFD_TIMER_CANCEL_ON_SET, {it_interval={tv_sec=0, tv_nsec=0}, it_value={tv_sec=949273200, tv_nsec=0}}, NULL) = -1 ECANCELED (Operation canceled) timerfd_settime(5, TFD_TIMER_ABSTIME|TFD_TIMER_CANCEL_ON_SET, {it_interval={tv_sec=0, tv_nsec=0}, it_value={tv_sec=949273200, tv_nsec=0}}, NULL) = -1 ECANCELED (Operation canceled) >From this, I learn that timerfd_settime fails the same way as a read would do (probably some error slippage happening) and despite timerfd_settime failing with ECANCELED, it actually succeeds in rearming the timer. Don't know if this is a kernel bug, but I assume this works more or less as designed, but has escaped the documentation as TFD_TIMER_CANCEL_ON_SET is a relatively new feature. As a minor nitpick, the "Operating on a timer file descriptor" is a tiny bit misleading, as it doesn't mention timerfd_gettime etc. as supported "operations on a timerfd fd". And while it probably isn't a major thing in the context, I do expect the utmost exactness from manpages-dev because that is my past experiencw with it, so I suggest adding "additional" here: The file descriptor returned by timerfd_create() supports the following additional operations: Thanks, Marc -- System Information: Debian Release: 10.2 APT prefers stable APT policy: (990, 'stable'), (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'stable-updates'), (500, 'stable-debug'), (500, 'oldstable-updates'), (500, 'oldstable-debug'), (500, 'unstable'), (500, 'testing'), (500, 'oldstable'), (1, 'experimental-debug'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386, x32 Kernel: Linux 5.2.21-050221-generic (SMP w/8 CPU cores) Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE Locale: LANG=en_DK.UTF-8, LC_CTYPE=en_DK.UTF-8 (charmap=UTF-8), LANGUAGE=en_DK.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages manpages-dev depends on: ii manpages 4.16-2 manpages-dev recommends no packages. Versions of packages manpages-dev suggests: ii konqueror [man-browser] 4:18.12.0-1 ii man-db [man-browser] 2.8.5-2 -- no debconf information
--- End Message ---
--- Begin Message ---Source: manpages Source-Version: 5.06-1 Done: [email protected] (Dr. Tobias Quathamer) We believe that the bug you reported is fixed in the latest version of manpages, 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. Dr. Tobias Quathamer <[email protected]> (supplier of updated manpages 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: SHA256 Format: 1.8 Date: Sun, 12 Apr 2020 15:15:19 +0200 Source: manpages Architecture: source Version: 5.06-1 Distribution: unstable Urgency: medium Maintainer: Dr. Tobias Quathamer <[email protected]> Changed-By: Dr. Tobias Quathamer <[email protected]> Closes: 947091 Changes: manpages (5.06-1) unstable; urgency=medium . * New upstream version 5.06 - Refresh patches - Document that timerfd_settime can fail with ECANCELED. Closes: #947091 * Update d/copyright * Disable usage of pristine-tar Checksums-Sha1: cc4c41154f00f8fef4e6f686dcdbca5ffc5a0ab4 1882 manpages_5.06-1.dsc 8be7ba49982aaac1786156c58703fe2a1cc01cf2 1703140 manpages_5.06.orig.tar.xz 7165ec890b86b8502329ee9320e707f4f1f0187b 76496 manpages_5.06-1.debian.tar.xz 2787fa709627d57888d2cd008617f8e89a40b215 5900 manpages_5.06-1_amd64.buildinfo Checksums-Sha256: 04fc03290107f7c95113cbf2a895941242a9a75899fa5ea64c9af5d47a310b00 1882 manpages_5.06-1.dsc 70b8a902a9daa0a596188c1925373199dbad590eb06d7c0e505c4b33e8bbfe50 1703140 manpages_5.06.orig.tar.xz 09e29614f0678fc9617526a9d2741d1c15141897c3c3a2170062c2b5076d6557 76496 manpages_5.06-1.debian.tar.xz 9b5262b99cf765a33aeba5ab9d25a344156b3bbc694e8a0d428d65a2487dfdd5 5900 manpages_5.06-1_amd64.buildinfo Files: 234677e885c9c8a8242d4083a379fa0b 1882 doc standard manpages_5.06-1.dsc df2054d875c83bbc0bc0cfb8f53f3d43 1703140 doc standard manpages_5.06.orig.tar.xz 4ded500c2e18ec272e5cb07aee20ad90 76496 doc standard manpages_5.06-1.debian.tar.xz 23fc7e07e2a4aa1927e2d4528e31ba80 5900 doc standard manpages_5.06-1_amd64.buildinfo -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEE0cuPObxd7STF0seMEwLx8Dbr6xkFAl6TGEMACgkQEwLx8Dbr 6xk3Iw//ZCpO2fbUWRO9GZA/9vhBnElqwye29YtixAmmP/BBy1Lafa2+4PdGg7dy qKPOrXAVuvKxJOBPKu03Swn6JlJljgxV57n0k1+U/k8flGAcRw8GixqVMwm0XDOI Lcl5AiUxZMIqqHqjxUBESgY7/No3/R77+PPT5JwKKbXgPM7OMZv3UWhlHjK3z0i3 qgfhx2LIbM/Xq6sC/SZ6c3pcchKWeMtGhqUiiYu0X2HJntubc7b7+wlXAO3Aq0z1 lBvfpOe7JNE0JRf6dqvmcff7dVI/lC+5Zf3zu0cwUykqi74TRNCXMd/SClGW6KQi dT27Hy8c/KCvIx+FRtzSMe7+mf8TDY5NmonioKbPH8pQHjKW70n2j9wwdcMovMh8 kp59hIbM3g16HeIj5GyZDyRcZl35+f9b32gSlYaVDYBoGMUoAOhbsfF+i7EIDriP nqtc6ssPFG7vNq0p9KDt8tDH04s27pCwZR15YNMLkOvc5lKf8eg+PWekLYfm5yL/ KkB3or/xlza0EiSEMiUk0cUqGxs00vgabOlAA8yrU1Hfx91S/xddPkdIIYvxkonO vobfRhZFRBarOQS4vZfXeiZDSW3IJn5tgULMaB/I5S73ubbWcfmXLbxL3jRqvDBh PJKJDW+zh1Wfq7CCgMWPazfIaTwyILepkqDqnJgpUfmT7xWwuUc= =Hd0O -----END PGP SIGNATURE-----
--- End Message ---

