Issue2539

classification
Title: javadoc aborts with Java 8
Type: Severity: normal
Components: Documentation Versions: Jython 2.7
Milestone: Jython 2.7.1
process
Status: pending Resolution: fixed
Dependencies: Superseder:
Assigned To: stefan.richthofer Nosy List: stefan.richthofer
Priority: normal Keywords:

Created on 2016-12-19.20:59:30 by stefan.richthofer, last changed 2017-02-06.00:43:41 by stefan.richthofer.

Messages
msg11004 (view) Author: Stefan Richthofer (stefan.richthofer) Date: 2016-12-19.20:59:29
javadoc: error - com.sun.tools.doclets.internal.toolkit.util.DocletAbortException: com.sun.tools.doclets.internal.toolkit.util.DocletAbortException: com.sun.tools.doclets.internal.toolkit.util.DocletAbortException: java.lang.IllegalArgumentException: "<stdin>"

This happens while processing InteractiveInterpreter.java or InteractiveConsole.java and aborts javadoc process, yielding an incomplete result (i.e. no index.html, no css etc; actually unusable).
It can be fixed by changing the "<stdin>"-literal to '<'+"stdin"+'>' in 
public String filename = "<stdin>"; in InteractiveInterpreter.java
and in
public static final String CONSOLE_FILENAME = "<stdin>"; in InteractiveConsole.java. In the latter it only works if 'final' is removed, which isn't exactly ideal. I suppose with final-keyword, javac merges '<'+"stdin"+'>' implicitly to "<stdin>" at compile-time, leading to the original issue again. Same if you use \u003c and \u003e in place of '<' and '>'.
msg11075 (view) Author: Stefan Richthofer (stefan.richthofer) Date: 2017-02-06.00:13:47
Update:
To work around this, it seems to be sufficient to remove 'final' in

public static final String CONSOLE_FILENAME = "<stdin>"

in InteractiveConsole.java. No need to use '<'+"stdin"+'>'. Maybe this improved due to Java update, maybe I overlooked this detail last time.

Tested on Linux Mint 18 and Windows 10 with JDK 1.8.0_121.
msg11076 (view) Author: Stefan Richthofer (stefan.richthofer) Date: 2017-02-06.00:43:41
Fixed as of https://github.com/jythontools/jython/commit/95f3f9adcbbfbe7d7f67238a0247d2ca0e03f6d0.

Maybe I should file an issue at Java bugtracker about this. Last time I looked for it I didn't find this javadoc behavior mentioned in their tracker.
History
Date User Action Args
2017-02-06 00:43:41stefan.richthofersetstatus: open -> pending
resolution: fixed
messages: + msg11076
2017-02-06 00:13:48stefan.richthofersetassignee: stefan.richthofer
messages: + msg11075
milestone: Jython 2.7.1
2016-12-19 20:59:30stefan.richthofercreate