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
==========$