Debian navigation

Notes about issue random_order_in_documentation_generated_by_javadoc in buster

Identifier: random_order_in_documentation_generated_by_javadoc
Suites: unstable / trixie / bookworm / bullseye / buster / experimental
Description: Some entries inside individual "class-use" documentation pages are emitted in different orders.
This appears to only happen with multi-module maven projects, i.e. possibly during
`mvn javadoc:aggregate`.
.
In `jacoco`, you can observe files are generated consistently in the individual submodule
documentation folders, but then differently when aggregated. Maybe a coincidence.
.
Historically, there were some other issues. These have disappeared, but it's not clear why.
The major version of OpenJDK has changed since these issues were reported (was 7, now 8),
although the code that was believed to be at fault remains unchanged. These are detailed below.
.
The `package-tree.html` file generated by javadoc used to contain an unsorted index.
.
Perhaps caused by packageFiles is a Map> in
openjdk-7-jdk -> ./langtools.tar.bz2 ->
src/share/classes/com/sun/tools/javadoc/JavadocTool.java
.
There was also a locale-specific wrapping issue, which has disappeared.
This may be because enough things are using javahelper, which sets the locale.
.
Likely cause is
jdk9_dev/langtools/src/jdk.javadoc/share/classes/com/sun/tools/javadoc/DocLocale.java +172
.
Workaround is
https://sources.debian.net/src/maven-debian-helper/latest/share/cdbs/1/class/maven.mk/?hl=136#L136
Packages in 'buster' known to be affected by this issue:
(the 1/4 most-popular ones (within this issue) are underlined)

reproducible icon 282 reproducible packages in buster/amd64: access-modifier-checker activemq activemq-activeio activemq-protobuf adql akuma android-platform-libcore antlr3 antlr4 apache-log4j-extras1.2 apache-log4j1.2 apache-log4j2 apache-mime4j argparse4j args4j asm async-http-client atinject-jsr330 axis axmlrpc beansbinding biojava-live biojava4-live bouncycastle bsaf byte-buddy bytecode canl-java castor cdi-api cglib classycle commons-beanutils commons-configuration commons-configuration2 commons-io commons-jci commons-math commons-math3 commons-vfs cssparser csvjdbc dbus-java derby docbook-xsl-saxon dokujclient dom4j doxia doxia-sitetools dtd-parser easymock eclipselink felix-bundlerepository felix-framework felix-gogo-runtime felix-gogo-shell felix-main felix-shell fest-assert fest-reflect fest-test flute geronimo-jpa-2.0-spec geronimo-jta-1.1-spec geronimo-validation-1.0-spec geronimo-validation-1.1-spec gluegen2 guava-libraries guice hawtjni hessian htsjdk httpunit icu4j imagej ini4j insubstantial invokebinder isorelax ivy jackson-annotations jackson-dataformat-cbor jackson-dataformat-smile jackson-dataformat-yaml jackson-datatype-joda jackson-jr jacoco jam-lib jansi jargs jasypt java-gnome javahelp2 javamail javaparser javassist javatuples javawriter jaxb jaxe jblas jboss-classfilewriter jboss-jdeparser2 jboss-logging jboss-logging-tools jboss-logmanager jboss-modules jebl2 jenkins-json jenkins-trilead-ssh2 jericho-html jgit jglobus jimfs jmdns jmock2 jmol jnr-constants jnr-ffi jnr-unixsocket jnr-x86asm joda-convert joptsimple josql jsamp jsap jsemver json-simple jsoup jtharness jtidy jts lgooddatepicker libandroid-json-org-java libasm4-java libcds-moc-java libcobra-java libcommons-codec-java libcommons-collections3-java libcommons-collections4-java libcommons-dbcp-java libcommons-digester-java libcommons-discovery-java libcommons-fileupload-java libcommons-jxpath-java libcommons-lang3-java libcommons-net-java libdecentxml-java libfastutil-java libformula libfreemarker-java libglazedlists-java libhamcrest-java libhibernate3-java libhtml5parser-java libhtmlparser-java libidw-java libimglib2-java libirclib-java libiscwt-java libisrt-java libitext5-java libj2ssh-java libjackson-json-java libjaxen-java libjchart2d-java libjemmy2-java libjfreechart-java libjgraph-java libjgraphx-java libjlatexmath-java libjlha-java libjoda-time-java libjpf-java libjsonp-java libjsr305-java libjsr311-api-java libjtds-java libjung-free-java libjuniversalchardet-java libkryo-java libloader libmetadata-extractor-java libonemind-commons-java-java libowasp-antisamy-java libowasp-esapi-java libpal-java libpdfbox-java libpgjava libpicocontainer-java libquartz-java libregexp-java librepository libspin-java libswingx-java libtwelvemonkeys-java libvt-ldap-java libxbean-java libxmlenc-java libxmlrpc3-java libxpp2-java libxpp3-java localizer logback mac-widgets maven-antrun-extended-plugin maven-archiver maven-bundle-plugin maven-common-artifact-filters maven-compiler-plugin maven-dependency-tree maven-doxia-tools maven-jar-plugin maven-reporting-impl maven-scm maven-shared-io maven-shared-utils mockito mockobjects modello mojarra multiverse-core mvel nekohtml objenesis okio opencsv openid4java opsin osgi-annotation osgi-compendium osgi-foundation-ee owasp-java-html-sanitizer plexus-build-api plexus-cipher plexus-classworlds plexus-compiler plexus-containers plexus-digest plexus-interactivity-api plexus-interpolation plexus-sec-dispatcher plexus-utils2 png-sixlegs portlet-api-2.0-spec rdp-classifier rhino robocode rome saxonb sdes4j serp service-wrapper-java sitemesh skyview slixmpp snakeyaml sqljet statcvs sunflow svnkit swtchart tagsoup tiles timingframework truffle truffle-dsl-processor uima-addons uima-as uimaj vecmath velocity wagon wala werken.xpath weupnp wsdl4j xhtmlrenderer xmlbeans-maven-plugin xmlgraphics-commons xom zookeeper

FTBFS icon 1 FTBFS packages in buster/amd64: bcel

FTBR icon 11 unreproducible packages in buster/amd64: codenarc elki fop gradle i2p libcommons-lang-java libjogl2-java libvldocking-java libxml-security-java naga openjfx

timeout icon 2 build timeout packages in buster/amd64: libreoffice voms-api-java

 

Our notes about issues affecting packages are stored in notes.git and are targeted at packages in Debian in 'unstable/amd64' (unless they say otherwise).

A package name displayed with a bold font is an indication that this package has a note. Visited packages are linked in green, those which have not been visited are linked in blue.
A # sign after the name of a package indicates that a bug is filed against it. Likewise, a + sign indicates there is a patch available, a P means a pending bug while # indicates a closed bug. In cases of several bugs, the symbol is repeated.