org.eclipse.mat.SnapshotException: Illegal primitive object array type when parsing 42 GB heap dump using linux command
| --- | --- | | Bugzilla Link | 582890 | | Status | NEW | | Importance | P3 major | | Reported | Jan 28, 2024 04:03 EDT | | Modified | Feb 13, 2024 23:55 EDT | | Version | 1.15 | | Reporter | priyadharshini Ravi |
Description
org.eclipse.mat.SnapshotException: Illegal primitive object array type when parsing 42 GB heap dump using Linux command
Error message:
org.eclipse.mat.SnapshotException: Illegal primitive object array type
at org.eclipse.mat.hprof.Pass1Parser.readPrimitiveArrayDump(Pass1Parser.java:707)
at org.eclipse.mat.hprof.Pass1Parser.readDumpSegments(Pass1Parser.java:384)
at org.eclipse.mat.hprof.Pass1Parser.read(Pass1Parser.java:186)
at org.eclipse.mat.hprof.HprofIndexBuilder.fill(HprofIndexBuilder.java:80)
at org.eclipse.mat.parser.internal.SnapshotFactoryImpl.parse(SnapshotFactoryImpl.java:222)
at org.eclipse.mat.parser.internal.SnapshotFactoryImpl.openSnapshot(SnapshotFactoryImpl.java:126)
at org.eclipse.mat.snapshot.SnapshotFactory.openSnapshot(SnapshotFactory.java:147)
at org.eclipse.mat.internal.apps.ParseSnapshotApp.parse(ParseSnapshotApp.java:136)
at org.eclipse.mat.internal.apps.ParseSnapshotApp.start(ParseSnapshotApp.java:108)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
Kindly suggest any ideas to overcome this issue.
By priyadharshini Ravi on Feb 05, 2024 00:40
Any update on this?
By Gowtham K on Feb 13, 2024 23:55
Kindly suggest parsing this 42 GB dump in the Linux command for the below error
Priyadharshini - are you able to share some more detail? It looks like the heap is not able to be parsed in this code ..
https://github.com/eclipse-mat/mat/blob/b55b54a492ddba8303aa14874876041ccbdf6ece/plugins/org.eclipse.mat.hprof/src/org/eclipse/mat/hprof/Pass1Parser.java#L854-L855
This suggests to me maybe either some corruption with the hprof file, or maybe a different version of JVM is used to export the heap. Are you able to share any more information about it?
Marking this closed, but please reopen if we see another example. My suspicion is it was a corrupted heapdump, but happy to be corrected!