-
Bug
-
Resolution: Fixed
-
P3
-
19
-
None
-
b31
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8290183 | 20 | Pavel Rappo | P3 | Resolved | Fixed | b06 |
JDK-8291180 | 19.0.2 | Pavel Rappo | P3 | Resolved | Fixed | b01 |
JDK-8291088 | 19.0.1 | Pavel Rappo | P3 | Resolved | Fixed | b04 |
1. Although it is unspecified and shouldn't work, it shouldn't crash either:
/** @param <T> {@inheritDoc} */
public class A<T> { }
$ ./build/macosx-x64/images/jdk/bin/javadoc A.java
Loading source file A.java...
Constructing Javadoc information...
Building index for all the packages and classes...
Standard Doclet version 19-internal-2022-05-25-2010101.pavelrappo...
Building tree for all the packages and classes...
A.java:1: warning: no main description
/** @param <T> {@inheritDoc} */
^
Generating ./A.html...
error: An internal exception has occurred.
(java.lang.ClassCastException: class com.sun.tools.javac.code.Symbol$ClassSymbol cannot be cast to class javax.lang.model.element.ExecutableElement (com.sun.tools.javac.code.Symbol$ClassSymbol is in module jdk.compiler of loader 'app'; javax.lang.model.element.ExecutableElement is in module java.compiler of loader 'platform'))
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.
java.lang.ClassCastException: class com.sun.tools.javac.code.Symbol$ClassSymbol cannot be cast to class javax.lang.model.element.ExecutableElement (com.sun.tools.javac.code.Symbol$ClassSymbol is in module jdk.compiler of loader 'app'; javax.lang.model.element.ExecutableElement is in module java.compiler of loader 'platform')
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.taglets.ParamTaglet.inherit(ParamTaglet.java:92)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.util.DocFinder.search(DocFinder.java:230)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.util.DocFinder.search(DocFinder.java:266)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.taglets.InheritDocTaglet.retrieveInheritedDocumentation(InheritDocTaglet.java:92)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.taglets.InheritDocTaglet.getInlineTagOutput(InheritDocTaglet.java:118)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.taglets.TagletWriter.getInlineTagOutput(TagletWriter.java:346)
at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter.getInlineTagOutput(HtmlDocletWriter.java:371)
at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter$2.visitInheritDoc(HtmlDocletWriter.java:1616)
at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter$2.visitInheritDoc(HtmlDocletWriter.java:1499)
at jdk.compiler/com.sun.tools.javac.tree.DCTree$DCInheritDoc.accept(DCTree.java:724)
at jdk.compiler/com.sun.source.util.SimpleDocTreeVisitor.visit(SimpleDocTreeVisitor.java:79)
at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter.commentTagsToContent(HtmlDocletWriter.java:1729)
at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.TagletWriterImpl.paramTagOutput(TagletWriterImpl.java:302)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.taglets.ParamTaglet.processParamTag(ParamTaglet.java:291)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.taglets.ParamTaglet.processParamTags(ParamTaglet.java:248)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.taglets.ParamTaglet.getTagletOutput(ParamTaglet.java:166)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.taglets.ParamTaglet.getAllBlockTagOutput(ParamTaglet.java:141)
at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.ClassWriterImpl.addParamInfo(ClassWriterImpl.java:272)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.builders.ClassBuilder.buildParamInfo(ClassBuilder.java:169)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.builders.ClassBuilder.buildClassInfo(ClassBuilder.java:147)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.builders.ClassBuilder.buildClassDoc(ClassBuilder.java:120)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.builders.ClassBuilder.build(ClassBuilder.java:98)
at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDoclet.generateClassFiles(HtmlDoclet.java:378)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.AbstractDoclet.generateClassFiles(AbstractDoclet.java:281)
at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDoclet.generateClassFiles(HtmlDoclet.java:192)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.AbstractDoclet.startGeneration(AbstractDoclet.java:207)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.AbstractDoclet.run(AbstractDoclet.java:110)
at jdk.javadoc/jdk.javadoc.doclet.StandardDoclet.run(StandardDoclet.java:103)
at jdk.javadoc/jdk.javadoc.internal.tool.Start.parseAndExecute(Start.java:574)
at jdk.javadoc/jdk.javadoc.internal.tool.Start.begin(Start.java:397)
at jdk.javadoc/jdk.javadoc.internal.tool.Start.begin(Start.java:346)
at jdk.javadoc/jdk.javadoc.internal.tool.Main.execute(Main.java:57)
at jdk.javadoc/jdk.javadoc.internal.tool.Main.main(Main.java:46)
1 error
1 warning
2. This is a nonsensical use case, but again, it shouldn't crash:
% cat p/doc-files/doc.html
<HTML lang="EN">
<HEAD>
<TITLE>EXAMPLE</TITLE>
</HEAD>
<BODY>
{@inheritDoc}
</BODY>
</HTML>
Generating /tmp/whatever/p/doc-files/doc.html...
./p/doc-files/doc.html:6: warning: Tag @inheritDoc cannot be used in overview documentation. It can only be used in the following types of documentation: method.
{@inheritDoc}
^
error: An internal exception has occurred.
(javax.lang.model.element.UnknownElementException: Unknown element: "jdk.javadoc.internal.doclets.toolkit.DocFileElement@5b247367")
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.
javax.lang.model.element.UnknownElementException: Unknown element: "jdk.javadoc.internal.doclets.toolkit.DocFileElement@5b247367"
at java.compiler/javax.lang.model.util.AbstractElementVisitor6.visitUnknown(AbstractElementVisitor6.java:125)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.DocletElement.accept(DocletElement.java:85)
at java.compiler/javax.lang.model.util.AbstractElementVisitor6.visit(AbstractElementVisitor6.java:106)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.util.Utils.getSimpleName0(Utils.java:2003)
at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1228)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.util.Utils.getSimpleName(Utils.java:1964)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.taglets.InheritDocTaglet.retrieveInheritedDocumentation(InheritDocTaglet.java:96)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.taglets.InheritDocTaglet.getInlineTagOutput(InheritDocTaglet.java:107)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.taglets.TagletWriter.getInlineTagOutput(TagletWriter.java:346)
at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter.getInlineTagOutput(HtmlDocletWriter.java:371)
at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter$2.visitInheritDoc(HtmlDocletWriter.java:1622)
at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter$2.visitInheritDoc(HtmlDocletWriter.java:1503)
at jdk.compiler/com.sun.tools.javac.tree.DCTree$DCInheritDoc.accept(DCTree.java:724)
at jdk.compiler/com.sun.source.util.SimpleDocTreeVisitor.visit(SimpleDocTreeVisitor.java:79)
at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter.commentTagsToContent(HtmlDocletWriter.java:1735)
at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter.commentTagsToContent(HtmlDocletWriter.java:1449)
at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter.commentTagsToContent(HtmlDocletWriter.java:1430)
at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.DocFilesHandlerImpl.handleHtmlFile(DocFilesHandlerImpl.java:202)
at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.DocFilesHandlerImpl.copyDirectory(DocFilesHandlerImpl.java:158)
at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.DocFilesHandlerImpl.copyDocFiles(DocFilesHandlerImpl.java:118)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.builders.PackageSummaryBuilder.buildPackageDoc(PackageSummaryBuilder.java:111)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.builders.PackageSummaryBuilder.build(PackageSummaryBuilder.java:93)
at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDoclet.generatePackageFiles(HtmlDoclet.java:406)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.AbstractDoclet.startGeneration(AbstractDoclet.java:210)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.AbstractDoclet.run(AbstractDoclet.java:110)
at jdk.javadoc/jdk.javadoc.doclet.StandardDoclet.run(StandardDoclet.java:103)
at jdk.javadoc/jdk.javadoc.internal.tool.Start.parseAndExecute(Start.java:574)
at jdk.javadoc/jdk.javadoc.internal.tool.Start.begin(Start.java:397)
at jdk.javadoc/jdk.javadoc.internal.tool.Start.begin(Start.java:346)
at jdk.javadoc/jdk.javadoc.internal.tool.Main.execute(Main.java:57)
at jdk.javadoc/jdk.javadoc.internal.tool.Main.main(Main.java:46)
1 error
3 warnings
/** @param <T> {@inheritDoc} */
public class A<T> { }
$ ./build/macosx-x64/images/jdk/bin/javadoc A.java
Loading source file A.java...
Constructing Javadoc information...
Building index for all the packages and classes...
Standard Doclet version 19-internal-2022-05-25-2010101.pavelrappo...
Building tree for all the packages and classes...
A.java:1: warning: no main description
/** @param <T> {@inheritDoc} */
^
Generating ./A.html...
error: An internal exception has occurred.
(java.lang.ClassCastException: class com.sun.tools.javac.code.Symbol$ClassSymbol cannot be cast to class javax.lang.model.element.ExecutableElement (com.sun.tools.javac.code.Symbol$ClassSymbol is in module jdk.compiler of loader 'app'; javax.lang.model.element.ExecutableElement is in module java.compiler of loader 'platform'))
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.
java.lang.ClassCastException: class com.sun.tools.javac.code.Symbol$ClassSymbol cannot be cast to class javax.lang.model.element.ExecutableElement (com.sun.tools.javac.code.Symbol$ClassSymbol is in module jdk.compiler of loader 'app'; javax.lang.model.element.ExecutableElement is in module java.compiler of loader 'platform')
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.taglets.ParamTaglet.inherit(ParamTaglet.java:92)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.util.DocFinder.search(DocFinder.java:230)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.util.DocFinder.search(DocFinder.java:266)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.taglets.InheritDocTaglet.retrieveInheritedDocumentation(InheritDocTaglet.java:92)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.taglets.InheritDocTaglet.getInlineTagOutput(InheritDocTaglet.java:118)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.taglets.TagletWriter.getInlineTagOutput(TagletWriter.java:346)
at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter.getInlineTagOutput(HtmlDocletWriter.java:371)
at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter$2.visitInheritDoc(HtmlDocletWriter.java:1616)
at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter$2.visitInheritDoc(HtmlDocletWriter.java:1499)
at jdk.compiler/com.sun.tools.javac.tree.DCTree$DCInheritDoc.accept(DCTree.java:724)
at jdk.compiler/com.sun.source.util.SimpleDocTreeVisitor.visit(SimpleDocTreeVisitor.java:79)
at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter.commentTagsToContent(HtmlDocletWriter.java:1729)
at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.TagletWriterImpl.paramTagOutput(TagletWriterImpl.java:302)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.taglets.ParamTaglet.processParamTag(ParamTaglet.java:291)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.taglets.ParamTaglet.processParamTags(ParamTaglet.java:248)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.taglets.ParamTaglet.getTagletOutput(ParamTaglet.java:166)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.taglets.ParamTaglet.getAllBlockTagOutput(ParamTaglet.java:141)
at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.ClassWriterImpl.addParamInfo(ClassWriterImpl.java:272)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.builders.ClassBuilder.buildParamInfo(ClassBuilder.java:169)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.builders.ClassBuilder.buildClassInfo(ClassBuilder.java:147)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.builders.ClassBuilder.buildClassDoc(ClassBuilder.java:120)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.builders.ClassBuilder.build(ClassBuilder.java:98)
at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDoclet.generateClassFiles(HtmlDoclet.java:378)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.AbstractDoclet.generateClassFiles(AbstractDoclet.java:281)
at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDoclet.generateClassFiles(HtmlDoclet.java:192)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.AbstractDoclet.startGeneration(AbstractDoclet.java:207)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.AbstractDoclet.run(AbstractDoclet.java:110)
at jdk.javadoc/jdk.javadoc.doclet.StandardDoclet.run(StandardDoclet.java:103)
at jdk.javadoc/jdk.javadoc.internal.tool.Start.parseAndExecute(Start.java:574)
at jdk.javadoc/jdk.javadoc.internal.tool.Start.begin(Start.java:397)
at jdk.javadoc/jdk.javadoc.internal.tool.Start.begin(Start.java:346)
at jdk.javadoc/jdk.javadoc.internal.tool.Main.execute(Main.java:57)
at jdk.javadoc/jdk.javadoc.internal.tool.Main.main(Main.java:46)
1 error
1 warning
2. This is a nonsensical use case, but again, it shouldn't crash:
% cat p/doc-files/doc.html
<HTML lang="EN">
<HEAD>
<TITLE>EXAMPLE</TITLE>
</HEAD>
<BODY>
{@inheritDoc}
</BODY>
</HTML>
Generating /tmp/whatever/p/doc-files/doc.html...
./p/doc-files/doc.html:6: warning: Tag @inheritDoc cannot be used in overview documentation. It can only be used in the following types of documentation: method.
{@inheritDoc}
^
error: An internal exception has occurred.
(javax.lang.model.element.UnknownElementException: Unknown element: "jdk.javadoc.internal.doclets.toolkit.DocFileElement@5b247367")
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.
javax.lang.model.element.UnknownElementException: Unknown element: "jdk.javadoc.internal.doclets.toolkit.DocFileElement@5b247367"
at java.compiler/javax.lang.model.util.AbstractElementVisitor6.visitUnknown(AbstractElementVisitor6.java:125)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.DocletElement.accept(DocletElement.java:85)
at java.compiler/javax.lang.model.util.AbstractElementVisitor6.visit(AbstractElementVisitor6.java:106)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.util.Utils.getSimpleName0(Utils.java:2003)
at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1228)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.util.Utils.getSimpleName(Utils.java:1964)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.taglets.InheritDocTaglet.retrieveInheritedDocumentation(InheritDocTaglet.java:96)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.taglets.InheritDocTaglet.getInlineTagOutput(InheritDocTaglet.java:107)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.taglets.TagletWriter.getInlineTagOutput(TagletWriter.java:346)
at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter.getInlineTagOutput(HtmlDocletWriter.java:371)
at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter$2.visitInheritDoc(HtmlDocletWriter.java:1622)
at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter$2.visitInheritDoc(HtmlDocletWriter.java:1503)
at jdk.compiler/com.sun.tools.javac.tree.DCTree$DCInheritDoc.accept(DCTree.java:724)
at jdk.compiler/com.sun.source.util.SimpleDocTreeVisitor.visit(SimpleDocTreeVisitor.java:79)
at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter.commentTagsToContent(HtmlDocletWriter.java:1735)
at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter.commentTagsToContent(HtmlDocletWriter.java:1449)
at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter.commentTagsToContent(HtmlDocletWriter.java:1430)
at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.DocFilesHandlerImpl.handleHtmlFile(DocFilesHandlerImpl.java:202)
at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.DocFilesHandlerImpl.copyDirectory(DocFilesHandlerImpl.java:158)
at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.DocFilesHandlerImpl.copyDocFiles(DocFilesHandlerImpl.java:118)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.builders.PackageSummaryBuilder.buildPackageDoc(PackageSummaryBuilder.java:111)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.builders.PackageSummaryBuilder.build(PackageSummaryBuilder.java:93)
at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDoclet.generatePackageFiles(HtmlDoclet.java:406)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.AbstractDoclet.startGeneration(AbstractDoclet.java:210)
at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.AbstractDoclet.run(AbstractDoclet.java:110)
at jdk.javadoc/jdk.javadoc.doclet.StandardDoclet.run(StandardDoclet.java:103)
at jdk.javadoc/jdk.javadoc.internal.tool.Start.parseAndExecute(Start.java:574)
at jdk.javadoc/jdk.javadoc.internal.tool.Start.begin(Start.java:397)
at jdk.javadoc/jdk.javadoc.internal.tool.Start.begin(Start.java:346)
at jdk.javadoc/jdk.javadoc.internal.tool.Main.execute(Main.java:57)
at jdk.javadoc/jdk.javadoc.internal.tool.Main.main(Main.java:46)
1 error
3 warnings
- backported by
-
JDK-8290183 Using @inheritDoc in an inapplicable context shouldn't crash javadoc
-
- Resolved
-
-
JDK-8291088 Using @inheritDoc in an inapplicable context shouldn't crash javadoc
-
- Resolved
-
-
JDK-8291180 Using @inheritDoc in an inapplicable context shouldn't crash javadoc
-
- Resolved
-
- blocks
-
JDK-8289335 restructure table at end of Doc Comment Spec
-
- Resolved
-
- csr for
-
JDK-8288841 Using @inheritdoc in an inapplicable context shouldn't crash javadoc
-
- Closed
-
- is blocked by
-
JDK-8288524 Allow @systemProperty to appear in overview documentation
-
- Resolved
-
(1 is blocked by, 2 links to)