RFR: 8323675: Race in jdk.javadoc-gendata [v2]

Magnus Ihse Bursie ihse at openjdk.org
Fri Jan 19 09:47:28 UTC 2024


On Thu, 18 Jan 2024 23:05:48 GMT, Erik Joelsson <erikj at openjdk.org> wrote:

>> Looking at `make/modules/jdk.javadoc/Gendata.gmk` the recipe never references `$(JDK_OUTPUTDIR)/modules/`, the output dir where the compiled classes are located. It only references the output of `$(call GetModuleSrcPath)` (and some static src dirs), so I'm pretty confident that this is correct.
>
> Somewhat related to this, while investigating another bug and with this PR fresh in memory, I think we are missing another dependency. 
> 
> In `make/modules/jdk.javadoc/Gendata.gmk`, we are copying the generated files into `jdk.javadoc.interim` (part of interim langtools). This makes me believe that the generated files are needed when we use `NEW_JAVADOC` from interim langtools to build the API docs for the JDK. However, there is no dependency declared from any of the `docs-*-api-javadoc` targets to `jdk.javadoc-gendata`, so if this works today, it's just by luck.
> 
> I see two possible outcomes:
> 
> 1. If the generated files from `jdk.javadoc-gendata` are expected to be present and used when generating the main API docs for the JDK, then we need to add dependencies for that.
> 2. If the generated files aren't actually needed, we should stop copying them to avoid unnecessary work and non deterministic behavior.
> 
> Not sure if we should hijack this PR for this problem, probably better to file a separate issue. @lahodaj what do you think about this?

Let's treat that in a separate issue. It is, after all, a separate issue. :-)

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

PR Review Comment: https://git.openjdk.org/jdk/pull/17402#discussion_r1458676647


More information about the build-dev mailing list