Messages in this thread | | | From | Masahiro Yamada <> | Date | Wed, 9 Jun 2021 22:59:38 +0900 | Subject | Re: kbuild: Ctrl-C of parallel kernel build sometimes corrupts .o.cmd files permanently |
| |
On Fri, Jun 4, 2021 at 12:22 PM Masahiro Yamada <masahiroy@kernel.org> wrote: > > On Thu, Jun 3, 2021 at 9:44 PM Ingo Molnar <mingo@kernel.org> wrote: > > > > > > * Ingo Molnar <mingo@kernel.org> wrote: > > > > > > CC security/keys/keyctl_pkey.o > > > > CC kernel/sys.o > > > > CC arch/x86/power/hibernate_64.o > > > > ^Cmake[5]: *** Deleting file 'drivers/video/fbdev/core/fbcmap.o' <---- Deleting > > > > make[5]: *** [scripts/Makefile.build:272: > > > > drivers/video/fbdev/core/fbmon.o] Interrupt > > > > make[3]: *** [scripts/Makefile.build:272: security/selinux/nlmsgtab.o] Interrupt > > > > make[2]: *** [scripts/Makefile.build:272: arch/x86/power/cpu.o] Interrupt > > > > make[2]: *** [scripts/Makefile.build:272: > > > > > > Interestingly I don't get *any* interruption messages at all: > > > > > > CC drivers/dma/dw/acpi.o > > > CC sound/pci/ice1712/ice1712.o > > > CC drivers/char/ipmi/ipmi_watchdog.o > > > CC fs/overlayfs/export.o > > > CC fs/nls/nls_cp936.o > > > CC drivers/char/ipmi/ipmi_poweroff.o > > > ^Ckepler:~/tip> > > > > > > The '^C' there - it just stops, make never prints anything for me. > > > > Found something - seems to be related whether the build is going into a > > pipe or not. > > > > > > I usually build this way (directly or via a script): > > > > make -j96 bzImage ARCH=x86 2>&1 | tee e > > > > Ctrl-C interruption is not handled by kbuild in this case: > > > > CC fs/jffs2/xattr_trusted.o > > CC sound/firewire/motu/motu-transaction.o > > CC sound/usb/clock.o > > ^Ckepler:~/tip> > > > > Immediate prompt - no cleanup sequence. > > > > But if I do it without 'tee', I get the expected cleanup sequence by make: > > > > kepler:~/tip> make -j96 bzImage ARCH=x86 2>&1 > > > > CC fs/jffs2/acl.o > > CC sound/pci/echoaudio/mona.o > > CC fs/nls/nls_iso8859-9.o > > ^Cmake[2]: *** Deleting file 'drivers/reset/core.o' > > make[3]: *** Deleting file 'sound/pci/mixart/mixart.o' > > make[3]: *** Deleting file 'sound/pci/emu10k1/voice.o' > > make[2]: *** Deleting file 'fs/gfs2/aops.o' > > > > Thanks, > > > > Ingo > > > > Hmm, I do not know why GNU Make behaves like this... > > I will ask about this in GNU Make ML.
https://lists.gnu.org/archive/html/help-make/2021-06/msg00001.html
In short, 'tee' was also interrupted, then 'make' got SIGPIPE, which terminated the app due to the default behavior.
-- Best Regards Masahiro Yamada
| |