-
Notifications
You must be signed in to change notification settings - Fork 84
Description
Description
When building a large Java project using GraalVM Native Image with the --emit build-report option enabled, the generated HTML report is too large to be rendered by web browsers.
In my project, the resulting HTML file is so large that attempting to open it in Chrome, Edge, or Firefox results in a "Uncaught ReferenceError: Table is not defined" error. This is likely due to the browser's JavaScript heap limits being exceeded when trying to parse and render the massive embedded data structures.
To Reproduce
Build a large Java project in the usual way and generate a build report.
Expected behavior
The build report should be accessible and navigable even for very large projects.
Logs
debug info during build:
[2/8] Performing analysis... [******] (54.2s @ 7.92GB)
79,750 types, 121,498 fields, and 397,145 methods found reachable
37,892 types, 57,053 fields, and 156,595 methods registered for reflection
6,259 types, 25,674 fields, and 75,979 methods registered for JNI access
0 downcalls and 0 upcalls registered for foreign access
5 native libraries: crypt32, ncrypt, psapi, version, winhttp
.....
[8/8] Creating image... [****] (17.8s @ 10.87GB)
238.89MB (49.28%) for code area: 279,729 compilation units
233.37MB (48.14%) for image heap:2,117,990 objects and 3,936 resources
12.50MB ( 2.58%) for other data
484.77MB in total image size, 484.77MB in total file size
build report source code:
...
<script>
const toolName="Build Report";
const appName="app-name";
const dateTime="2026/03/12 09:50:51";
const icon="......";
const expertMode="true";
const sections=...... (This line is approximately 200MB.)
</script>
</body>
</html>
Chrome console output:
Uncaught ReferenceError: Table is not defined
at build-report.html:31:53
System Info:
- OS:
Windows x64 - GraalVM Version:
GraalVM 25.0.2+10.1 - Java Version:
25 - Plugin version:
native-maven-plugin:0.11.5
Additional context
The generated HTML file is over 200MB.