Bug 61603

Summary: Not-well-formed XML returned from /manager/status?XML=true when running Java 9
Product: Tomcat 8 Reporter: Shira <shiragumo>
Component: ManagerAssignee: Tomcat Developers Mailing List <dev>
Severity: regression    
Priority: P2    
Version: 8.5.23   
Target Milestone: ----   
Hardware: PC   
OS: Linux   

Description Shira 2017-10-10 01:36:57 UTC

When running Tomcat 8.5.23 or Tomcat 9.0.1 for that matter with Java 9
the response from /manager/status?XML=true is returning not-well-formed XML data.

Expected behaviour:
Getting well-formed XML.

Actual behaviour:
Getting non-well-formed XML.

Always when run on Java 9.

Example snippet of offending output:
<memorypool name='CodeHeap 'non-nmethods'' type='Non-heap memory' usageInit='2555904' usageCommitted='2555904' usageMax='5836800' usageUsed='1469952'/>

Please note the apostrophes surrounding non-nmethods, which should be escaped.

Possible solution:
Ensure all String attribute values are XML-escaped.

Thank you.
Comment 1 Remy Maucherat 2017-10-10 14:31:48 UTC
It is possible other values could need escaping, but the others are rather controlled (IMO) so it seems reasonable to keep that as is for now.
Fixed in 9.0.2, 8.5.24, 8.0.48, 7.0.83.