RFR: 8337283: configure.log is truncated when build dir is on different filesystem
Thomas Stuefe
stuefe at openjdk.org
Sun Jul 28 14:43:31 UTC 2024
On Fri, 26 Jul 2024 16:21:33 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:
> I noticed that `build/$confname/configure.log` was truncated on some of my build nodes. Turns out, we are moving configure.log from tree root to that place a bit prematurely.
>
> We move `configure.log` here:
> https://github.com/openjdk/jdk/blob/4f194f10a1481cdc9df4e6338f6cabd07a34c84c/make/autoconf/basic.m4#L594-L618
>
> ...and that is called here:
> https://github.com/openjdk/jdk/blob/4bcb8f04ed3623da7c84dda28017f473cbc97e53/make/autoconf/configure.ac#L314-L321
>
> Or, before we print configuration summary.
>
> Now, this works most of the time by accident: when root dir and build dir are on the same filesystem, the file move does not interfere with inodes/FDs, and we are still able to write to the same file _after_ we moved. But if build dir is on _another_ filesystem, then we miss writing the configuration summary when file moves away.
>
> Apparently, my systems fall into that trap, since build dir is on RAM disk.
Good catch.
-------------
Marked as reviewed by stuefe (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/20356#pullrequestreview-2203505147
More information about the build-dev
mailing list