JDK-8154152 : javac does not find modules with -addmods and crashes.
  • Type: Bug
  • Component: tools
  • Sub-Component: javac
  • Affected Version: 9
  • Priority: P2
  • Status: Resolved
  • Resolution: Cannot Reproduce
  • OS: generic
  • CPU: generic
  • Submitted: 2016-04-13
  • Updated: 2017-01-20
  • Resolved: 2017-01-20
Related Reports
Relates :  
Relates :  
Description
javac fails to build jsr166 sources, it cannot find -addmod java.corba and crashes with a completion error.
error: cannot find module: java.corba
/JSR166/jdk9/jdk/src/java.base/share/classes/module-info.java:128: error: module not found: java.corba
        java.corba;
            ^
/JSR166/jdk9/jdk/src/java.base/share/classes/module-info.java:164: error: module not found: java.corba
        java.corba,
            ^
/JSR166/jdk9/jdk/src/java.base/share/classes/module-info.java:212: error: module not found: jdk.compiler
        jdk.compiler;
           ^
/JSR166/jdk9/jdk/src/java.base/share/classes/module-info.java:216: error: module not found: java.corba
        java.corba,
            ^
com.sun.tools.javac.code.Symbol$CompletionFailure: cannot resolve modules
	at com.sun.tools.javac.main.JavaCompiler.readSourceFile(jdk.compiler@9-internal/JavaCompiler.java:817)
	at com.sun.tools.javac.main.JavaCompiler.readSourceFile(jdk.compiler@9-internal/JavaCompiler.java:778)
	at com.sun.tools.javac.main.JavaCompiler.access$100(jdk.compiler@9-internal/JavaCompiler.java:97)
	at com.sun.tools.javac.main.JavaCompiler$1.complete(jdk.compiler@9-internal/JavaCompiler.java:339)
	at com.sun.tools.javac.code.ClassFinder.fillIn(jdk.compiler@9-internal/ClassFinder.java:362)
	at com.sun.tools.javac.code.ModuleFinder$1.complete(jdk.compiler@9-internal/ModuleFinder.java:311)
	at com.sun.tools.javac.code.Symbol.complete(jdk.compiler@9-internal/Symbol.java:602)
	at com.sun.tools.javac.code.Symbol$ClassSymbol.complete(jdk.compiler@9-internal/Symbol.java:1219)
	at com.sun.tools.javac.comp.Modules$2.complete(jdk.compiler@9-internal/Modules.java:456)
	at com.sun.tools.javac.code.Symtab.lambda$new$0(jdk.compiler@9-internal/Symtab.java:568)
	at com.sun.tools.javac.code.Symbol.complete(jdk.compiler@9-internal/Symbol.java:602)
	at com.sun.tools.javac.comp.Modules$4.complete(jdk.compiler@9-internal/Modules.java:928)
	at com.sun.tools.javac.code.Symbol.complete(jdk.compiler@9-internal/Symbol.java:602)
	at jdk.javadoc.internal.tool.JavadocTool.getEnvironment(jdk.javadoc@9-internal/JavadocTool.java:192)
	at jdk.javadoc.internal.tool.Start.parseAndExecute(jdk.javadoc@9-internal/Start.java:403)
	at jdk.javadoc.internal.tool.Start.begin(jdk.javadoc@9-internal/Start.java:276)
	at jdk.javadoc.internal.tool.Start.begin(jdk.javadoc@9-internal/Start.java:222)
	at jdk.javadoc.internal.tool.Main.execute(jdk.javadoc@9-internal/Main.java:70)
	at jdk.javadoc.internal.tool.Main.main(jdk.javadoc@9-internal/Main.java:52)
javadoc: error - fatal exception
6 errors

Comments
It looks like it seems to be working fine.
20-01-2017

In JDK-8154705, I plan to improve the initialization of the module system in javac; that should, I think, fix the CompletionFailure. It won't fix the "module not found" error, though. These may possible be configuration errors, though.
21-07-2016

What javac options are used here? I would expect to see `javac -Xmodule:java.base ..` when compiling the jsr166 sources.
14-06-2016