[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAK7LNARYuP70tz-dV+MfrpRke_3UvZ9wqqS2X8-FR9eXjcBmWQ@mail.gmail.com>
Date: Wed, 9 Jun 2021 22:59:38 +0900
From: Masahiro Yamada <masahiroy@...nel.org>
To: Ingo Molnar <mingo@...nel.org>
Cc: Michal Marek <michal.lkml@...kovi.net>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
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@...nel.org> wrote:
>
> On Thu, Jun 3, 2021 at 9:44 PM Ingo Molnar <mingo@...nel.org> wrote:
> >
> >
> > * Ingo Molnar <mingo@...nel.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
Powered by blists - more mailing lists