Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-5063124

recursive class loading in javadoc causes assertion error

XMLWordPrintable

    • b58
    • generic
    • solaris_8

      After building tiger, the following script can be used to reproduce
      a javadoc crash that is due to an underlying problem in javac.

      ==========$ cat -n cmd
           1
           2 J2SE=/usr/home/gafter/tiger-rc/j2se
           3 BUILD=${J2SE}/build/`platform`
           4 BIN=${BUILD}/bin
           5
           6 ${BIN}/javadoc -J-esa -J-ms64m -J-mx128m -doclet GenDocletBeanInfo -x false -d ${BUILD}/tmp/1.2src -t ${J2SE}/make/tools/swing-beans/SwingBeanInfo.template -docletpath ${BUILD}/tmp ${J2SE}/src/share/classes/javax/swing/JTree.java ${J2SE}/src/share/classes/javax/swing/text/JTextComponent.java
      ==========$ sh cmd
      Loading source file /usr/home/gafter/tiger-rc/j2se/src/share/classes/javax/swing/JTree.java...
      Loading source file /usr/home/gafter/tiger-rc/j2se/src/share/classes/javax/swing/text/JTextComponent.java...
      Constructing Javadoc information...

      >>> Generating beaninfo for javax.swing.JTree...
      javadoc: error - In doclet class GenDocletBeanInfo, method start has thrown an exception java.lang.reflect.InvocationTargetException
      java.lang.AssertionError
              at com.sun.tools.javac.jvm.ClassReader.fillIn(ClassReader.java:1544)
              at com.sun.tools.javac.jvm.ClassReader.complete(ClassReader.java:1518)
              at com.sun.tools.javac.code.Symbol.complete(Symbol.java:354)
              at com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:613)
              at com.sun.tools.javac.code.Type$ClassType.complete(Type.java:593)
              at com.sun.tools.javac.code.Type$ClassType.typarams(Type.java:531)
              at com.sun.tools.javac.jvm.ClassReader.enterTypevars(ClassReader.java:1257)
              at com.sun.tools.javac.jvm.ClassReader.enterTypevars(ClassReader.java:1256)
              at com.sun.tools.javac.jvm.ClassReader.readClass(ClassReader.java:1272)
              at com.sun.tools.javac.jvm.ClassReader.readClassFile(ClassReader.java:1380)
              at com.sun.tools.javac.jvm.ClassReader.fillIn(ClassReader.java:1559)
              at com.sun.tools.javac.jvm.ClassReader.complete(ClassReader.java:1518)
              at com.sun.tools.javac.code.Symbol.complete(Symbol.java:354)
              at com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:613)
              at com.sun.tools.javac.code.Symbol$ClassSymbol.flags(Symbol.java:551)
              at com.sun.tools.javadoc.ClassDocImpl.getFlags(ClassDocImpl.java:105)
              at com.sun.tools.javadoc.ClassDocImpl.isAnnotationType(ClassDocImpl.java:116)
              at com.sun.tools.javadoc.DocEnv.isAnnotationType(DocEnv.java:574)
              at com.sun.tools.javadoc.DocEnv.getClassDoc(DocEnv.java:546)
              at com.sun.tools.javadoc.PackageDocImpl.getClasses(PackageDocImpl.java:152)
              at com.sun.tools.javadoc.PackageDocImpl.findClass(PackageDocImpl.java:307)
              at com.sun.tools.javadoc.ClassDocImpl.searchClass(ClassDocImpl.java:708)
              at com.sun.tools.javadoc.ClassDocImpl.searchClass(ClassDocImpl.java:700)
              at com.sun.tools.javadoc.ClassDocImpl.findClass(ClassDocImpl.java:665)
              at com.sun.tools.javadoc.SeeTagImpl.findReferenced(SeeTagImpl.java:239)
              at com.sun.tools.javadoc.SeeTagImpl.<init>(SeeTagImpl.java:56)
              at com.sun.tools.javadoc.Comment$1CommentStringParser.parseCommentComponent(Comment.java:139)
              at com.sun.tools.javadoc.Comment$1CommentStringParser.parseCommentStateMachine(Comment.java:93)
              at com.sun.tools.javadoc.Comment.<init>(Comment.java:167)
              at com.sun.tools.javadoc.DocImpl.comment(DocImpl.java:81)
              at com.sun.tools.javadoc.DocImpl.tags(DocImpl.java:100)
              at GenDocletBeanInfo.start(GenDocletBeanInfo.java:159)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:582)
              at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:215)
              at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:91)
              at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:340)
              at com.sun.tools.javadoc.Start.begin(Start.java:128)
              at com.sun.tools.javadoc.Main.execute(Main.java:41)
              at com.sun.tools.javadoc.Main.main(Main.java:31)
      1 error
      ==========$

            gafter Neal Gafter (Inactive)
            gafter Neal Gafter (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: