{"record":{"id":"13680c5b4aa180e0","repo":"go-delve/delve","slug":"unsupported-architecture-s","errorCode":null,"errorMessage":"unsupported architecture %s","messagePattern":"unsupported architecture (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/proc/core/minidump/minidump.go","lineNumber":366,"sourceCode":"\tfor i := range mdmp.Streams {\n\t\tstream := &mdmp.Streams[i]\n\t\tif stream.Type != SystemInfoStream {\n\t\t\tcontinue\n\t\t}\n\n\t\tsb := streamBuf(stream, buf, \"system info\")\n\t\tif buf.err != nil {\n\t\t\treturn nil, buf.err\n\t\t}\n\n\t\tarch := Arch(sb.u16())\n\n\t\tif logfn != nil {\n\t\t\tlogfn(\"Found processor architecture %s\", arch.String())\n\t\t}\n\n\t\tif arch != CpuArchitectureAMD64 {\n\t\t\treturn nil, fmt.Errorf(\"unsupported architecture %s\", arch.String())\n\t\t}\n\t}\n\n\tfor i := range mdmp.Streams {\n\t\tstream := &mdmp.Streams[i]\n\t\tif logfn != nil {\n\t\t\tlogfn(\"Stream %d: type:%s off:%#x size:%#x\", i, stream.Type, stream.Offset, len(stream.RawData))\n\t\t}\n\t\tswitch stream.Type {\n\t\tcase ThreadListStream:\n\t\t\treadThreadList(&mdmp, streamBuf(stream, buf, \"thread list\"))\n\t\t\tif logfn != nil {\n\t\t\t\tfor i := range mdmp.Threads {\n\t\t\t\t\tlogfn(\"\\tID:%#x TEB:%#x\", mdmp.Threads[i].ID, mdmp.Threads[i].TEB)\n\t\t\t\t}\n\t\t\t}\n\t\tcase ModuleListStream:\n\t\t\treadModuleList(&mdmp, streamBuf(stream, buf, \"module list\"))","sourceCodeStart":348,"sourceCodeEnd":384,"githubUrl":"https://github.com/go-delve/delve/blob/a23773e6c31361e43246bc43a424ee009679b174/pkg/proc/core/minidump/minidump.go#L348-L384","documentation":"When loading a Windows minidump, Delve reads the processor architecture from the dump's system info stream and only supports AMD64 (x86-64) dumps. If the dump was produced on any other CPU architecture (ARM64, x86/386, etc.), LoadMiniDumpFile rejects it with this error. It exists because the minidump core backend cannot interpret register state or unwind stacks for non-AMD64 processors.","triggerScenarios":"Calling proc.LoadMiniDumpFile (directly or via `dlv core <dump>` / service/debugger CoreTarget) on a .dmp file whose SystemInfoStream reports a CpuArchitecture value other than CpuArchitectureAMD64.","commonSituations":"Analyzing a minidump captured on an ARM64 Windows machine (e.g. Surface Pro X, Snapdragon laptops) or a 32-bit x86 (WOW64) process dump; cross-arch debugging where the dump machine differs from the supported set.","solutions":["Regenerate the minidump from an x86-64 (AMD64) process, or use the dump of the 64-bit process instead of the WOW64 32-bit one.","Verify the dump's architecture with dumpchk/WinDbg and confirm it is x64 before loading.","Check for a newer Delve version that may have added your architecture's minidump support, or extend minidump.go with a new CpuArchitecture case.","If you only need memory contents (not stack unwinding), extract memory ranges with a generic minidump parser instead of Delve."],"exampleFix":"// before: loading an ARM64 dump\ncore, err := proc.LoadMiniDumpFile(\"arm64.dmp\", logfn, 0) // unsupported architecture arm64\n\n// after: use an AMD64 dump\ncore, err := proc.LoadMiniDumpFile(\"amd64.dmp\", logfn, 0)","handlingStrategy":"validation","validationCode":"func dumpArchIsAMD64(path string) bool {\n    md, err := minidump.Open(path)\n    if err != nil { return false }\n    defer md.Close()\n    return md.ProcessorArchitecture == minidump.CpuArchitectureAMD64\n}\n// check before calling proc.LoadMiniDumpFile","typeGuard":"func archIsSupported(arch minidump.CpuArchitecture) bool {\n    return arch == minidump.CpuArchitectureAMD64\n}","tryCatchPattern":null,"preventionTips":["Record the OS/arch of the machine that produced each dump alongside the artifact.","Automate a header check (magic + architecture field) before feeding dumps to Delve.","Standardize on 64-bit processes so WOW64/32-bit dumps never reach triage.","Keep Delve updated in case additional architectures gain minidump support."],"tags":["minidump","architecture","windows","core-dump"],"backgroundTag":"unsupported-cpu-architecture","analyzedSha":"a23773e6c31361e43246bc43a424ee009679b174","analyzedAt":"2026-08-31T15:12:45.221Z","schemaVersion":2},"datasetVersion":"2026-08-31T19:17:28.585Z"}