Due to an influx of spam, we have had to temporarily disable account registrations. Please write an email to accountsupport@archlinux.org, with your desired username, if you want to get access. Sorry for the inconvenience.
error: tst-preadvwritev2-common.c:113: preadv2 did not fail with an invalid flag
And their .c file says:
static voiddo_test_with_invalid_flags (void){ /* Set the next bit from the mask of all supported flags. */ int invalid_flag = RWF_SUPPORTED != 0 ? __builtin_clz (RWF_SUPPORTED) : 2; invalid_flag = 0x1 << ((sizeof (int) * CHAR_BIT) - invalid_flag); char buf[32]; const struct iovec vec = { .iov_base = buf, .iov_len = sizeof (buf) }; if (preadv2 (temp_fd, &vec, 1, 0, invalid_flag) != -1) FAIL_EXIT1 ("preadv2 did not fail with an invalid flag"); if (errno != ENOTSUP) FAIL_EXIT1 ("preadv2 failure did not set errno to ENOTSUP (%d)", errno); /* This might fail for compat syscall (32 bits running on 64 bits kernel) due a kernel issue. */ if (pwritev2 (temp_fd, &vec, 1, 0, invalid_flag) != -1) FAIL_EXIT1 ("pwritev2 did not fail with an invalid flag"); if (errno != ENOTSUP) FAIL_EXIT1 ("pwritev2 failure did not set errno to ENOTSUP (%d)", errno);}
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items ...
Show closed items
Linked items 0
Link issues together to show that they're related or that one is blocking others.
Learn more.
Can repro. Looks like a possible upstream kernel regression...or maybe glibc needs to adapt to latest kernels...
Toolybirdchanged title from Fails to build on recent kernels: check(): ./libtst-ldconfig-soname-lib-with-soname.so.1 '!=' ./libtst-ldconfig-soname-lib-with-soname.so.1 to New testsuite failures on recent kernels: misc/tst-preadvwritev2 misc/tst-preadvwritev64v2
changed title from Fails to build on recent kernels: check(): ./libtst-ldconfig-soname-lib-with-soname.so.1 '!=' ./libtst-ldconfig-soname-lib-with-soname.so.1 to New testsuite failures on recent kernels: misc/tst-preadvwritev2 misc/tst-preadvwritev64v2
I don't have the bandwidth right at this moment, but if anyone else would like to bisect the kernel to find out the root cause, you don't have to rebuild glibc every time. Should be able to simply grab the test binary /build/glibc/src/glibc-build/misc/tst-preadvwritev2 from a glibc build and run it:
$ ./tst-preadvwritev2error: tst-preadvwritev2-common.c:113: preadv2 did not fail with an invalid flagerror: 1 test failures
My bisection has landed me on the following commit:
commit 73fa7547c70b32cc69685f79be31135797734eb6Author: Rich Felker <dalias@libc.org>Date: Mon Aug 31 11:32:08 2020 -0400 vfs: add RWF_NOAPPEND flag for pwritev2 The pwrite function, originally defined by POSIX (thus the "p"), is defined to ignore O_APPEND and write at the offset passed as its argument. However, historically Linux honored O_APPEND if set and ignored the offset. This cannot be changed due to stability policy, but is documented in the man page as a bug. Now that there's a pwritev2 syscall providing a superset of the pwrite functionality that has a flags argument, the conforming behavior can be offered to userspace via a new flag. Since pwritev2 checks flag validity (in kiocb_set_rw_flags) and reports unknown ones with EOPNOTSUPP, callers will not get wrong behavior on old kernels that don't support the new flag; the error is reported and the caller can decide how to handle it. Signed-off-by: Rich Felker <dalias@libc.org> Link: https://lore.kernel.org/r/20200831153207.GO3265@brightrain.aerifal.cx Reviewed-by: Jann Horn <jannh@google.com> Signed-off-by: Christian Brauner <brauner@kernel.org>
Click to see bisect log
git bisect start# status: waiting for both good and bad commits# good: [f3d61438b613b87afb63118bea6fb18c50ba7a6b] Linux 6.8.9git bisect good f3d61438b613b87afb63118bea6fb18c50ba7a6b# status: waiting for bad commit, 1 good commit known# bad: [a38297e3fb012ddfa7ce0321a7e5a8daeb1872b6] Linux 6.9git bisect bad a38297e3fb012ddfa7ce0321a7e5a8daeb1872b6# good: [e8f897f4afef0031fe618a8e94127a0934896aba] Linux 6.8git bisect good e8f897f4afef0031fe618a8e94127a0934896aba# bad: [480e035fc4c714fb5536e64ab9db04fedc89e910] Merge tag 'drm-next-2024-03-13' of https://gitlab.freedesktop.org/drm/kernelgit bisect bad 480e035fc4c714fb5536e64ab9db04fedc89e910# bad: [9187210eee7d87eea37b45ea93454a88681894a4] Merge tag 'net-next-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-nextgit bisect bad 9187210eee7d87eea37b45ea93454a88681894a4# bad: [a01c9fe32378636ae65bec8047b5de3fdb2ba5c8] Merge tag 'nfsd-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linuxgit bisect bad a01c9fe32378636ae65bec8047b5de3fdb2ba5c8# bad: [691632f0e86973604678d193ccfa47b9614581aa] Merge tag 's390-6.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linuxgit bisect bad 691632f0e86973604678d193ccfa47b9614581aa# skip: [8ede842f669b6f78812349bbef4d1efd0fbdafce] Merge tag 'rust-6.9' of https://github.com/Rust-for-Linux/linuxgit bisect skip 8ede842f669b6f78812349bbef4d1efd0fbdafce# skip: [1a1e09890cf8fb2e088dab4e4f332cfb85d9b47f] Merge tag 'wq-for-6.9-bh-conversions' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wqgit bisect skip 1a1e09890cf8fb2e088dab4e4f332cfb85d9b47f# good: [dd1fac6ae648cac4e92ccc829e94750ddfed5e52] nfs: adapt to breakup of struct file_lockgit bisect good dd1fac6ae648cac4e92ccc829e94750ddfed5e52# skip: [ff887eb07cf69a5c0a507a1311fb34bcd38450aa] Merge tag 'wq-for-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wqgit bisect skip ff887eb07cf69a5c0a507a1311fb34bcd38450aa# good: [9b6713cc75229f25552c643083cbdbfb771e5bca] maple_tree: Add mtree_alloc_cyclic()git bisect good 9b6713cc75229f25552c643083cbdbfb771e5bca# good: [c4b3ffb508a0376643578365a4caacf681c5dc9e] Merge series 'filelock: split file leases out of struct file_lock' of https://lore.kernel.org/r/20240131-flsplit-v3-0-c6129007ee8d@kernel.orggit bisect good c4b3ffb508a0376643578365a4caacf681c5dc9e# good: [bbe37e3e351bce348b14d50240cd5be79542e203] s390/configs: increase number of LOCKDEP_BITSgit bisect good bbe37e3e351bce348b14d50240cd5be79542e203# good: [6f420d6a2dd8d4a795eab2839b0e08663269f9f8] pktcdvd: stop setting q->queuedatagit bisect good 6f420d6a2dd8d4a795eab2839b0e08663269f9f8# good: [f109207629552cb04c2a48e90abe7c481e363984] md/raid1-10: factor out a new helper raid1_should_read_first()git bisect good f109207629552cb04c2a48e90abe7c481e363984# good: [b7357ec21df979b9f72bac61df195dd30eab3381] irqchip/imgpdc: Convert to platform_driver::remove_new() callbackgit bisect good b7357ec21df979b9f72bac61df195dd30eab3381# good: [154fcf3a788868cb87d8c2e50c0b5b3a2fe89853] x86/msr: Prepare for including <linux/percpu.h> into <asm/msr.h>git bisect good 154fcf3a788868cb87d8c2e50c0b5b3a2fe89853# bad: [b29f377119f68b942369a9366bdcb1fec82b2cda] Merge tag 'x86-boot-2024-03-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tipgit bisect bad b29f377119f68b942369a9366bdcb1fec82b2cda# bad: [77417942e49017ff6d0b3d57b8974ab1d63d592c] Merge tag 'vfs-6.9.ntfs' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfsgit bisect bad 77417942e49017ff6d0b3d57b8974ab1d63d592c# good: [97ec9715a84e6f0979242e1ea98b9af1a39acf3b] Merge tag 'linux_kselftest-kunit-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftestgit bisect good 97ec9715a84e6f0979242e1ea98b9af1a39acf3b# bad: [cf12445daec01aaa2d27bb34bd7c796a53442c42] fs/hfsplus: use better @opf descriptiongit bisect bad cf12445daec01aaa2d27bb34bd7c796a53442c42# bad: [4b944f8ef99641d5af287c7d9df91d20ef5d3e88] Revert "mm/filemap: avoid buffered read/write race to read inconsistent data"git bisect bad 4b944f8ef99641d5af287c7d9df91d20ef5d3e88# bad: [73fa7547c70b32cc69685f79be31135797734eb6] vfs: add RWF_NOAPPEND flag for pwritev2git bisect bad 73fa7547c70b32cc69685f79be31135797734eb6# good: [6b6ec4ca4e33d797f887cb2d7ecf365b652b338c] eventfd: add a BUILD_BUG_ON() to ensure consistency between EFD_SEMAPHORE and the uapigit bisect good 6b6ec4ca4e33d797f887cb2d7ecf365b652b338c# good: [0f05ee447949cf1b72bd7c415c803ea7f7209403] selftests/filesystems:fix build error in overlayfsgit bisect good 0f05ee447949cf1b72bd7c415c803ea7f7209403# good: [9e3f1c59367515e7e40675fe83645a131c05039d] selftests/move_mount_set_group:Make tests build with old libcgit bisect good 9e3f1c59367515e7e40675fe83645a131c05039d# first bad commit: [73fa7547c70b32cc69685f79be31135797734eb6] vfs: add RWF_NOAPPEND flag for pwritev2
Well fsck me. Coulda sworn I checked latest glibc git before going off on a kernel bisection rabbit hole tangent...
@gromit, thank you for the bisection! And very sorry for not listening to my gut instinct and cottoning on earlier to the likelihood that it was already fixed.. Oops!
Toolybirdchanged title from New testsuite failures on recent kernels: misc/tst-preadvwritev2 misc/tst-preadvwritev64v2 to New testsuite failures on 6.9.x kernels: misc/tst-preadvwritev2 misc/tst-preadvwritev64v2
changed title from New testsuite failures on recent kernels: misc/tst-preadvwritev2 misc/tst-preadvwritev64v2 to New testsuite failures on 6.9.x kernels: misc/tst-preadvwritev2 misc/tst-preadvwritev64v2