-
Notifications
You must be signed in to change notification settings - Fork 3k
Open
Labels
Description
Describe the bug
Compiling quarkus app into native image occasionally fails on Error: The heap snapshot verifier discovered a type not marked as reachable
. see example
This happens in testSuite and it happens randomly - on different application sometimes on amd64 architecture sometimes on aarch64.
I cannot provide any specific way how to reproduce it, as this seems to happen randomly. But we're experiencing this in our daily tests every day since March 14 2025.
Examples of failures:
04:19:32,806 INFO mvn: Error: The heap snapshot verifier discovered a type not marked as reachable: AnalysisType<HotSpotDiagnosticMXBean$ThreadDumpFormat[] -> HotSpotType<[Lcom/sun/management/HotSpotDiagnosticMXBean$ThreadDumpFormat;, resolved>, allocated: false, inHeap: false, reachable: false>
04:19:32,806 INFO mvn: com.oracle.graal.pointsto.util.AnalysisError: The heap snapshot verifier discovered a type not marked as reachable: AnalysisType<HotSpotDiagnosticMXBean$ThreadDumpFormat[] -> HotSpotType<[Lcom/sun/management/HotSpotDiagnosticMXBean$ThreadDumpFormat;, resolved>, allocated: false, inHeap: false, reachable: false>
04:19:32,806 INFO mvn: at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.AnalysisError.guarantee(AnalysisError.java:184)
04:19:32,806 INFO mvn: at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.heap.HeapSnapshotVerifier$ScanningObserver.ensureTypeScanned(HeapSnapshotVerifier.java:332)
04:19:32,806 INFO mvn: at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.heap.HeapSnapshotVerifier$ScanningObserver.forScannedConstant(HeapSnapshotVerifier.java:318)
04:19:32,806 INFO mvn: at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.ObjectScanner.scanConstant(ObjectScanner.java:252)
04:19:32,806 INFO mvn: at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.ObjectScanner.scanField(ObjectScanner.java:181)
04:19:32,806 INFO mvn: at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.ObjectScanner.doScan(ObjectScanner.java:386)
04:19:32,806 INFO mvn: at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.ObjectScanner.lambda$scanConstant$6(ObjectScanner.java:257)
04:19:32,806 INFO mvn: at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.CompletionExecutor.executeCommand(CompletionExecutor.java:187)
04:19:32,807 INFO mvn: at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.CompletionExecutor.lambda$executeService$0(CompletionExecutor.java:171)
04:19:32,807 INFO mvn: at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1423)
04:19:32,807 INFO mvn: at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)
04:19:32,807 INFO mvn: at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)
04:19:32,807 INFO mvn: at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)
04:19:32,807 INFO mvn: at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)
04:19:32,808 INFO mvn: at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)
mvn: com.oracle.graal.pointsto.util.AnalysisError: The heap snapshot verifier discovered a type not marked as reachable: AnalysisType<MemoryType[] -> HotSpotType<[Ljava/lang/management/MemoryType;, resolved>, allocated: false, inHeap: false, reachable: false>
mvn: com.oracle.graal.pointsto.util.AnalysisError: The heap snapshot verifier discovered a type not marked as reachable: AnalysisType<HotSpotDiagnosticMXBean$ThreadDumpFormat[] -> HotSpotType<[Lcom/sun/management/HotSpotDiagnosticMXBean$ThreadDumpFormat;, resolved>, allocated: false, inHeap: false, reachable: false>
mvn: com.oracle.graal.pointsto.util.AnalysisError: The heap snapshot verifier discovered a type not marked as reachable: AnalysisType<MemoryType[] -> HotSpotType<[Ljava/lang/management/MemoryType;, resolved>, allocated: false, inHeap: false, reachable: false>
Expected behavior
No response
Actual behavior
No response
How to Reproduce?
No response
Output of uname -a
or ver
No response
Output of java -version
No response
Mandrel or GraalVM version (if different from Java)
No response
Quarkus version or git rev
999-SNAPSHOT
Build tool (ie. output of mvnw --version
or gradlew --version
)
No response
Additional information
No response