lkml.org 
[lkml]   [2021]   [Jun]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: 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

\
 
 \ /
  Last update: 2021-06-09 16:00    [W:0.091 / U:0.364 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site