RFR: 8326953: Possible race in creation of win-exports.def

Magnus Ihse Bursie ihse at openjdk.org
Wed Feb 28 14:29:55 UTC 2024


On Wed, 28 Feb 2024 12:26:54 GMT, Magnus Ihse Bursie <ihse at openjdk.org> wrote:

> We have seen a build failure along the lines of:
> 
>  /usr/bin/mv: cannot move '.../build/windows-x64-open-debug/hotspot/variant-server/libjvm/win-exports.def.tmp' to '.../build/windows-x64-open-debug/hotspot/variant-server/libjvm/win-exports.def': No such file or directory
> 
> on Windows.
> 
> My guess is that this is a race between creating the win-export.def file for the gtest jvm and the product jvm.

This did not help. Either it is fully misdirected, or it is not enough. It seems reasonable that the gtest jvm should depend on the gtest ALL_OBJ; I think this was the case for the old mapfiles (even though the incestuous relationship between the proper jvm and the gtest jvm makes it hard to reason about them), so if that is a correct assumption, this would fix a potential regression.

My next guess is that this is correlated to `hotspot-static-libs`. I have not seen the failure on GHA, but only on the Oracle CI, where we build with static libs. That seems more reasonable to produce a race; the static libs functionality appeared while I was away, but I think it just runs the entire CompileJvm.gmk once more with STATIC_LIBS set to true, with no coordination wrt the normal build, so it can very well end up executing the same rule twice.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/18043#issuecomment-1969046252


More information about the build-dev mailing list