RFR: 8323675: Race in jdk.javadoc-gendata

Erik Joelsson erikj at openjdk.org
Fri Jan 12 17:39:21 UTC 2024


On Fri, 12 Jan 2024 15:05:46 GMT, Magnus Ihse Bursie <ihse at openjdk.org> wrote:

> In [JDK-8318913](https://bugs.openjdk.org/browse/JDK-8318913), the symbolgenerator started to look at current sources as well. This means that the gensrc stage needs to be completed before this is run. A dependency was added for jdk.compiler-gendata, but unfortunately the same tool is run also in jdk.javadoc-gendata, where no such safeguard was created.
> 
> The result is that the build can fail intermittently with:
> 
> .../module-info.java:77: error: module not found on module source path
> module java.base {
> ^
> error: cannot access module-info
>   cannot resolve modules
> Exception in thread "main" java.lang.AssertionError
> at jdk.compiler.interim/com.sun.tools.javac.util.Assert.error(Assert.java:155)
> at jdk.compiler.interim/com.sun.tools.javac.util.Assert.checkNonNull(Assert.java:62)
> at jdk.compiler.interim/com.sun.tools.javac.comp.Modules.allModules(Modules.java:1225)
> at jdk.compiler.interim/com.sun.tools.javac.comp.Modules.getObservableModule(Modules.java:1450)
> at jdk.compiler.interim/com.sun.tools.javac.model.JavacElements.getModuleElement(JavacElements.java:144)
> at jdk.compiler.interim/com.sun.tools.javac.model.JavacElements.getModuleElement(JavacElements.java:89)
> at build.tools.symbolgenerator.JavadocElementList.main(JavadocElementList.java:98)
> Compiling up to 2 files for BUILD_BREAKITERATOR_BASE
> Compiling up to 2 files for BUILD_BREAKITERATOR_LD
> make[3]: *** [.../_element_lists.marker] Error 1
> Gendata.gmk:74: recipe for target '.../_element_lists.marker' failed

make/Main.gmk line 975:

> 973:   # It needs all generated java code present.
> 974:   jdk.compiler-gendata: $(JAVA_TARGETS)
> 975:   jdk.javadoc-gendata: $(JAVA_TARGETS)

The comment talks about source code, but this is adding JAVA_TARGETS which is all compiled classes. Is the tool operating on source code or on class files?

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

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


More information about the build-dev mailing list