On Fri, 12 Jan 2024 17:36:09 GMT, Erik Joelsson <er...@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? I think it might operate on both, but I'm not sure. But my thinking was that JAVA_TARGETS depended on GENSRC_TARGETS, which in turn would make sure that all source code was properly generated. Am I missing something? ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/17402#discussion_r1452321991