* Possibility of a ${srcdir}/info/dir target race?
@ 2014-10-22 19:13 Rob Browning
2014-10-22 20:11 ` Stefan Monnier
0 siblings, 1 reply; 13+ messages in thread
From: Rob Browning @ 2014-10-22 19:13 UTC (permalink / raw)
To: emacs-devel
I'm currently investigating a 24.4 build failure on s390x which is
beginning to look like it might be a make -j2 race (the Debian buildds
use -j2) with respect to the info/dir target:
https://buildd.debian.org/status/package.php?p=emacs24&suite=experimental
Success: https://buildd.debian.org/status/fetch.php?pkg=emacs24&arch=i386&ver=24.4%2B1-1&stamp=1413961402
Failure: https://buildd.debian.org/status/fetch.php?pkg=emacs24&arch=s390x&ver=24.4%2B1-1&stamp=1413962421
Running the build in a sid chroot on zelenka (s390x porter box) by hand,
both with (and once) without -j2 works fine, but of course that doesn't
provide any definitive answer.
And please note that the problem might well be the fault of (my) Debian
modifications, but I thought I'd go ahead and ask here (while still
investigating) in case this rings a bell.
Thanks
--
Rob Browning
rlb @defaultvalue.org and @debian.org
GPG as of 2011-07-10 E6A9 DA3C C9FD 1FF8 C676 D2C4 C0F0 39E9 ED1B 597A
GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Possibility of a ${srcdir}/info/dir target race?
2014-10-22 19:13 Possibility of a ${srcdir}/info/dir target race? Rob Browning
@ 2014-10-22 20:11 ` Stefan Monnier
2014-10-22 21:22 ` Glenn Morris
2014-10-22 23:55 ` Rob Browning
0 siblings, 2 replies; 13+ messages in thread
From: Stefan Monnier @ 2014-10-22 20:11 UTC (permalink / raw)
To: Rob Browning; +Cc: emacs-devel
> I'm currently investigating a 24.4 build failure on s390x which is
> beginning to look like it might be a make -j2 race (the Debian buildds
> use -j2) with respect to the info/dir target:
Such races are possible, of course, but lots of us use "-j2" or more to
build Emacs, I expect, so if that's the problem, you probably
got very unlucky.
Stefan
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Possibility of a ${srcdir}/info/dir target race?
2014-10-22 20:11 ` Stefan Monnier
@ 2014-10-22 21:22 ` Glenn Morris
2014-10-22 23:18 ` Rob Browning
2014-10-22 23:55 ` Rob Browning
1 sibling, 1 reply; 13+ messages in thread
From: Glenn Morris @ 2014-10-22 21:22 UTC (permalink / raw)
To: Stefan Monnier; +Cc: Rob Browning, emacs-devel
Stefan Monnier wrote:
>> I'm currently investigating a 24.4 build failure on s390x which is
>> beginning to look like it might be a make -j2 race (the Debian buildds
>> use -j2) with respect to the info/dir target:
>
> Such races are possible, of course, but lots of us use "-j2" or more to
> build Emacs, I expect, so if that's the problem, you probably
> got very unlucky.
I don't even see how it's possible, since this rule uses $$ to get a
different random number in the file name each time it runs.
(I also don't see why this rule runs at all, since info/ is pre-built in
release tarfiles. Presumably Debian-specific changes.)
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Possibility of a ${srcdir}/info/dir target race?
2014-10-22 21:22 ` Glenn Morris
@ 2014-10-22 23:18 ` Rob Browning
0 siblings, 0 replies; 13+ messages in thread
From: Rob Browning @ 2014-10-22 23:18 UTC (permalink / raw)
To: Glenn Morris, Stefan Monnier; +Cc: emacs-devel
Glenn Morris <rgm@gnu.org> writes:
> (I also don't see why this rule runs at all, since info/ is pre-built in
> release tarfiles. Presumably Debian-specific changes.)
Right -- that part is Debian specific (and expected).
Thanks
--
Rob Browning
rlb @defaultvalue.org and @debian.org
GPG as of 2011-07-10 E6A9 DA3C C9FD 1FF8 C676 D2C4 C0F0 39E9 ED1B 597A
GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Possibility of a ${srcdir}/info/dir target race?
2014-10-22 20:11 ` Stefan Monnier
2014-10-22 21:22 ` Glenn Morris
@ 2014-10-22 23:55 ` Rob Browning
2014-10-23 3:41 ` Paul Eggert
1 sibling, 1 reply; 13+ messages in thread
From: Rob Browning @ 2014-10-22 23:55 UTC (permalink / raw)
To: Stefan Monnier; +Cc: emacs-devel
Stefan Monnier <monnier@iro.umontreal.ca> writes:
> Such races are possible, of course, but lots of us use "-j2" or more to
> build Emacs, I expect, so if that's the problem, you probably
> got very unlucky.
So far I'm not sure how the buildd output in question could have been
produced, unless make-info-dir is failing internally. (I suppose that's
possible, if unlikely, since it doesn't check for failures when invoking
cp, etc.)
In the output we have:
(cd . && ./build-aux/make-info-dir ${thisdir}/${tempfile}); \
./build-aux/move-if-change ${tempfile} ./info/dir
Creating /«BUILDDIR»/emacs24-24.4+1/debian/build-nox/info-dir.30059...
[...]
make[4]: Entering directory '/«BUILDDIR»/emacs24-24.4+1/debian/build-nox/doc/misc'
[...]
Created /«BUILDDIR»/emacs24-24.4+1/debian/build-nox/info-dir.30059
At this point, unless the unconditional "cp $basefile $outfile" command
in make-info-dir failed, then info-dir.30059 should exist. But then
immediately afterward we see:
mv: cannot move 'info-dir.30059' to './info/dir': No such file or directory
Which means that either the file never existed, or it was somehow
deleted before move-if-change (assuming that's the source of the mv)
gets to it.
--
Rob Browning
rlb @defaultvalue.org and @debian.org
GPG as of 2011-07-10 E6A9 DA3C C9FD 1FF8 C676 D2C4 C0F0 39E9 ED1B 597A
GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Possibility of a ${srcdir}/info/dir target race?
2014-10-22 23:55 ` Rob Browning
@ 2014-10-23 3:41 ` Paul Eggert
2014-10-23 5:32 ` Glenn Morris
` (2 more replies)
0 siblings, 3 replies; 13+ messages in thread
From: Paul Eggert @ 2014-10-23 3:41 UTC (permalink / raw)
To: Rob Browning; +Cc: emacs-devel
Rob Browning wrote:
> mv: cannot move 'info-dir.30059' to './info/dir': No such file or directory
>
> Which means that either the file never existed, or it was somehow
> deleted
... or the directory './info' doesn't exist, and that indeed is a race.
I fixed this bug in trunk bzr 118181, along with another bug (wildcards weren't
expanded in dependencies) and some performance tuneups. It's not urgent to
apply these changes to the emacs-24 branch as the problems shouldn't occur when
building from an Emacs source distribution.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Possibility of a ${srcdir}/info/dir target race?
2014-10-23 3:41 ` Paul Eggert
@ 2014-10-23 5:32 ` Glenn Morris
2014-10-23 5:49 ` Glenn Morris
2014-10-23 5:38 ` Glenn Morris
2014-10-23 15:43 ` Rob Browning
2 siblings, 1 reply; 13+ messages in thread
From: Glenn Morris @ 2014-10-23 5:32 UTC (permalink / raw)
To: Paul Eggert; +Cc: Rob Browning, emacs-devel
Paul Eggert wrote:
> ... or the directory './info' doesn't exist, and that indeed is a race.
Why would info/, which is included in release tarfiles and not deleted
by any rule AFAICS, go missing?
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Possibility of a ${srcdir}/info/dir target race?
2014-10-23 3:41 ` Paul Eggert
2014-10-23 5:32 ` Glenn Morris
@ 2014-10-23 5:38 ` Glenn Morris
2014-10-23 6:36 ` Paul Eggert
2014-10-23 15:22 ` Rob Browning
2014-10-23 15:43 ` Rob Browning
2 siblings, 2 replies; 13+ messages in thread
From: Glenn Morris @ 2014-10-23 5:38 UTC (permalink / raw)
To: Paul Eggert; +Cc: Rob Browning, emacs-devel
Paul Eggert wrote:
> I fixed this bug in trunk bzr 118181, along with another bug
> (wildcards weren't expanded in dependencies) and some performance
> tuneups. It's not urgent to apply these changes to the emacs-24
> branch as the problems shouldn't occur when building from an Emacs
> source distribution.
Surely the actual relevant change is only to add ${MKDIR_P}
${srcdir}/info, which could easily have been applied to emacs-24, only
it's mixed in with unrelated performance improvements?
And the "wildcards" thing is only relevant if you've deleted
every texi file from doc/misc (which even Debian doesn't do)?
Similar constructs have been used for years in eg lisp/Makefile.in
lisptagsfiles etc.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Possibility of a ${srcdir}/info/dir target race?
2014-10-23 5:32 ` Glenn Morris
@ 2014-10-23 5:49 ` Glenn Morris
2014-10-23 15:20 ` Rob Browning
0 siblings, 1 reply; 13+ messages in thread
From: Glenn Morris @ 2014-10-23 5:49 UTC (permalink / raw)
To: Paul Eggert; +Cc: Rob Browning, emacs-devel
Glenn Morris wrote:
> Paul Eggert wrote:
>
>> ... or the directory './info' doesn't exist, and that indeed is a race.
>
> Why would info/, which is included in release tarfiles and not deleted
> by any rule AFAICS, go missing?
Oh, bootstrap-clean deletes it.
No idea why that would be run when building from a tarfile.
(Does the Debian build process really need to diverge from the normal
tarfile build process so much?)
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Possibility of a ${srcdir}/info/dir target race?
2014-10-23 5:38 ` Glenn Morris
@ 2014-10-23 6:36 ` Paul Eggert
2014-10-23 15:22 ` Rob Browning
1 sibling, 0 replies; 13+ messages in thread
From: Paul Eggert @ 2014-10-23 6:36 UTC (permalink / raw)
To: Glenn Morris; +Cc: Rob Browning, emacs-devel
Glenn Morris wrote:
> Surely the actual relevant change is only to add ${MKDIR_P}
> ${srcdir}/info, which could easily have been applied to emacs-24, only
> it's mixed in with unrelated performance improvements?
I didn't bother, because I didn't think any part of the change should be applied
to emacs-24. As you mentioned, an 'info' dir shouldn't go missing with any
normal use of an Emacs distribution tarball. The Debian build process is quite
specialized and surely the Debian folks can get it to work themselves, e.g., by
doing a "mkdir info" after the "make bootstrap-clean" (or better yet, omit the
bootstrap-clean).
> Similar constructs have been used for years in eg lisp/Makefile.in
> lisptagsfiles etc.
Ah, sorry, I was wrong about the wildcards. I didn't know that GNU make
expanded wildcards in prerequisites. So that part of the change didn't fix any
bugs (though the use of the 'wildcard' function is still helpful). I have fixed
the corresponding ChangeLog entry accordingly, in trunk bzr 118182. That bzr
also removes a couple of other calls to 'wildcard' that were present only
because of the same misunderstanding of how wildcards work in prerequisites.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Possibility of a ${srcdir}/info/dir target race?
2014-10-23 5:49 ` Glenn Morris
@ 2014-10-23 15:20 ` Rob Browning
0 siblings, 0 replies; 13+ messages in thread
From: Rob Browning @ 2014-10-23 15:20 UTC (permalink / raw)
To: Glenn Morris, Paul Eggert; +Cc: emacs-devel
Glenn Morris <rgm@gnu.org> writes:
> (Does the Debian build process really need to diverge from the normal
> tarfile build process so much?)
It's quite likely that the way I handle things can be improved, but the
current approach is due to:
- The DFSG split (unfortunately)
- History/accretion[1]
- Debian's need to keep regularly updated auto* files (architectures)
- My desire to maintain the package as branches of the upstream git
repository (via git-dpm)
[1] As an example (if I don't misremember), at least in the past the
build process might alter the shipped .elc files in the source tree,
which caused difficulties with respect to the Debian diff (also
affected by the fact that Debian patches some .el files -- though
I've been steadily reducing that).
However I eventually just switched to a brute-force approach, where
we make three entire copies of the source in
debian/build-{x,nox,lucid}, so that may not be an issue anymore.
Hope this helps
--
Rob Browning
rlb @defaultvalue.org and @debian.org
GPG as of 2011-07-10 E6A9 DA3C C9FD 1FF8 C676 D2C4 C0F0 39E9 ED1B 597A
GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Possibility of a ${srcdir}/info/dir target race?
2014-10-23 5:38 ` Glenn Morris
2014-10-23 6:36 ` Paul Eggert
@ 2014-10-23 15:22 ` Rob Browning
1 sibling, 0 replies; 13+ messages in thread
From: Rob Browning @ 2014-10-23 15:22 UTC (permalink / raw)
To: Glenn Morris, Paul Eggert; +Cc: emacs-devel
Glenn Morris <rgm@gnu.org> writes:
> And the "wildcards" thing is only relevant if you've deleted
> every texi file from doc/misc (which even Debian doesn't do)?
We don't -- we currently leave efaq*.texi. The rest move to the
non-dfsg package(s).
--
Rob Browning
rlb @defaultvalue.org and @debian.org
GPG as of 2011-07-10 E6A9 DA3C C9FD 1FF8 C676 D2C4 C0F0 39E9 ED1B 597A
GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Possibility of a ${srcdir}/info/dir target race?
2014-10-23 3:41 ` Paul Eggert
2014-10-23 5:32 ` Glenn Morris
2014-10-23 5:38 ` Glenn Morris
@ 2014-10-23 15:43 ` Rob Browning
2 siblings, 0 replies; 13+ messages in thread
From: Rob Browning @ 2014-10-23 15:43 UTC (permalink / raw)
To: Paul Eggert; +Cc: emacs-devel
Paul Eggert <eggert@cs.ucla.edu> writes:
> I fixed this bug in trunk bzr 118181, along with another bug (wildcards weren't
> expanded in dependencies) and some performance tuneups. It's not urgent to
> apply these changes to the emacs-24 branch as the problems shouldn't occur when
> building from an Emacs source distribution.
Great, and thanks. I'll add the mkdir to Debian's 24.4+1-3.
--
Rob Browning
rlb @defaultvalue.org and @debian.org
GPG as of 2011-07-10 E6A9 DA3C C9FD 1FF8 C676 D2C4 C0F0 39E9 ED1B 597A
GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2014-10-23 15:43 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-22 19:13 Possibility of a ${srcdir}/info/dir target race? Rob Browning
2014-10-22 20:11 ` Stefan Monnier
2014-10-22 21:22 ` Glenn Morris
2014-10-22 23:18 ` Rob Browning
2014-10-22 23:55 ` Rob Browning
2014-10-23 3:41 ` Paul Eggert
2014-10-23 5:32 ` Glenn Morris
2014-10-23 5:49 ` Glenn Morris
2014-10-23 15:20 ` Rob Browning
2014-10-23 5:38 ` Glenn Morris
2014-10-23 6:36 ` Paul Eggert
2014-10-23 15:22 ` Rob Browning
2014-10-23 15:43 ` Rob Browning
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.