Loading with JMC on Mac an hprof file I have received to analyze gives the following error:
jdk mission control not reading heap dump file for collision for intKey = cb041c30.
Verify that IDs have 32 meaningful bits and/or that useOnlyLowWord was set correctly
I can load the file just fine with Intellij, VisualVM and Eclipse Memory Analyzer.
On a MacBook Pro running Sonoma 14.5, Java 17, I run JDK Mission Control 9.0.0+b10
(Qualifier: 202403222148, Change id: d20879587cab4cccae23afb5702d982e4a3f6d5b).
I go to File -> Open, select the hprof file and get a pop up with the above error.
The details of that error are:
java.lang.RuntimeException: Collision for intKey = cd107760. Verify that IDs have 32 meaningful bits and/or that useOnlyLowWord was set correctly.
at org.openjdk.jmc.joverflow.util.IntToIntMap.throwCollisionException(IntToIntMap.java:147)
at org.openjdk.jmc.joverflow.util.IntToIntMap.doPut(IntToIntMap.java:74)
at org.openjdk.jmc.joverflow.util.IntToIntMap.put(IntToIntMap.java:67)
at org.openjdk.jmc.joverflow.heap.model.Snapshot$Builder.addJavaObject(Snapshot.java:620)
at org.openjdk.jmc.joverflow.heap.parser.HprofReader.readInstance(HprofReader.java:881)
at org.openjdk.jmc.joverflow.heap.parser.HprofReader.readHeapDump(HprofReader.java:566)
at org.openjdk.jmc.joverflow.heap.parser.HprofReader.doRead(HprofReader.java:430)
at org.openjdk.jmc.joverflow.heap.parser.HprofReader.read(HprofReader.java:263)
at org.openjdk.jmc.joverflow.ui.model.ModelLoader.run(ModelLoader.java:99)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:840)
Other hprof files I have open in JMC just fine.