On 12/21/2017 02:07 PM, Jason Tedor wrote:
We are seeing this error on JDK 10-ea+35 and JDK 10-ea+36 on all environments (have not tested earlier builds):

javadoc: error - An internal exception has occurred.
(com.sun.tools.javac.code.ClassFinder$BadClassFile: bad class file: /home/jason/src/elastic/elasticsearch/core/build/classes/java/main/org/elasticsearch/rest/action/cat/RestThreadPoolAction$1$1.class bad enclosing class for org.elasticsearch.rest.action.cat.RestThreadPoolAction$1$1: org.elasticsearch.rest.action.cat.RestThreadPoolAction$1 Please remove or make sure it appears in the correct subdirectory of the classpath.)
Please file a bug against the javadoc tool via the Java bug reporting page
(http://bugreport.java.com) after checking the Bug Database (http://bugs.java.com) for duplicates. Include error messages and the following diagnostic in your report. Thank you. com.sun.tools.javac.code.ClassFinder$BadClassFile: bad class file: /home/jason/src/elastic/elasticsearch/core/build/classes/java/main/org/elasticsearch/rest/action/cat/RestThreadPoolAction$1$1.class bad enclosing class for org.elasticsearch.rest.action.cat.RestThreadPoolAction$1$1: org.elasticsearch.rest.action.cat.RestThreadPoolAction$1 Please remove or make sure it appears in the correct subdirectory of the classpath.

This looks similar to https://bugs.openjdk.java.net/browse/JDK-8151191 which is marked as resolved in JDK 9. This issue does not reproduce in JDK 9.

To reproduce this:

$ git clone https://github.com/elastic/elasticsearch.git <mailto:[email protected]:elastic/elasticsearch.git>
$ cd elasticsearch
$ git checkout c831442352c00f6cf840ffc3cbae64694935ce8b
$ JAVA_HOME=/path/to/jdk-10 gradle :core:javadoc

The specific revision is required because I am going to push a change to disable Javadoc builds on JDK 10 for now so that we can get our JDK 10 builds green. The path should be a path to the root of a JDK 10 installation (e.g., the parent directory to bin).

This requires at least Gradle 4.3. The block of code that it is tripping on is here: https://github.com/elastic/elasticsearch/blob/c831442352c00f6cf840ffc3cbae64694935ce8b/core/src/main/java/org/elasticsearch/rest/action/cat/RestThreadPoolAction.java#L78-L98


Jason,

This looks more like a problem with your environment than a problem with javadoc. The key message that javadoc is reporting is this:

javadoc: error - An internal exception has occurred.
(com.sun.tools.javac.code.ClassFinder$BadClassFile: bad class file: /home/jason/src/elastic/elasticsearch/core/build/classes/java/main/org/elasticsearch/rest/action/cat/RestThreadPoolAction$1$1.class *bad enclosing class *for org.elasticsearch.rest.action.cat.RestThreadPoolAction$1$1: org.elasticsearch.rest.action.cat.RestThreadPoolAction$1 Please remove or make sure it appears in the correct subdirectory of the classpath.)


I suggest you investigate why you might be having problems with the compiled class files. This sort of error is typically due to mutually inconsistent classes on your classpath, perhaps due to multiple compilations.

At any rate, beyond the javadoc tool giving poor advice about filing a bug, this is not a javadoc issue: the root of the problem lies with what happened before you ran javadoc.

-- Jon

Reply via email to