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

Reply via email to