jdk8 javadoc tool issue - IllegalStateException: endPosTable already set

Neon Ngo neon at nngo.net
Fri Mar 14 21:30:03 UTC 2014


Sorry for the delay in getting this test case.
I think the culprit might be a combo of my class (in default) package that
has an inner class.

Under Unix (e.g. Linux):
1. define JAVA_HOME system variable to point to JDK8
2. cd to extracted folder
3. run ./doit.sh (which just calls javadoc  using full paths to current
working directory)

Here are the zip file contents (just in case the attachment gets blocked):
.
|-- doit.sh
`-- test
    |-- InPackage.java
    `-- NotInPackageWithNestedClass.java

=== BEGIN contents of test/InPackage.java  ===
package test;

/** a class in a package */
public class InPackage {

  /** the main method */
  public static void main (String[] args) throws Exception {
      System.out.println("test javadoc bug (class in a package)");
  }
}
=== END contents of test/InPackage.java  ===

=== BEGIN contents of test/NotInPackageWithNestedClass.java  ===
import java.io.*;

/**
    This class is in the default package (aka not in any package).
 */
public final class NotInPackageWithNestedClass {

  public static void main (String[] args) throws Throwable {
  }


//////////////////////////////////////////////////////////////////////////////
  // NESTED CLASS

//////////////////////////////////////////////////////////////////////////////
  private static final class JarFilter implements FilenameFilter {
    public boolean accept(java.io.File dir, String name) {
      return name.endsWith(".jar");
    }
  } // end class JarFilter

} // end class NotInPackage
=== END contents of test/NotInPackageWithNestedClass.java ===

=== BEGIN contents of doit.sh ===
#!/bin/sh

outputdir=${PWD}/outputdir
cp1=${PWD}/test
cp2=${PWD}
JAVADOC_TOOL=${JAVA_HOME}/bin/javadoc

# shows JDK8's javadoc tool issue with two classes in test directory:
NotInPackage.java and InPackage.java)
${JAVADOC_TOOL} -classpath ${cp1}:${cp2} -d ${outputdir}
${PWD}/test/NotInPackageWithNestedClass.java test

=== END contents of doit.sh ===

Regards,

Neon



On Mon, Feb 3, 2014 at 5:50 PM, Kumar Srinivasan <
kumar.x.srinivasan at oracle.com> wrote:

> Hi Neon,
>
> I spent some time trying to reproduce the problem, but could not.
> Can you provide me with a simple reproducer ?
>
> Thanks
> Kumar
>
>
> On 1/24/2014 7:31 AM, Neon Ngo wrote:
>
>> Hi,
>>
>> we are seeing this error using JDK 8 EA b124 (b123, etc.) using the
>> javadoc tool.
>>
>> java.lang.IllegalStateException: endPosTable already set
>> at com.sun.tools.javac.util.DiagnosticSource.setEndPosTable(
>> DiagnosticSource.java:136)
>> at com.sun.tools.javac.util.Log.setEndPosTable(Log.java:350)
>> at com.sun.tools.javac.main.JavaCompiler.parse(JavaCompiler.java:643)
>> at com.sun.tools.javadoc.JavadocTool.parsePackageClasses(
>> JavadocTool.java:243)
>> at com.sun.tools.javadoc.JavadocTool.getRootDocImpl(JavadocTool.java:180)
>> at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:344)
>> at com.sun.tools.javadoc.Start.begin(Start.java:219)
>> at com.sun.tools.javadoc.Start.begin(Start.java:205)
>> at com.sun.tools.javadoc.Main.execute(Main.java:64)
>> at com.sun.tools.javadoc.Main.main(Main.java:54)
>> javadoc: error - fatal exception
>>
>> ===
>> it is similar to BUG JDK-8029145
>> javadoc fails with java.lang.IllegalStateException: endPosTable already
>> set
>>
>> but we are NOT using the -subpackages option
>>
>> I think our issue is b/c we have a directory (tools) that has a class NOT
>> in that package and others in it,
>> e.g.
>>
>> <my_project_dir>/tools/ClassInDefaultPackage.java (not in any package)
>> <my_project_dir>/tools/ClassInToolsPackage.java (in tools package)
>>
>> then we run javaodc with -classpath <my_project_dir>/tools:<my_project_dir>
>> <my_project_dir>/tools/ClassInDefaultPackage.java tools
>>
>> and it gets the above error (this works fine in ALL JDK versions (1.0 to
>> 1.7) prior to JDK 8 EA.
>>
>> How do I submit a Bug for this issue are add comments to JDK-8029145 ?
>>
>> Regards,
>>
>> Neon
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/javadoc-dev/attachments/20140314/05adc6f3/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: javadoc8bug.zip
Type: application/zip
Size: 1338 bytes
Desc: not available
URL: <http://mail.openjdk.java.net/pipermail/javadoc-dev/attachments/20140314/05adc6f3/javadoc8bug.zip>


More information about the javadoc-dev mailing list