Bug#905139: apache-log4j2: FTBFS with Java 10 due to a javadoc bug triggered by static String literals containing angle brackets

Emmanuel Bourg ebourg at apache.org
Tue Jul 31 16:05:57 BST 2018


Source: apache-log4j2
Version: 2.10.0-2
Severity: serious
Tags: sid buster
User: debian-java at lists.debian.org
Usertags: default-java10

apache-log4j2 currently fails to build with Java 10, the build breaks
with the following javadoc error:

  [ERROR] javadoc: error - An internal exception has occurred. 
  [ERROR] 	(java.lang.IllegalArgumentException: "<main class>")
  [ERROR] Please file a bug against the javadoc tool via the Java bug reporting page
  [ERROR] (http://bugreport.java.com) after checking the Bug Database (http://bugs.java.com)
  [ERROR] for duplicates. Include error messages and the following diagnostic in your report. Thank you.
  [ERROR] java.lang.IllegalArgumentException: "<main class>"
  [ERROR] 	at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter.check(HtmlDocletWriter.java:1306)
  [ERROR] 	at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter.getDocLink(HtmlDocletWriter.java:1300)
  [ERROR] 	at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter.getDocLink(HtmlDocletWriter.java:1277)
  [ERROR] 	at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter.getDocLink(HtmlDocletWriter.java:1260)
  [ERROR] 	at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.TagletWriterImpl.valueTagOutput(TagletWriterImpl.java:409)
  [ERROR] 	at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.taglets.ValueTaglet.getTagletOutput(ValueTaglet.java:161)
  [ERROR] 	at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.taglets.TagletWriter.getInlineTagOutput(TagletWriter.java:274)
  [ERROR] 	at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter$2.defaultAction(HtmlDocletWriter.java:1921)
  [ERROR] 	at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter$2.defaultAction(HtmlDocletWriter.java:1716)
  [ERROR] 	at jdk.compiler/com.sun.source.util.SimpleDocTreeVisitor.visitValue(SimpleDocTreeVisitor.java:499)


This error is triggered by a static String literal in the CommandLine.java
class:

    protected static final String DEFAULT_COMMAND_NAME = "<main class>";

It looks like the angle brackets are improperly interpreted as an HTML element.
It's possible to work around this issue by replacing the value with:

    protected static final String DEFAULT_COMMAND_NAME = new String("<main class>");



More information about the pkg-java-maintainers mailing list