On Wed, Nov 1, 2023 at 11:02 AM Maxim Kuvyrkov maxim.kuvyrkov@linaro.org wrote:
Hi Nick, Hi Nathan,
I don't see mistakes from CI here. Are you using tip-of-trunk LLVM?
This report was generated for LLVM revision llvmorg-18-init-10263-g1abd8d1a8d96 and linux revision v6.6-rc1-17-g1c6fdbd8f246 . The build log with errors is at [1].
It seems that a later commit in Linux kernel fixed some of the errors in [1], but still with the current linux.git:master 2 errors remain (see [2]):
00:28:15 fs/bcachefs/chardev.c:655:6: error: stack frame size (1032) exceeds limit (1024) in 'bch2_fs_ioctl' [-Werror,-Wframe-larger-than] 00:28:15 655 | long bch2_fs_ioctl(struct bch_fs *c, unsigned cmd, void __user *arg) 00:28:15 | ^ 00:28:15 1 error generated. 00:28:15 make[4]: *** [scripts/Makefile.build:243: fs/bcachefs/chardev.o] Error 1 00:29:39 fs/bcachefs/fs-common.c:356:5: error: stack frame size (1128) exceeds limit (1024) in 'bch2_rename_trans' [-Werror,-Wframe-larger-than] 00:29:39 356 | int bch2_rename_trans(struct btree_trans *trans, 00:29:39 | ^ 00:29:39 1 error generated.
These are different warnings in different object files than from the initial report.
Maybe bisection started due to those, but didn't notice different warnings going further back, because of -Werror, and reported the initial commit that was problematic (even if the warnings differed and were since fixed).
These errors are near-misses, so if you are using a different LLVM revision, they can disappear.
[1] https://ci.linaro.org/job/tcwg_kernel--llvm-master-arm-mainline-allmodconfig...
[2] https://ci.linaro.org/job/tcwg_kernel--llvm-master-arm-mainline-allmodconfig...
-- Maxim Kuvyrkov https://www.linaro.org
On Nov 1, 2023, at 21:22, Nathan Chancellor nathan@kernel.org wrote:
On Wed, Nov 01, 2023 at 08:54:26AM -0700, Nick Desaulniers wrote:
On Wed, Nov 1, 2023 at 7:42 AM ci_notify@linaro.org wrote:
Dear contributor, our automatic CI has detected problems related to your patch(es). Please find some details below. If you have any questions, please follow up on linaro-toolchain@lists.linaro.org mailing list, Libera's #linaro-tcwg channel, or ping your favourite Linaro toolchain developer on the usual project channel.
In CI config tcwg_kernel/llvm-master-arm-mainline-allmodconfig after:
ok, so ARCH=arm allmodconfig on mainline...
| commit v6.6-rc1-17-g1c6fdbd8f246 | Author: Kent Overstreet kent.overstreet@gmail.com | Date: Thu Mar 16 22:18:50 2017 -0800 | | bcachefs: Initial commit | | Initially forked from drivers/md/bcache, bcachefs is a new copy-on-write | filesystem with every feature you could possibly want. | | Website: https://bcachefs.org | | ... 1 lines of the commit log omitted.
Results changed to # reset_artifacts: -10 # build_abe binutils: -9 # build_kernel_llvm: -5 # build_abe qemu: -2 # linux_n_obj: 23730 # First few build errors in logs:
# 00:23:16 fs/bcachefs/btree_cache.h:45:43: error: array index 0 is past the end of the array (that has type 'const __u64[0]' (aka 'const unsigned long long[0]')) [-Werror,-Warray-bounds] # 00:23:17 fs/bcachefs/alloc.c:332:9: error: call to undeclared function 'COUNT_ARGS'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
^ $ file fs/bcachefs/alloc.c fs/bcachefs/alloc.c: cannot open `fs/bcachefs/alloc.c' (No such file or directory)
# 00:23:17 make[4]: *** [scripts/Makefile.build:243: fs/bcachefs/alloc.o] Error 1 # 00:23:29 fs/bcachefs/btree_cache.h:45:43: error: array index 0 is past the end of the array (that has type 'const __u64[0]' (aka 'const unsigned long long[0]')) [-Werror,-Warray-bounds] # 00:23:30 make[4]: *** [scripts/Makefile.build:243: fs/bcachefs/bset.o] Error 1
^ $ make LLVM=1 ARCH=arm allmodconfig fs/bcachefs/bset.o CC [M] fs/bcachefs/bset.o $
# 00:23:33 fs/bcachefs/btree_cache.h:45:43: error: array index 0 is past the end of the array (that has type 'const __u64[0]' (aka 'const unsigned long long[0]')) [-Werror,-Warray-bounds] # 00:23:33 fs/bcachefs/btree_cache.h:45:43: error: array index 0 is past the end of the array (that has type 'const __u64[0]' (aka 'const unsigned long long[0]')) [-Werror,-Warray-bounds] # 00:23:33 fs/bcachefs/btree_cache.c:67:9: error: array index 0 is past the end of the array (that has type 'const __u64[0]' (aka 'const unsigned long long[0]')) [-Werror,-Warray-bounds] # 00:23:33 fs/bcachefs/btree_cache.c:120:2: error: array index 0 is past the end of the array (that has type '__u64[0]' (aka 'unsigned long long[0]')) [-Werror,-Warray-bounds] # 00:23:33 fs/bcachefs/btree_cache.c:201:6: error: array index 0 is past the end of the array (that has type 'const __u64[0]' (aka 'const unsigned long long[0]')) [-Werror,-Warray-bounds]
$ make LLVM=1 ARCH=arm allmodconfig fs/bcachefs/btree_cache.o CC [M] fs/bcachefs/btree_cache.o $
... what's up with this report?
I cannot tell exactly from the information in this report but I suspect ARCH=arm allmodconfig is broken in mainline for other reasons (perhaps https://github.com/ClangBuiltLinux/linux/issues/1953?) and in trying to uncover that breakage in an automated fashion, it hit this build breakage and the bisect inadvertently switched to tracking down this already fixed set of warnings. I think this particular issue is resolved by Kent's recent array bounds fixes commit:
https://git.kernel.org/linus/5cfd69775eb5460ef78bb5034a37eb0dc52ab65d
Cheers, Nathan
From # reset_artifacts: -10 # build_abe binutils: -9 # build_kernel_llvm: -5 # build_abe qemu: -2 # linux_n_obj: 32815 # linux build successful: all # linux boot successful: boot
The configuration of this build is: CI config tcwg_kernel/llvm-master-arm-mainline-allmodconfig
-----------------8<--------------------------8<--------------------------8<-------------------------- The information below can be used to reproduce a debug environment:
Current build : https://ci.linaro.org/job/tcwg_kernel--llvm-master-arm-mainline-allmodconfig... Reference build : https://ci.linaro.org/job/tcwg_kernel--llvm-master-arm-mainline-allmodconfig...
Reproduce last good and first bad builds: https://git-us.linaro.org/toolchain/ci/interesting-commits.git/plain/linux/s...
Full commit : https://git.linaro.org/kernel-org/linux.git/commit/?id=1c6fdbd8f2465ddfb73a0...
Latest bug report status : https://linaro.atlassian.net/browse/LLVM-1015
List of configurations that regressed due to this commit :
- tcwg_kernel
** llvm-master-arm-mainline-allmodconfig *** Failure *** https://git-us.linaro.org/toolchain/ci/interesting-commits.git/plain/linux/s... *** https://ci.linaro.org/job/tcwg_kernel--llvm-master-arm-mainline-allmodconfig...
-- Thanks, ~Nick Desaulniers