Bug#906085: gcc-8: 2 simultaneous threads of compilation cause machine shutdown

2018-08-13 Thread Arthur Marsh
Package: gcc-8
Version: 8.2.0-3
Severity: normal

Dear Maintainer,

*** Reporter, please consider answering these questions, where appropriate ***

   * What led up to the situation?

Building a kernel using

CONCURRENCY_LEVEL=2 \
MAKEFLAGS="HOSTCC=gcc-8 CC=gcc-8 LD=ld.gold V=1 VERBOSE=1 KCFLAGS=-march=pentium
4" make-kpkg \
--initrd --config menuconfig linux-image

results in machine shutdown. Setting CONCURRENCY_LEGVEL=1 avoids the problem.

Last 2 (concurrent) gcc-8 commands:

  gcc-8 -Wp,-MD,arch/x86/kernel/cpu/.transmeta.o.d  -nostdinc -isystem 
/usr/lib/gcc/i686-linux-gnu/8/include -I./arch/x86/include 
-I./arch/x86/include/generated  -I./include -I./arch/x86/include/uapi 
-I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi 
-include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h 
-D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs 
-fno-strict-aliasing -fno-common -fshort-wchar 
-Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -fno-PIE 
-DCC_HAVE_ASM_GOTO -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -m32 
-msoft-float -mregparm=3 -freg-struct-return -fno-pic 
-mpreferred-stack-boundary=2 -march=k8 -Wa,-mtune=generic32 -ffreestanding 
-DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 
-DCONFIG_AS_SSSE3=1 -DCONFIG_AS_CRC32=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1 
-DCONFIG_AS_AVX512=1 -DCONFIG_AS_SHA1_NI=1 -DCONFIG_AS_SHA256_NI=1 -pipe 
-Wno-sign-compare -fno-asynchronous-unwind-tables 
-mindirect-branch=thunk-extern -mindirect-branch-register -DRETPOLINE 
-fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation 
-Wno-format-overflow -Wno-int-in-bool-context -O2 
--param=allow-store-data-races=0 -Wframe-larger-than=2048 
-fstack-protector-strong -Wno-unused-but-set-variable 
-Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls 
-fno-var-tracking-assignments -g -fno-inline-functions-called-once 
-Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow 
-fno-merge-all-constants -fmerge-constants -fno-stack-check -fconserve-stack 
-Werror=implicit-int -Werror=strict-prototypes -Werror=date-time 
-Werror=incompatible-pointer-types -Werror=designated-init 
-fmacro-prefix-map=./= -Wno-packed-not-aligned -march=pentium4
-DKBUILD_BASENAME='"transmeta"' -DKBUILD_MODNAME='"transmeta"' -c -o 
arch/x86/kernel/cpu/transmeta.o arch/x86/kernel/cpu/transmeta.c
  gcc-8 -Wp,-MD,arch/x86/kernel/cpu/.umc.o.d  -nostdinc -isystem 
/usr/lib/gcc/i686-linux-gnu/8/include -I./arch/x86/include 
-I./arch/x86/include/generated  -I./include -I./arch/x86/include/uapi 
-I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi 
-include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h 
-D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs 
-fno-strict-aliasing -fno-common -fshort-wchar 
-Werror-implicit-function-declaration -Wno-format-security -std=gnu89 -fno-PIE 
-DCC_HAVE_ASM_GOTO -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -m32 
-msoft-float -mregparm=3 -freg-struct-return -fno-pic 
-mpreferred-stack-boundary=2 -march=k8 -Wa,-mtune=generic32 -ffreestanding 
-DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 
-DCONFIG_AS_SSSE3=1 -DCONFIG_AS_CRC32=1 -DCONFIG_AS_AVX=1 -DCONFIG_AS_AVX2=1 
-DCONFIG_AS_AVX512=1 -DCONFIG_AS_SHA1_NI=1 -DCONFIG_AS_SHA256_NI=1 -pipe 
-Wno-sign-compare -fno-asynchronous-unwind-tables 
-mindirect-branch=thunk-extern -mindirect-branch-register -DRETPOLINE 
-fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation 
-Wno-format-overflow -Wno-int-in-bool-context -O2 
--param=allow-store-data-races=0 -Wframe-larger-than=2048 
-fstack-protector-strong -Wno-unused-but-set-variable 
-Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls 
-fno-var-tracking-assignments -g -fno-inline-functions-called-once 
-Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow 
-fno-merge-all-constants -fmerge-constants -fno-stack-check -fconserve-stack 
-Werror=implicit-int -Werror=strict-prototypes -Werror=date-time 
-Werror=incompatible-pointer-types -Werror=designated-init 
-fmacro-prefix-map=./= -Wno-packed-not-aligned -march=pentium4
-DKBUILD_BASENAME='"umc"' -DKBUILD_MODNAME='"umc"' -c -o 
arch/x86/kernel/cpu/umc.o arch/x86/kernel/cpu/umc.c

This happens with the last few commits leading to linux kernel 4.18.

   * What exactly did you do (or not do) that was effective (or
 ineffective)?

setting CONCURRENCY_LEVEL=1 was effective but really slowed down kernel build.

   * What was the outcome of this action?
   * What outcome did you expect instead?

*** End of the template - remove these template lines ***


-- System Information:
Debian Release: buster/sid
  APT prefers oldstable
  APT policy: (500, 'oldstable'), (1, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 4.18.0+ (SMP w/2 CPU cores; PREEMPT)
Locale: LANG=en_

Bug#906085: gcc-8: 2 simultaneous threads of compilation cause machine shutdown

2018-08-13 Thread Bastian Blank
Hi Arthur

On Tue, Aug 14, 2018 at 08:32:18AM +0930, Arthur Marsh wrote:
> results in machine shutdown. Setting CONCURRENCY_LEGVEL=1 avoids the problem.

While gcc may use the system in unusual ways, it does not have the
permissions to shutdown a system.

If a user space program breaks a system, it is either a broken kernel or
broken hardware.

> -- System Information:
> Debian Release: buster/sid
>   APT prefers oldstable
>   APT policy: (500, 'oldstable'), (1, 'experimental')
> Architecture: i386 (i686)

buster and oldstable?  This policy makes no sense.

> Kernel: Linux 4.18.0+ (SMP w/2 CPU cores; PREEMPT)

I don't think we have unreleased kernels in Debian.  You may want to
re-chekc this using a released version.

Bastian

-- 
Humans do claim a great deal for that particular emotion (love).
-- Spock, "The Lights of Zetar", stardate 5725.6