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

tool: Crashes when test file of unnamed package included in source dir

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P4 P4
    • 1.4.2
    • 1.4.0
    • tools
    • mantis
    • generic
    • other

      Javadoc crash.

      Our javadoc was working fine before we upgraded from 1.3.1
      to 1.4.0. Now it seems a lot of our test programs are all
      getting the same error shown below. Since the test
      programs are all java apps they are not in packages but
      they do sit in package directories since they are designed
      to test classes in a particular package. The jvm 1.4.0 javac
      did not have any issue with these test programs.
      But now I have had to add a package statement to all of
      them. And now we have to update all of our references to
      them to invoke them from the root of the classpath and
      to invoke them with the necessary package path as well.
      So just wanted to confirm that there was some change
      made in javadoc 1.4.0 version from 1.3.x that would
      explain this?
              thanks,

      /usr/java1.4.0/bin/javadoc -classpath /vobs/sas/src/servlets:/vobs/sas/src:/sas/
      packages/sslava/sslava.jar:/sas/packages/jrun/lib/ext/servlet.jar:/sas/packages/
      ldap_jsdk/packages/ldapjdk.jar:/sas/packages/ldap_jsdk/packages/ldapfilt.jar:/at
      t/oracle/app/oracle/product/8.1.6/jdbc/lib/jndi.zip:/att/oracle/app/oracle/produ
      ct/8.1.6/jdbc/lib/classes12.zip:/usr/java1.4.0/lib/tools.jar:/vobs/sas/src/jars/
      controlUI.jar \
      -J-Xmx64m \
      -nodeprecated \
      -version \
      -author \
      -windowtitle 'SAS Javadoc' \
      -d /vobs/sas/build/docs/javadoc \
      -header "<H2>SAS Java Documentation</H2>" \
      -group "SAS Business Objects Package" "com.att.sas.bizobjs" \
      -group "SAS Cookie Package" "com.att.sas.cookie" \
      -group "SAS CSG Package" "com.att.sas.csg" \
      -group "SAS Database Package" "com.att.sas.db" \
      -group "SAS DHCP Package" "com.att.sas.dhcp" \
      -group "SAS DHCP Log Package" "com.att.sas.dhcpdmn" \
      -group "SAS ISP Package" "com.att.sas.isp" \
      -group "SAS JSP Utilities Package" "com.att.sas.jsputil" \
      -group "SAS Java Utilities Package" "com.att.sas.javautil" -group "SAS Magnolia Client Package" "com.att.sas.magc" \
      -group "SAS OA&M Package" "com.att.sas.oam" \
      -group "SAS OneComm Message Package" "com.att.sas.onecomm" \
      -group "SAS Properties Package" "com.att.sas.properties" \
      -group "SAS Process Queue Package" "com.att.sas.queue" \
      -group "SAS Scope Management Package" "com.att.sas.scopes" \
      -group "SAS Socket Package" "com.att.sas.socket" \
      -group "SAS CableTel Package" "com.att.sas.tel" \
      -group "SAS Utilities Package" "com.att.sas.utilities" \
      /vobs/sas/src/com/att/sas/admin/ATTAdminServlet.java \
      /vobs/sas/src/com/att/sas/auth/ATTAuthServlet.java \
      /vobs/sas/src/com/att/sas/ispredirector/SasRedirector.java \
      /vobs/sas/src/install/LoadDBsyserror.java \
      /vobs/sas/src/com/att/sas/bizobjs/CableTelAccount.java \
      /vobs/sas/src/com/att/sas/bizobjs/HighSpeedDataAccount.java \
      /vobs/sas/src/com/att/sas/bizobjs/ServicePackage.java \
      /vobs/sas/src/com/att/sas/bizobjs/Policy.java \
      /vobs/sas/src/com/att/sas/bizobjs/Scope.java \
      /vobs/sas/src/com/att/sas/bizobjs/IspFeatPackage.java \
      /vobs/sas/src/com/att/sas/bizobjs/DataFeatPackage.java \
      com.att.sas.cookie \
      com.att.sas.csg \
      com.att.sas.db \
      com.att.sas.dhcp \
      com.att.sas.dhcpdmn \
      com.att.sas.isp \
      com.att.sas.jsputil \
      com.att.sas.javautil \
      com.att.sas.magc \
      com.att.sas.oam \
      com.att.sas.onecomm \
      com.att.sas.properties \
      com.att.sas.queue \
      com.att.sas.scopes \
      com.att.sas.socket \
      com.att.sas.tel \
      com.att.sas.utilities
      Loading source file /vobs/sas/src/com/att/sas/admin/ATTAdminServlet.java...
      Loading source file /vobs/sas/src/com/att/sas/auth/ATTAuthServlet.java...
      Loading source file /vobs/sas/src/com/att/sas/ispredirector/SasRedirector.java..
      .
      Loading source file /vobs/sas/src/install/LoadDBsyserror.java...
      Loading source file /vobs/sas/src/com/att/sas/bizobjs/CableTelAccount.java...
      Loading source file /vobs/sas/src/com/att/sas/bizobjs/HighSpeedDataAccount.java.
      ..
      Loading source file /vobs/sas/src/com/att/sas/bizobjs/ServicePackage.java...
      Loading source file /vobs/sas/src/com/att/sas/bizobjs/Policy.java...
      Loading source file /vobs/sas/src/com/att/sas/bizobjs/Scope.java...
      Loading source file /vobs/sas/src/com/att/sas/bizobjs/IspFeatPackage.java...
      Loading source file /vobs/sas/src/com/att/sas/bizobjs/DataFeatPackage.java...
      Loading source files for package com.att.sas.cookie...
      Loading source files for package com.att.sas.csg...
      Loading source files for package com.att.sas.db...
      Loading source files for package com.att.sas.dhcp...
      Loading source files for package com.att.sas.dhcpdmn...
      Loading source files for package com.att.sas.isp...
      Loading source files for package com.att.sas.jsputil...
      Loading source files for package com.att.sas.javautil...
      Loading source files for package com.att.sas.magc...
      Loading source files for package com.att.sas.oam...
      Loading source files for package com.att.sas.onecomm...
      Loading source files for package com.att.sas.properties...
      Loading source files for package com.att.sas.queue...
      Loading source files for package com.att.sas.scopes...
      Loading source files for package com.att.sas.socket...
      Loading source files for package com.att.sas.tel...
      Loading source files for package com.att.sas.utilities...
      Constructing Javadoc information...
      javadoc: In doclet class com.sun.tools.doclets.standard.Standard, method start
      has thrown an exception java.lang.reflect.InvocationTargetException
      com.sun.tools.javac.v8.code.ClassReader$BadClassFile: bad class file: /vobs/sas/
      src/com/att/sas/csg/SSLTest.class
      class file contains wrong class: SSLTest
      Please remove or make sure it appears in the correct subdirectory of the classpa
      th.
          at com.sun.tools.javac.v8.code.ClassReader.badClassFile(ClassReader.java:248
      )
          at com.sun.tools.javac.v8.code.ClassReader.readClass(ClassReader.java:796)
          at com.sun.tools.javac.v8.code.ClassReader.readClassFile(ClassReader.java:87
      8)
          at com.sun.tools.javac.v8.code.ClassReader.fillIn(ClassReader.java:1010)
          at com.sun.tools.javac.v8.code.ClassReader.complete(ClassReader.java:977)
          at com.sun.tools.javac.v8.code.Symbol.complete(Symbol.java:375)
          at com.sun.tools.javac.v8.code.Symbol$ClassSymbol.complete(Symbol.java:697)
          at com.sun.tools.javac.v8.code.Symbol$ClassSymbol.flags(Symbol.java:594)
          at com.sun.tools.javadoc.ClassDocImpl.isSynthetic(ClassDocImpl.java:234)
          at com.sun.tools.javadoc.PackageDocImpl.getClasses(PackageDocImpl.java:127)
          at com.sun.tools.javadoc.PackageDocImpl.addAllClassesTo(PackageDocImpl.java:
      142)
          at com.sun.tools.javadoc.RootDocImpl.classes(RootDocImpl.java:168)
          at com.sun.tools.doclets.standard.ConfigurationStandard.setSpecificDocletOpt
      ions(ConfigurationStandard.java:268)
          at com.sun.tools.doclets.Configuration.setOptions(Configuration.java:246)
          at com.sun.tools.doclets.standard.Standard.startGeneration(Standard.java:72)
          at com.sun.tools.doclets.standard.Standard.start(Standard.java:44)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java
      :39)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorI
      mpl.java:25)
          at java.lang.reflect.Method.invoke(Method.java:324)
          at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:196)
          at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:95)
          at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:288)
          at com.sun.tools.javadoc.Start.begin(Start.java:114)
          at com.sun.tools.javadoc.Main.execute(Main.java:44)
          at com.sun.tools.javadoc.Main.main(Main.java:34)
      1 error

      His email reply to a request for more info...

      And finally more info on the crash.
      Believe it would be simple for you to reproduce
      based on my fix.

      Take any working class in a package.
      Now create a test java app that calls it and put it
      in same dir but dont have any package statement in it.
      Now run javadoc from classpath root and give it the
      package dir to process. When it hits the test program
      in that dir you should see error above.

      And to answer your crash questions.
      The Makefile is run in the package dir
      (/vobs/sas/src/com/att/sas/csg), and produces the
      SSLTest.class file in that dir from the SSLTest.java file in
      that dir. When javadoc is run we feed it our standard
      classpath so that includes the classpath root dir
      (/vobs/sas/src) but not the packages dirs.
      Then we feed it all package dirs to process, so in this
      case it blew up while trying to process com/att/sas/csg.

      Let me know if this isnt clear.

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

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: