From martinrb at google.com Sun Jun 2 09:45:01 2013 From: martinrb at google.com (Martin Buchholz) Date: Sun, 2 Jun 2013 09:45:01 -0700 Subject: doclint failure Message-ID: This is a doclint bug report. I was playing around with doclint on a recent lambda forest with a recent jsr166 CVS checkout, and got: mkdir -p /tmp/t9 && javac -d /tmp/t9 '-sourcepath' 'src/main' -Xdoclint:all/protected src/main/java/util/concurrent/CountedCompleter.java Exception in thread "main" java.lang.RuntimeException: java.lang.NullPointerException at com.sun.tools.javac.main.Main.compile(Main.java:554) at com.sun.tools.javac.main.Main.compile(Main.java:376) at com.sun.tools.javac.main.Main.compile(Main.java:365) at com.sun.tools.javac.main.Main.compile(Main.java:356) at com.sun.tools.javac.Main.compile(Main.java:77) at com.sun.tools.javac.Main.main(Main.java:62) Caused by: java.lang.NullPointerException at com.sun.tools.javac.comp.Check$1AnnotationValidator.visitAnnotation(Check.java:2587) at com.sun.tools.javac.tree.JCTree$JCAnnotation.accept(JCTree.java:2278) at com.sun.tools.javac.comp.Check.validateAnnotationTree(Check.java:2593) at com.sun.tools.javac.comp.Check.validateAnnotation(Check.java:2660) at com.sun.tools.javac.comp.Check.validateAnnotations(Check.java:2647) at com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:4119) at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:4096) at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:4031) at com.sun.tools.javac.api.JavacTrees.getElement(JavacTrees.java:328) at com.sun.tools.doclint.Env.setCurrent(Env.java:141) at com.sun.tools.doclint.Checker.scan(Checker.java:137) at com.sun.tools.doclint.DocLint$2.visitDecl(DocLint.java:311) at com.sun.tools.doclint.DocLint$DeclScanner.visitMethod(DocLint.java:369) at com.sun.tools.doclint.DocLint$DeclScanner.visitMethod(DocLint.java:358) at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:795) at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:68) at com.sun.source.util.TreeScanner.scan(TreeScanner.java:91) at com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:99) at com.sun.source.util.TreeScanner.visitClass(TreeScanner.java:133) at com.sun.tools.doclint.DocLint$DeclScanner.visitClass(DocLint.java:364) at com.sun.tools.doclint.DocLint$DeclScanner.visitClass(DocLint.java:358) at com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:715) at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:68) at com.sun.source.util.TreeScanner.scan(TreeScanner.java:91) at com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:99) at com.sun.source.util.TreeScanner.visitCompilationUnit(TreeScanner.java:120) at com.sun.tools.javac.tree.JCTree$JCCompilationUnit.accept(JCTree.java:551) at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:68) at com.sun.tools.doclint.DocLint$3.finished(DocLint.java:325) at com.sun.tools.javac.api.ClientCodeWrapper$WrappedTaskListener.finished(ClientCodeWrapper.java:681) at com.sun.tools.javac.api.MultiTaskListener.finished(MultiTaskListener.java:111) at com.sun.tools.javac.main.JavaCompiler.complete(JavaCompiler.java:766) at com.sun.tools.javac.jvm.ClassReader.fillIn(ClassReader.java:2486) at com.sun.tools.javac.jvm.ClassReader.complete(ClassReader.java:2393) at com.sun.tools.javac.code.Symbol.complete(Symbol.java:434) at com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:887) at com.sun.tools.javac.jvm.ClassReader.loadClass(ClassReader.java:2574) at com.sun.tools.javac.comp.Resolve.loadClass(Resolve.java:1822) at com.sun.tools.javac.comp.Resolve.findGlobalType(Resolve.java:1881) at com.sun.tools.javac.comp.Resolve.findType(Resolve.java:1933) at com.sun.tools.javac.comp.Resolve.findIdent(Resolve.java:1962) at com.sun.tools.javac.comp.Resolve.resolveIdent(Resolve.java:2236) at com.sun.tools.javac.comp.Attr.visitIdent(Attr.java:3067) at com.sun.tools.javac.tree.JCTree$JCIdent.accept(JCTree.java:1972) at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:603) at com.sun.tools.javac.comp.Attr.attribType(Attr.java:641) at com.sun.tools.javac.comp.Attr.attribType(Attr.java:634) at com.sun.tools.javac.api.JavacTrees.getElement(JavacTrees.java:366) at com.sun.tools.doclint.Checker.visitReference(Checker.java:681) at com.sun.tools.doclint.Checker.visitReference(Checker.java:88) at com.sun.tools.javac.tree.DCTree$DCReference.accept(DCTree.java:523) at com.sun.source.util.DocTreeScanner.scan(DocTreeScanner.java:77) at com.sun.source.util.DocTreeScanner.visitLink(DocTreeScanner.java:177) at com.sun.tools.doclint.Checker.visitLink(Checker.java:602) at com.sun.tools.doclint.Checker.visitLink(Checker.java:88) at com.sun.tools.javac.tree.DCTree$DCLink.accept(DCTree.java:422) at com.sun.source.util.DocTreeScanner.scan(DocTreeScanner.java:77) at com.sun.source.util.DocTreeScanner.scanAndReduce(DocTreeScanner.java:81) at com.sun.source.util.DocTreeScanner.scan(DocTreeScanner.java:92) at com.sun.source.util.DocTreeScanner.visitDocComment(DocTreeScanner.java:139) at com.sun.tools.doclint.Checker.visitDocComment(Checker.java:189) at com.sun.tools.doclint.Checker.visitDocComment(Checker.java:88) at com.sun.tools.javac.tree.DCTree$DCDocComment.accept(DCTree.java:122) at com.sun.source.util.DocTreeScanner.scan(DocTreeScanner.java:77) at com.sun.tools.doclint.Checker.scan(Checker.java:155) at com.sun.tools.doclint.DocLint$2.visitDecl(DocLint.java:311) at com.sun.tools.doclint.DocLint$DeclScanner.visitClass(DocLint.java:363) at com.sun.tools.doclint.DocLint$DeclScanner.visitClass(DocLint.java:358) at com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:715) at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:68) at com.sun.source.util.TreeScanner.scan(TreeScanner.java:91) at com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:99) at com.sun.source.util.TreeScanner.visitCompilationUnit(TreeScanner.java:120) at com.sun.tools.javac.tree.JCTree$JCCompilationUnit.accept(JCTree.java:551) at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:68) at com.sun.tools.doclint.DocLint$3.finished(DocLint.java:325) at com.sun.tools.javac.api.ClientCodeWrapper$WrappedTaskListener.finished(ClientCodeWrapper.java:681) at com.sun.tools.javac.api.MultiTaskListener.finished(MultiTaskListener.java:111) at com.sun.tools.javac.main.JavaCompiler.complete(JavaCompiler.java:766) at com.sun.tools.javac.jvm.ClassReader.fillIn(ClassReader.java:2486) at com.sun.tools.javac.jvm.ClassReader.complete(ClassReader.java:2393) at com.sun.tools.javac.code.Symbol.complete(Symbol.java:434) at com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:887) at com.sun.tools.javac.jvm.ClassReader.loadClass(ClassReader.java:2574) at com.sun.tools.javac.comp.Resolve.loadClass(Resolve.java:1822) at com.sun.tools.javac.comp.Resolve.findGlobalType(Resolve.java:1881) at com.sun.tools.javac.comp.Resolve.findType(Resolve.java:1933) at com.sun.tools.javac.comp.Resolve.findIdent(Resolve.java:1962) at com.sun.tools.javac.comp.Resolve.resolveIdent(Resolve.java:2236) at com.sun.tools.javac.comp.Attr.visitIdent(Attr.java:3067) at com.sun.tools.javac.tree.JCTree$JCIdent.accept(JCTree.java:1972) at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:603) at com.sun.tools.javac.comp.Attr.attribType(Attr.java:641) at com.sun.tools.javac.comp.Attr.attribType(Attr.java:634) at com.sun.tools.javac.comp.Attr.visitTypeApply(Attr.java:3745) at com.sun.tools.javac.tree.JCTree$JCTypeApply.accept(JCTree.java:2096) at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:603) at com.sun.tools.javac.comp.Attr.attribType(Attr.java:641) at com.sun.tools.javac.comp.Attr.attribType(Attr.java:634) at com.sun.tools.javac.comp.Attr.attribBase(Attr.java:799) at com.sun.tools.javac.comp.MemberEnter.complete(MemberEnter.java:905) at com.sun.tools.javac.code.Symbol.complete(Symbol.java:434) at com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:887) at com.sun.tools.javac.comp.Enter.complete(Enter.java:495) at com.sun.tools.javac.comp.Enter.main(Enter.java:473) at com.sun.tools.javac.main.JavaCompiler.enterTrees(JavaCompiler.java:959) at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:834) at com.sun.tools.javac.main.Main.compile(Main.java:518) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/javadoc-dev/attachments/20130602/85bcb877/attachment.html From jonathan.gibbons at oracle.com Mon Jun 3 08:11:03 2013 From: jonathan.gibbons at oracle.com (Jonathan Gibbons) Date: Mon, 3 Jun 2013 08:11:03 -0700 (PDT) Subject: doclint failure In-Reply-To: References: Message-ID: <51ACB207.1070802@oracle.com> Martin, Thanks for the report. I suspect that is another instance of a known bug, for which the fix is in review. -- Jon On 06/02/2013 09:45 AM, Martin Buchholz wrote: > This is a doclint bug report. > > I was playing around with doclint on a recent lambda forest with a > recent jsr166 CVS checkout, and got: > > mkdir -p /tmp/t9 && javac -d /tmp/t9 '-sourcepath' 'src/main' > -Xdoclint:all/protected > src/main/java/util/concurrent/CountedCompleter.java > Exception in thread "main" java.lang.RuntimeException: > java.lang.NullPointerException > at com.sun.tools.javac.main.Main.compile(Main.java:554) > at com.sun.tools.javac.main.Main.compile(Main.java:376) > at com.sun.tools.javac.main.Main.compile(Main.java:365) > at com.sun.tools.javac.main.Main.compile(Main.java:356) > at com.sun.tools.javac.Main.compile(Main.java:77) > at com.sun.tools.javac.Main.main(Main.java:62) > Caused by: java.lang.NullPointerException > at > com.sun.tools.javac.comp.Check$1AnnotationValidator.visitAnnotation(Check.java:2587) > at com.sun.tools.javac.tree.JCTree$JCAnnotation.accept(JCTree.java:2278) > at com.sun.tools.javac.comp.Check.validateAnnotationTree(Check.java:2593) > at com.sun.tools.javac.comp.Check.validateAnnotation(Check.java:2660) > at com.sun.tools.javac.comp.Check.validateAnnotations(Check.java:2647) > at com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:4119) > at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:4096) > at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:4031) > at com.sun.tools.javac.api.JavacTrees.getElement(JavacTrees.java:328) > at com.sun.tools.doclint.Env.setCurrent(Env.java:141) > at com.sun.tools.doclint.Checker.scan(Checker.java:137) > at com.sun.tools.doclint.DocLint$2.visitDecl(DocLint.java:311) > at com.sun.tools.doclint.DocLint$DeclScanner.visitMethod(DocLint.java:369) > at com.sun.tools.doclint.DocLint$DeclScanner.visitMethod(DocLint.java:358) > at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:795) > at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:68) > at com.sun.source.util.TreeScanner.scan(TreeScanner.java:91) > at com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:99) > at com.sun.source.util.TreeScanner.visitClass(TreeScanner.java:133) > at com.sun.tools.doclint.DocLint$DeclScanner.visitClass(DocLint.java:364) > at com.sun.tools.doclint.DocLint$DeclScanner.visitClass(DocLint.java:358) > at com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:715) > at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:68) > at com.sun.source.util.TreeScanner.scan(TreeScanner.java:91) > at com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:99) > at > com.sun.source.util.TreeScanner.visitCompilationUnit(TreeScanner.java:120) > at > com.sun.tools.javac.tree.JCTree$JCCompilationUnit.accept(JCTree.java:551) > at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:68) > at com.sun.tools.doclint.DocLint$3.finished(DocLint.java:325) > at > com.sun.tools.javac.api.ClientCodeWrapper$WrappedTaskListener.finished(ClientCodeWrapper.java:681) > at > com.sun.tools.javac.api.MultiTaskListener.finished(MultiTaskListener.java:111) > at com.sun.tools.javac.main.JavaCompiler.complete(JavaCompiler.java:766) > at com.sun.tools.javac.jvm.ClassReader.fillIn(ClassReader.java:2486) > at com.sun.tools.javac.jvm.ClassReader.complete(ClassReader.java:2393) > at com.sun.tools.javac.code.Symbol.complete(Symbol.java:434) > at com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:887) > at com.sun.tools.javac.jvm.ClassReader.loadClass(ClassReader.java:2574) > at com.sun.tools.javac.comp.Resolve.loadClass(Resolve.java:1822) > at com.sun.tools.javac.comp.Resolve.findGlobalType(Resolve.java:1881) > at com.sun.tools.javac.comp.Resolve.findType(Resolve.java:1933) > at com.sun.tools.javac.comp.Resolve.findIdent(Resolve.java:1962) > at com.sun.tools.javac.comp.Resolve.resolveIdent(Resolve.java:2236) > at com.sun.tools.javac.comp.Attr.visitIdent(Attr.java:3067) > at com.sun.tools.javac.tree.JCTree$JCIdent.accept(JCTree.java:1972) > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:603) > at com.sun.tools.javac.comp.Attr.attribType(Attr.java:641) > at com.sun.tools.javac.comp.Attr.attribType(Attr.java:634) > at com.sun.tools.javac.api.JavacTrees.getElement(JavacTrees.java:366) > at com.sun.tools.doclint.Checker.visitReference(Checker.java:681) > at com.sun.tools.doclint.Checker.visitReference(Checker.java:88) > at com.sun.tools.javac.tree.DCTree$DCReference.accept(DCTree.java:523) > at com.sun.source.util.DocTreeScanner.scan(DocTreeScanner.java:77) > at com.sun.source.util.DocTreeScanner.visitLink(DocTreeScanner.java:177) > at com.sun.tools.doclint.Checker.visitLink(Checker.java:602) > at com.sun.tools.doclint.Checker.visitLink(Checker.java:88) > at com.sun.tools.javac.tree.DCTree$DCLink.accept(DCTree.java:422) > at com.sun.source.util.DocTreeScanner.scan(DocTreeScanner.java:77) > at > com.sun.source.util.DocTreeScanner.scanAndReduce(DocTreeScanner.java:81) > at com.sun.source.util.DocTreeScanner.scan(DocTreeScanner.java:92) > at > com.sun.source.util.DocTreeScanner.visitDocComment(DocTreeScanner.java:139) > at com.sun.tools.doclint.Checker.visitDocComment(Checker.java:189) > at com.sun.tools.doclint.Checker.visitDocComment(Checker.java:88) > at com.sun.tools.javac.tree.DCTree$DCDocComment.accept(DCTree.java:122) > at com.sun.source.util.DocTreeScanner.scan(DocTreeScanner.java:77) > at com.sun.tools.doclint.Checker.scan(Checker.java:155) > at com.sun.tools.doclint.DocLint$2.visitDecl(DocLint.java:311) > at com.sun.tools.doclint.DocLint$DeclScanner.visitClass(DocLint.java:363) > at com.sun.tools.doclint.DocLint$DeclScanner.visitClass(DocLint.java:358) > at com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:715) > at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:68) > at com.sun.source.util.TreeScanner.scan(TreeScanner.java:91) > at com.sun.source.util.TreeScanner.scanAndReduce(TreeScanner.java:99) > at > com.sun.source.util.TreeScanner.visitCompilationUnit(TreeScanner.java:120) > at > com.sun.tools.javac.tree.JCTree$JCCompilationUnit.accept(JCTree.java:551) > at com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:68) > at com.sun.tools.doclint.DocLint$3.finished(DocLint.java:325) > at > com.sun.tools.javac.api.ClientCodeWrapper$WrappedTaskListener.finished(ClientCodeWrapper.java:681) > at > com.sun.tools.javac.api.MultiTaskListener.finished(MultiTaskListener.java:111) > at com.sun.tools.javac.main.JavaCompiler.complete(JavaCompiler.java:766) > at com.sun.tools.javac.jvm.ClassReader.fillIn(ClassReader.java:2486) > at com.sun.tools.javac.jvm.ClassReader.complete(ClassReader.java:2393) > at com.sun.tools.javac.code.Symbol.complete(Symbol.java:434) > at com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:887) > at com.sun.tools.javac.jvm.ClassReader.loadClass(ClassReader.java:2574) > at com.sun.tools.javac.comp.Resolve.loadClass(Resolve.java:1822) > at com.sun.tools.javac.comp.Resolve.findGlobalType(Resolve.java:1881) > at com.sun.tools.javac.comp.Resolve.findType(Resolve.java:1933) > at com.sun.tools.javac.comp.Resolve.findIdent(Resolve.java:1962) > at com.sun.tools.javac.comp.Resolve.resolveIdent(Resolve.java:2236) > at com.sun.tools.javac.comp.Attr.visitIdent(Attr.java:3067) > at com.sun.tools.javac.tree.JCTree$JCIdent.accept(JCTree.java:1972) > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:603) > at com.sun.tools.javac.comp.Attr.attribType(Attr.java:641) > at com.sun.tools.javac.comp.Attr.attribType(Attr.java:634) > at com.sun.tools.javac.comp.Attr.visitTypeApply(Attr.java:3745) > at com.sun.tools.javac.tree.JCTree$JCTypeApply.accept(JCTree.java:2096) > at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:603) > at com.sun.tools.javac.comp.Attr.attribType(Attr.java:641) > at com.sun.tools.javac.comp.Attr.attribType(Attr.java:634) > at com.sun.tools.javac.comp.Attr.attribBase(Attr.java:799) > at com.sun.tools.javac.comp.MemberEnter.complete(MemberEnter.java:905) > at com.sun.tools.javac.code.Symbol.complete(Symbol.java:434) > at com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:887) > at com.sun.tools.javac.comp.Enter.complete(Enter.java:495) > at com.sun.tools.javac.comp.Enter.main(Enter.java:473) > at com.sun.tools.javac.main.JavaCompiler.enterTrees(JavaCompiler.java:959) > at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:834) > at com.sun.tools.javac.main.Main.compile(Main.java:518) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/javadoc-dev/attachments/20130603/1818ebd8/attachment.html