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

Javadoc sort fails

    XMLWordPrintable

Details

    • 9
    • b14
    • Verified

    Description

      In JDK-8039410, new a new Comparator was introduced in javadoc. This causes the build to fail on our proposed new Linux machines in the test JPRT queue. I have not seen the failure anywhere else, but on those machines it's very consistent when building the docs target for the jdk.

      The error message is:
      java.lang.IllegalArgumentException: Comparison method violates its general contract!
      at java.util.TimSort.mergeHi(TimSort.java:895)
      at java.util.TimSort.mergeAt(TimSort.java:512)
      at java.util.TimSort.mergeCollapse(TimSort.java:435)
      at java.util.TimSort.sort(TimSort.java:241)
      at java.util.Arrays.sort(Arrays.java:1507)
      at java.util.ArrayList.sort(ArrayList.java:1439)
      at com.sun.tools.doclets.internal.toolkit.util.IndexBuilder.sortIndexMap(IndexBuilder.java:115)
      at com.sun.tools.doclets.internal.toolkit.util.IndexBuilder.buildIndexMap(IndexBuilder.java:151)
      at com.sun.tools.doclets.internal.toolkit.util.IndexBuilder.<init>(IndexBuilder.java:103)
      at com.sun.tools.doclets.internal.toolkit.util.IndexBuilder.<init>(IndexBuilder.java:82)
      at com.sun.tools.doclets.formats.html.HtmlDoclet.generateOtherFiles(HtmlDoclet.java:122)
      at com.sun.tools.doclets.internal.toolkit.AbstractDoclet.startGeneration(AbstractDoclet.java:144)
      at com.sun.tools.doclets.internal.toolkit.AbstractDoclet.start(AbstractDoclet.java:82)
      at com.sun.tools.doclets.formats.html.HtmlDoclet.start(HtmlDoclet.java:80)
      at com.sun.tools.doclets.standard.Standard.start(Standard.java:39)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:483)
      at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:310)
      at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:189)
      at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:366)
      at com.sun.tools.javadoc.Start.begin(Start.java:219)
      at com.sun.tools.javadoc.Start.begin(Start.java:205)
      at com.sun.tools.javadoc.Main.execute(Main.java:64)
      at com.sun.tools.javadoc.Main.main(Main.java:54)

      which I understand means that the comparator method isn't correct, most likely the transitive condition is not upheld.

      Attachments

        Issue Links

          Activity

            People

              ksrini Kumar Srinivasan
              erikj Erik Joelsson
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: