2017-09-17 06:02:25

by Fengguang Wu

[permalink] [raw]
Subject: [linus:master] BUILD REGRESSION 2bd6bf03f4c1c59381d62c61d03f6cc3fe71f66e

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
2bd6bf03f4c1c59381d62c61d03f6cc3fe71f66e Linux 4.14-rc1

arch/alpha/include/asm/mmu_context.h:160:24: error: invalid type argument of '->' (have 'int')
arch/alpha/include/asm/mmu_context.h:160:2: error: implicit declaration of function 'task_thread_info' [-Werror=implicit-function-declaration]
arch/mips/vdso/elf.S:1:0: error: '-march=r3900' requires '-mfp32'
arch/mips/vdso/gettimeofday.c:1:0: error: '-march=r3900' requires '-mfp32'
arch/mips/vdso/sigreturn.S:1:0: error: '-march=r3900' requires '-mfp32'
arch/sparc/include/asm/mmu_context_64.h:22:37: error: unknown type name 'per_cpu_secondary_mm'
arch/sparc/include/asm/mmu_context_64.h:79:12: error: implicit declaration of function 'smp_processor_id' [-Werror=implicit-function-declaration]
arch/sparc/include/asm/mmu_context_64.h:81:10: error: 'per_cpu_secondary_mm' undeclared (first use in this function)
arch/sparc/include/asm/mmu_context_64.h:81:2: error: implicit declaration of function 'per_cpu' [-Werror=implicit-function-declaration]
cc1: error: '-march=r3900' requires '-mfp32'
drivers/clocksource/timer-of.h:35:28: error: field 'clkevt' has incomplete type
drivers/tty/serial/8250/8250_core.c:1094:1: error: unrecognizable insn:
drivers/tty/serial/8250/8250_core.c:1094:1: internal compiler error: in extract_insn, at recog.c:2287
ERROR: "__cmpxchg_u64" [drivers/net/ethernet/intel/i40e/i40e.ko] undefined!
include/linux/kernel.h:870:32: error: dereferencing pointer to incomplete type 'struct clock_event_device'
net//netfilter/nf_nat_core.c:810:2: note: in expansion of macro 'if'

Error ids grouped by kconfigs:

recent_errors
├── alpha-allmodconfig
│   ├── arch-alpha-include-asm-mmu_context.h:error:implicit-declaration-of-function-task_thread_info
│   └── arch-alpha-include-asm-mmu_context.h:error:invalid-type-argument-of-(have-int-)
├── cris-allyesconfig
│   ├── drivers-tty-serial-8250_core.c:error:unrecognizable-insn:
│   └── drivers-tty-serial-8250_core.c:internal-compiler-error:in-extract_insn-at-recog.c
├── ia64-allmodconfig
│   ├── drivers-clocksource-timer-of.h:error:field-clkevt-has-incomplete-type
│   └── include-linux-kernel.h:error:dereferencing-pointer-to-incomplete-type-struct-clock_event_device
├── ia64-allyesconfig
│   ├── drivers-clocksource-timer-of.h:error:field-clkevt-has-incomplete-type
│   └── include-linux-kernel.h:error:dereferencing-pointer-to-incomplete-type-struct-clock_event_device
├── mips-jmr3927_defconfig
│   ├── arch-mips-vdso-elf.S:error:march-r3900-requires-mfp32
│   ├── arch-mips-vdso-gettimeofday.c:error:march-r3900-requires-mfp32
│   ├── arch-mips-vdso-sigreturn.S:error:march-r3900-requires-mfp32
│   └── cc1:error:march-r3900-requires-mfp32
├── parisc-allmodconfig
│   └── ERROR:__cmpxchg_u64-drivers-net-ethernet-intel-i40e-i40e.ko-undefined
├── sparc64-allmodconfig
│   ├── arch-sparc-include-asm-mmu_context_64.h:error:implicit-declaration-of-function-per_cpu
│   ├── arch-sparc-include-asm-mmu_context_64.h:error:implicit-declaration-of-function-smp_processor_id
│   ├── arch-sparc-include-asm-mmu_context_64.h:error:per_cpu_secondary_mm-undeclared-(first-use-in-this-function)
│   └── arch-sparc-include-asm-mmu_context_64.h:error:unknown-type-name-per_cpu_secondary_mm
└── x86_64-randconfig-s4-09170918
└── net-netfilter-nf_nat_core.c:note:in-expansion-of-macro-if


i386-tinyconfig vmlinux size:

+-------+-----------------------------------+---------------------------------------------------------------------------+
| DELTA | SYMBOL | COMMIT |
+-------+-----------------------------------+---------------------------------------------------------------------------+
| +962 | TOTAL | f74370b86ec1..2bd6bf03f4c1 (ALL COMMITS) |
| +963 | TOTAL | fbf4432ff71b Merge branch 'akpm' (patches from Andrew) |
| +532 | TOTAL | dd198ce7141a Merge branch 'for-linus' of git://git.kernel.org/pub/scm/lin |
| +219 | TOTAL | 2554db916586 sched/wait: Break up long wake list walk |
| +143 | TOTAL | c353f88f3de4 Merge branch 'overlayfs-linus' of git://git.kernel.org/pub/s |
| +105 | TOTAL | 11a19c7b099f sched/wait: Introduce wakeup boomark in wake_up_page_bit |
| +78 | TOTAL | cc73fee0bae2 Merge branch 'work.ipc' of git://git.kernel.org/pub/scm/linu |
| +48 | TOTAL | e253d98f5bab Merge branch 'work.read_write' of git://git.kernel.org/pub/s |
| -54 | TOTAL | 52269718dc2c Merge tag 'dma-mapping-4.14' of git://git.infradead.org/user |
| -81 | TOTAL | 33f82bda0102 Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/ |
| -963 | TOTAL | c054be10ffdb remove gperf left-overs from build system |
| +904 | TEXT | f74370b86ec1..2bd6bf03f4c1 (ALL COMMITS) |
| +967 | TEXT | fbf4432ff71b Merge branch 'akpm' (patches from Andrew) |
| +468 | TEXT | dd198ce7141a Merge branch 'for-linus' of git://git.kernel.org/pub/scm/lin |
| +211 | TEXT | 2554db916586 sched/wait: Break up long wake list walk |
| +142 | TEXT | c353f88f3de4 Merge branch 'overlayfs-linus' of git://git.kernel.org/pub/s |
| +98 | TEXT | 11a19c7b099f sched/wait: Introduce wakeup boomark in wake_up_page_bit |
| +78 | TEXT | cc73fee0bae2 Merge branch 'work.ipc' of git://git.kernel.org/pub/scm/linu |
| +48 | TEXT | e253d98f5bab Merge branch 'work.read_write' of git://git.kernel.org/pub/s |
| -54 | TEXT | 52269718dc2c Merge tag 'dma-mapping-4.14' of git://git.infradead.org/user |
| -81 | TEXT | 33f82bda0102 Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/ |
| -967 | TEXT | c054be10ffdb remove gperf left-overs from build system |
| +58 | RODATA | f74370b86ec1..2bd6bf03f4c1 (ALL COMMITS) |
| +64 | RODATA | dd198ce7141a Merge branch 'for-linus' of git://git.kernel.org/pub/scm/lin |
| +537 | rb_erase_cached() | fbf4432ff71b Merge branch 'akpm' (patches from Andrew) |
| -537 | rb_erase_cached() | c054be10ffdb remove gperf left-overs from build system |
| +272 | cap_inode_getsecurity() | dd198ce7141a Merge branch 'for-linus' of git://git.kernel.org/pub/scm/lin |
| +256 | drivers/video/fbdev/owl/displays/ | 11a19c7b099f sched/wait: Introduce wakeup boomark in wake_up_page_bit |
| +256 | drivers/video/fbdev/owl/displays/ | e7cdb60fd28b Merge branch 'zstd-minimal' of git://git.kernel.org/pub/scm/ |
| +256 | drivers/video/fbdev/owl/displays/ | b38923a068c1 Merge tag 'firmware_removal-4.14-rc1' of git://git.kernel.or |
| +256 | drivers/video/fbdev/owl/displays/ | df85b2d767aa firmware: Restore support for built-in firmware |
| -256 | drivers/video/fbdev/owl/displays/ | 7a95bdb092c6 Merge branch 'akpm' (patches from Andrew) |
| -256 | drivers/video/fbdev/owl/displays/ | 30db202e54d2 Merge tag 'for-linus-4.14-ofs2' of git://git.kernel.org/pub/ |
| -256 | drivers/video/fbdev/owl/displays/ | 8d93c7a43157 Merge tag 'pci-v4.14-fixes-1' of git://git.kernel.org/pub/sc |
| -256 | drivers/video/fbdev/owl/displays/ | 2bd6bf03f4c1 Linux 4.14-rc1 |
| +218 | rb_insert_color_cached() | fbf4432ff71b Merge branch 'akpm' (patches from Andrew) |
| -218 | rb_insert_color_cached() | c054be10ffdb remove gperf left-overs from build system |
| +196 | cap_convert_nscap() | dd198ce7141a Merge branch 'for-linus' of git://git.kernel.org/pub/scm/lin |
| +144 | | f74370b86ec1..2bd6bf03f4c1 (ALL COMMITS) |
| +68 | | dd198ce7141a Merge branch 'for-linus' of git://git.kernel.org/pub/scm/lin |
| +58 | | c353f88f3de4 Merge branch 'overlayfs-linus' of git://git.kernel.org/pub/s |
| +34 | | 11a19c7b099f sched/wait: Introduce wakeup boomark in wake_up_page_bit |
| +125 | __wake_up_common() | 2554db916586 sched/wait: Break up long wake list walk |
| +112 | __wake_up_common_lock() | 2554db916586 sched/wait: Break up long wake list walk |
| +98 | vfs_writev() | 581bfce969cb Merge branch 'work.set_fs' of git://git.kernel.org/pub/scm/l |
| +82 | _vm_normal_page() | fbf4432ff71b Merge branch 'akpm' (patches from Andrew) |
| -82 | _vm_normal_page() | c054be10ffdb remove gperf left-overs from build system |
| +82 | vm_normal_page() | c054be10ffdb remove gperf left-overs from build system |
| -82 | vm_normal_page() | fbf4432ff71b Merge branch 'akpm' (patches from Andrew) |
| +77 | wake_up_page_bit() | 11a19c7b099f sched/wait: Introduce wakeup boomark in wake_up_page_bit |
| +74 | siginfo_layout() | dd198ce7141a Merge branch 'for-linus' of git://git.kernel.org/pub/scm/lin |
| +64 | filter | dd198ce7141a Merge branch 'for-linus' of git://git.kernel.org/pub/scm/lin |
| -98 | vfs_writev() | 581bfce969cb Merge branch 'work.set_fs' of git://git.kernel.org/pub/scm/l |
| -138 | copy_siginfo_to_user() | dd198ce7141a Merge branch 'for-linus' of git://git.kernel.org/pub/scm/lin |
+-------+-----------------------------------+---------------------------------------------------------------------------+

elapsed time: 407m

configs tested: 118

x86_64 acpi-redef
x86_64 allyesdebian
x86_64 nfsroot
i386 tinyconfig
x86_64 lkp
x86_64 rhel
x86_64 rhel-7.2
i386 randconfig-n0-201738
ia64 allnoconfig
ia64 defconfig
ia64 alldefconfig
parisc c3000_defconfig
parisc b180_defconfig
parisc defconfig
alpha defconfig
parisc allnoconfig
cris etrax-100lx_v2_defconfig
blackfin TCM-BF537_defconfig
blackfin BF561-EZKIT-SMP_defconfig
blackfin BF533-EZKIT_defconfig
blackfin BF526-EZBRD_defconfig
x86_64 randconfig-x011-201738
x86_64 randconfig-x016-201738
x86_64 randconfig-x013-201738
x86_64 randconfig-x018-201738
x86_64 randconfig-x019-201738
x86_64 randconfig-x014-201738
x86_64 randconfig-x012-201738
x86_64 randconfig-x015-201738
x86_64 randconfig-x017-201738
x86_64 randconfig-x010-201738
m68k sun3_defconfig
m68k multi_defconfig
m68k m5475evb_defconfig
i386 randconfig-s1-201738
i386 randconfig-s0-201738
mn10300 asb2364_defconfig
openrisc or1ksim_defconfig
um x86_64_defconfig
um i386_defconfig
frv defconfig
tile tilegx_defconfig
powerpc defconfig
s390 default_defconfig
powerpc ppc64_defconfig
powerpc allnoconfig
x86_64 randconfig-i0-201738+CONFIG_DEBUG_INFO_REDUCED
sparc defconfig
sparc64 allnoconfig
sparc64 defconfig
i386 randconfig-i1-201738
i386 randconfig-i0-201738+CONFIG_DEBUG_INFO_REDUCED
microblaze mmu_defconfig
microblaze nommu_defconfig
i386 randconfig-x013-201738
i386 randconfig-x019-201738
i386 randconfig-x018-201738
i386 randconfig-x016-201738
i386 randconfig-x012-201738
i386 randconfig-x015-201738
i386 randconfig-x011-201738
i386 randconfig-x010-201738
i386 randconfig-x017-201738
i386 randconfig-x014-201738
sh titan_defconfig
sh rsk7269_defconfig
sh sh7785lcr_32bit_defconfig
sh allnoconfig
i386 randconfig-x000-201738
i386 randconfig-x003-201738
i386 randconfig-x009-201738
i386 randconfig-x004-201738
i386 randconfig-x008-201738
i386 randconfig-x001-201738
i386 randconfig-x005-201738
i386 randconfig-x002-201738
i386 randconfig-x006-201738
i386 randconfig-x007-201738
c6x evmc6678_defconfig
xtensa common_defconfig
m32r m32104ut_defconfig
score spct6600_defconfig
xtensa iss_defconfig
m32r opsput_defconfig
m32r usrv_defconfig
m32r mappi3.smp_defconfig
nios2 10m50_defconfig
h8300 h8300h-sim_defconfig
x86_64 randconfig-x000-201738
x86_64 randconfig-x007-201738
x86_64 randconfig-x001-201738
x86_64 randconfig-x006-201738
x86_64 randconfig-x004-201738
x86_64 randconfig-x009-201738
x86_64 randconfig-x003-201738
x86_64 randconfig-x002-201738
x86_64 randconfig-x005-201738
x86_64 randconfig-x008-201738
i386 randconfig-x075-201738
i386 randconfig-x076-201738
i386 randconfig-x071-201738
i386 randconfig-x074-201738
i386 randconfig-x070-201738
i386 randconfig-x077-201738
i386 randconfig-x078-201738
i386 randconfig-x073-201738
i386 randconfig-x072-201738
i386 randconfig-x079-201738
i386 allnoconfig
i386 defconfig
i386 alldefconfig
mips jz4740
mips malta_kvm_defconfig
mips 64r6el_defconfig
mips 32r2_defconfig
mips allnoconfig
mips fuloong2e_defconfig
mips txx9

Thanks,
Fengguang


2017-09-17 15:31:59

by Linus Torvalds

[permalink] [raw]
Subject: Re: [linus:master] BUILD REGRESSION 2bd6bf03f4c1c59381d62c61d03f6cc3fe71f66e

Fengguang,
it looks like the kernel build robot _only_ tests the actual rc
kernels, and doesn't bisect down where the error started.

Any change that when it notices an error, it would bisect it, like it
does for linux-next?

Linus

On Sat, Sep 16, 2017 at 11:02 PM, kbuild test robot
<[email protected]> wrote:
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> 2bd6bf03f4c1c59381d62c61d03f6cc3fe71f66e Linux 4.14-rc1
>
> arch/alpha/include/asm/mmu_context.h:160:24: error: invalid type argument of '->' (have 'int')
...

2017-09-18 00:48:50

by Fengguang Wu

[permalink] [raw]
Subject: Re: [linus:master] BUILD REGRESSION 2bd6bf03f4c1c59381d62c61d03f6cc3fe71f66e

Hi Linus,

On Sun, Sep 17, 2017 at 08:31:56AM -0700, Linus Torvalds wrote:
>Fengguang,
> it looks like the kernel build robot _only_ tests the actual rc
>kernels, and doesn't bisect down where the error started.

Nah, that's an illusion. :)

It's a per-branch summary report _in addition to_ per-bisect reports.
The former shows all active (not-yet-fixed) error/warnings in the
current branch HEAD; the latter shows result of one bisect.

Typically for all error messages showed in this summary report, there
have been individual bisect reports sent out to the relevant authors
and committers. I'll give concrete examples in the bottom.

>Any change that when it notices an error, it would bisect it, like it
>does for linux-next?

It should already be so -- otherwise it's a bug in 0day robot. In fact
your tree _implicitly_ receives much more tests than linux-next, and
linux-next receives more tests than other individual developer trees.
It works like this:

The robot will normally test all pushed branch HEADs of all git trees.
IOW, each of your (and others') git push will trigger tests -- unless
when occasionally the robot cannot catch up.

The RC kernels will effectively receive _much more_ tests, since
developers typically base their git branches on RC releases. So
whenever they do git push, the triggered tests on their branch HEAD
will automatically cover its base RC kernel.

Whenever an error is found in a commit (typically the branch HEAD),
the robot will traverse backwards in its git history and test these
critical points until a GOOD point is found for starting the bisect:

- the branch's BASE commit (typically an RC kernel)
- the official releases (eg. 4.14 => 4.13 => 4.12 => ...)

We'll give up when the bug is found to exist in too old kernel, since
old bugs are likely either uninteresting (no one cares to fix) or hard
to bisect.

>On Sat, Sep 16, 2017 at 11:02 PM, kbuild test robot
><[email protected]> wrote:
>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
>> 2bd6bf03f4c1c59381d62c61d03f6cc3fe71f66e Linux 4.14-rc1
>>
>> arch/alpha/include/asm/mmu_context.h:160:24: error: invalid type argument of '->' (have 'int')

Error ids grouped by kconfigs:

recent_errors
├── alpha-allmodconfig
│ ├── arch-alpha-include-asm-mmu_context.h:error:implicit-declaration-of-function-task_thread_info
│ └── arch-alpha-include-asm-mmu_context.h:error:invalid-type-argument-of-(have-int-)

The bisect report was sent here:

https://lkml.org/lkml/2017/9/16/187

And a fix was freshly posted here:

https://patchwork.kernel.org/patch/9954963/

├── cris-allyesconfig
│ ├── drivers-tty-serial-8250_core.c:error:unrecognizable-insn:
│ └── drivers-tty-serial-8250_core.c:internal-compiler-error:in-extract_insn-at-recog.c

Bisected and reported here:

https://www.spinics.net/lists/linux-serial/msg27175.html

├── ia64-allmodconfig
│ ├── drivers-clocksource-timer-of.h:error:field-clkevt-has-incomplete-type
│ └── include-linux-kernel.h:error:dereferencing-pointer-to-incomplete-type-struct-clock_event_device

Reported here

https://www.spinics.net/lists/kernel/msg2556450.html

which may be fixed by this RFC patch:

https://patchwork.kernel.org/patch/9939191/

├── ia64-allyesconfig
│ ├── drivers-clocksource-timer-of.h:error:field-clkevt-has-incomplete-type
│ └── include-linux-kernel.h:error:dereferencing-pointer-to-incomplete-type-struct-clock_event_device

Ditto.

├── mips-jmr3927_defconfig
│ ├── arch-mips-vdso-elf.S:error:march-r3900-requires-mfp32
│ ├── arch-mips-vdso-gettimeofday.c:error:march-r3900-requires-mfp32
│ ├── arch-mips-vdso-sigreturn.S:error:march-r3900-requires-mfp32
│ └── cc1:error:march-r3900-requires-mfp32

That's rather old bug that I gave up repeatedly reporting:

https://www.linux-mips.org/archives/linux-mips/2016-03/msg00215.html

├── parisc-allmodconfig
│ └── ERROR:__cmpxchg_u64-drivers-net-ethernet-intel-i40e-i40e.ko-undefined

Reported here:

https://lkml.org/lkml/2017/9/10/100

├── sparc64-allmodconfig
│ ├── arch-sparc-include-asm-mmu_context_64.h:error:implicit-declaration-of-function-per_cpu
│ ├── arch-sparc-include-asm-mmu_context_64.h:error:implicit-declaration-of-function-smp_processor_id
│ ├── arch-sparc-include-asm-mmu_context_64.h:error:per_cpu_secondary_mm-undeclared-(first-use-in-this-function)
│ └── arch-sparc-include-asm-mmu_context_64.h:error:unknown-type-name-per_cpu_secondary_mm

Reported here:

https://lists.01.org/pipermail/kbuild-all/2017-August/037613.html
https://lists.01.org/pipermail/kbuild-all/2017-September/037968.html

And recently fixed here:

https://patchwork.kernel.org/patch/9946375/

└── x86_64-randconfig-s4-09170918
└── net-netfilter-nf_nat_core.c:note:in-expansion-of-macro-if

Reported here:

https://lkml.org/lkml/2017/9/16/203

As you may see, all the errors mentioned in this summary report have
been individually bisected and reported somewhere before.

Regards,
Fengguang

2017-09-19 02:29:21

by Philip Li

[permalink] [raw]
Subject: Re: [linus:master] BUILD REGRESSION 2bd6bf03f4c1c59381d62c61d03f6cc3fe71f66e

On Sun, Sep 17, 2017 at 08:31:56AM -0700, Linus Torvalds wrote:
> Fengguang,
> it looks like the kernel build robot _only_ tests the actual rc
> kernels, and doesn't bisect down where the error started.
hi Linus, the robot will also bisect down the error if issue is found
on linus repo.

The regression below is reported at below mail, with a reminder to author

https://lists.01.org/pipermail/kbuild-all/2017-September/038295.html

Hi Felix,

FYI, the error/warning still remains.

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 2bd6bf03f4c1c59381d62c61d03f6cc3fe71f66e
commit: 70539bd79500245cbb4c7af00572fcce540d0105 drm/amd: Update MEC HQD loading code for KFD
date: 5 weeks ago
config: alpha-allmodconfig (attached as .config)
compiler: alpha-linux-gnu-gcc (Debian 6.1.1-9) 6.1.1 20160705
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 70539bd79500245cbb4c7af00572fcce540d0105
# save the attached .config to linux build tree
make.cross ARCH=alpha

All errors (new ones prefixed by >>):

In file included from include/linux/mmu_context.h:4:0,
from drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h:29,
from drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c:23:
arch/alpha/include/asm/mmu_context.h: In function 'ev5_switch_mm':
>> arch/alpha/include/asm/mmu_context.h:160:2: error: implicit declaration of function 'task_thread_info' [-Werror=implicit-function-declaration]
task_thread_info(next)->pcb.asn = mmc & HARDWARE_ASN_MASK;
^~~~~~~~~~~~~~~~
>> arch/alpha/include/asm/mmu_context.h:160:24: error: invalid type argument of '->' (have 'int')
task_thread_info(next)->pcb.asn = mmc & HARDWARE_ASN_MASK;
^~
arch/alpha/include/asm/mmu_context.h: In function 'init_new_context':
arch/alpha/include/asm/mmu_context.h:238:24: error: invalid type argument of '->' (have 'int')
task_thread_info(tsk)->pcb.ptbr
>
> Any change that when it notices an error, it would bisect it, like it
> does for linux-next?
>
> Linus
>
> On Sat, Sep 16, 2017 at 11:02 PM, kbuild test robot
> <[email protected]> wrote:
> > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> > 2bd6bf03f4c1c59381d62c61d03f6cc3fe71f66e Linux 4.14-rc1
> >
> > arch/alpha/include/asm/mmu_context.h:160:24: error: invalid type argument of '->' (have 'int')
> ...
>