detected at: checkstyle/checkstyle#19043 (comment)
postProcessCheckstyleReport() in diff.groovy reads the entire checkstyle-result.xml into a single Java String (diff.groovy)
def content = checkstyleResultFile.text
content = content.replace(oldPath, newPath)
checkstyleResultFile.text = content
For large projects (e.g., openjdk25 with full google_checks.xml), the XML file exceeds the hard JVM String size limit of 1,073,741,823 characters introduced in JDK 9 (JDK-8190429).
Error:(link)
java.lang.OutOfMemoryError: UTF16 String size is 1074003966, should be less than 1073741823
Fix:
Replace the whole-file read with line-by-line streaming