threads / bug / 19083

[spurious parallel build bug] make -j fails with: "mv: mv: cannot stat `perl.mak': No such file or directory"

Subject: [spurious parallel build bug] make -j fails with: "mv: mv: cannot stat `perl.mak': No such file or directory"

## tl;dr

4 messages between Apr 27, 2009 and Apr 27, 2009.

replies: 3people: 3as markdown or json

Ingo Molnar· Apr 27, 2009, 09:48 UTC · lore
I got this when i built v1.6.3-rc3 for the first time:
$ make -j
[...]
    CC builtin-annotate.o
    CC builtin-apply.o
    CC builtin-archive.o
    CC builtin-bisect--helper.o
mv: mv: cannot stat `perl.mak': No such file or directory
mv: cannot stat `perl.mak': No such file or directory
    CC builtin-blame.o
mv: cannot stat `perl.mak': No such file or directory
mv: cannot stat `perl.mak': No such file or directory
cannot stat `perl.mak': No such file or directory
a plain 'make' worked.

Interestingly, a second attempt to reproduce it after a 'make clean' failed to trigger the bug. So it's either timing sensitive or there's some other weirdness that caused this.

	Ingo
Junio C Hamano· Apr 27, 2009, 17:01 UTC · re: Ingo Molnar · lore

Re: [spurious parallel build bug] make -j fails with: "mv: mv: cannot stat `perl.mak': No such file or directory"

Ingo Molnar <mingo@elte.hu> writes:
Show 20 quoted lines
> I got this when i built v1.6.3-rc3 for the first time:
>
> $ make -j
> [...]
>     CC builtin-annotate.o
>     CC builtin-apply.o
>     CC builtin-archive.o
>     CC builtin-bisect--helper.o
> mv: mv: cannot stat `perl.mak': No such file or directory
> mv: cannot stat `perl.mak': No such file or directory
>     CC builtin-blame.o
> mv: cannot stat `perl.mak': No such file or directory
> mv: cannot stat `perl.mak': No such file or directory
> cannot stat `perl.mak': No such file or directory
>
> a plain 'make' worked.
>
> Interestingly, a second attempt to reproduce it after a 'make clean' 
> failed to trigger the bug. So it's either timing sensitive or 
> there's some other weirdness that caused this.

I've seen this a few times on the master machine at k.org but haven't seen it elsewhere, perhaps because I do not have an access to 8-way parallelism anywhere else.

Ingo Molnar· Apr 27, 2009, 18:34 UTC · re: Junio C Hamano · lore

Re: [spurious parallel build bug] make -j fails with: "mv: mv: cannot stat `perl.mak': No such file or directory"

* Junio C Hamano <gitster@pobox.com> wrote:
Show 26 quoted lines
> Ingo Molnar <mingo@elte.hu> writes:
> 
> > I got this when i built v1.6.3-rc3 for the first time:
> >
> > $ make -j
> > [...]
> >     CC builtin-annotate.o
> >     CC builtin-apply.o
> >     CC builtin-archive.o
> >     CC builtin-bisect--helper.o
> > mv: mv: cannot stat `perl.mak': No such file or directory
> > mv: cannot stat `perl.mak': No such file or directory
> >     CC builtin-blame.o
> > mv: cannot stat `perl.mak': No such file or directory
> > mv: cannot stat `perl.mak': No such file or directory
> > cannot stat `perl.mak': No such file or directory
> >
> > a plain 'make' worked.
> >
> > Interestingly, a second attempt to reproduce it after a 'make 
> > clean' failed to trigger the bug. So it's either timing 
> > sensitive or there's some other weirdness that caused this.
> 
> I've seen this a few times on the master machine at k.org but 
> haven't seen it elsewhere, perhaps because I do not have an access 
> to 8-way parallelism anywhere else.

btw, this happened on a plain dual-core box. But i couldnt reproduce after that.

	Ingo
Jeff King· Apr 27, 2009, 20:19 UTC · re: Ingo Molnar · lore

Re: [spurious parallel build bug] make -j fails with: "mv: mv: cannot stat `perl.mak': No such file or directory"

On Mon, Apr 27, 2009 at 08:34:51PM +0200, Ingo Molnar wrote:
Show 6 quoted lines
> > I've seen this a few times on the master machine at k.org but 
> > haven't seen it elsewhere, perhaps because I do not have an access 
> > to 8-way parallelism anywhere else.
> 
> btw, this happened on a plain dual-core box. But i couldnt reproduce 
> after that.

I've seen it occasionally on a dual-core, as well, but was never able to track it down. I suspect it is caused by the fact that there are two rules which recurse into the perl subdir: perl/perl.mak, if needed, will recurse, as will "all". So I think we are losing the usual parallelism guard there, and we have two makes running inside "perl" at the same time, both of which then try to make perl.mak and step on each other.

But I still can't reproduce it at will, so it is hard to test.
-Peff

← back to recent threads