Summary: | NegativeArraySizeException parsing huge heap dump | ||
---|---|---|---|
Product: | [Tools] MAT | Reporter: | Andrew Johnson <andrew_johnson> |
Component: | Core | Assignee: | Project Inbox <mat.core-inbox> |
Status: | CLOSED MOVED | QA Contact: | |
Severity: | normal | ||
Priority: | P3 | CC: | roy.sunny.zhang007 |
Version: | 1.9 | ||
Target Milestone: | --- | ||
Hardware: | All | ||
OS: | All | ||
Whiteboard: |
Description
Andrew Johnson
2019-10-10 10:29:06 EDT
For the record, please could you confirm the version of MAT and the JVM version. The failure looks to be in JVM class library code in ObjectOutputStream where the table holding the mapping of objects to IDs is extended. This code seems to double the size of the array each time. The MAT code is writing out the GC roots as a HashMapIntObject<XGCRootInfo[]> The heap size of 1,104,267,590 objects is just over 2^30 Perhaps the dump has very many GC roots (keep unreachable objects is set?). The line in SnapshotImpl is https://git.eclipse.org/c/mat/org.eclipse.mat.git/tree/plugins/org.eclipse.mat.parser/src/org/eclipse/mat/parser/internal/SnapshotImpl.java?id=2909188cf1c0af29e7e2e4affc17ec872a490cbb#n215 Guessing version as 1.9 This issue has been migrated to https://github.com/eclipse-mat/org.eclipse.mat/issues/29. |