{"record":{"id":"0a71bea91ef9e108","repo":"go-delve/delve","slug":"checkpoint-not-found","errorCode":null,"errorMessage":"checkpoint not found","messagePattern":"checkpoint not found","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"info","filePath":"pkg/proc/core/core.go","lineNumber":274,"sourceCode":"}\n\n// ChangeDirection will only return an error as you cannot continue a core process.\nfunc (p *process) ChangeDirection(proc.Direction) error { return ErrContinueCore }\n\n// GetDirection will always return forward.\nfunc (p *process) GetDirection() proc.Direction { return proc.Forward }\n\n// When does not apply to core files, it is to support the Mozilla 'rr' backend.\nfunc (p *process) When() (string, error) { return \"\", nil }\n\n// Checkpoint for core files returns an error, there is no execution of a core file.\nfunc (p *process) Checkpoint(string) (int, error) { return -1, ErrContinueCore }\n\n// Checkpoints returns nil on core files, you cannot set checkpoints when debugging core files.\nfunc (p *process) Checkpoints() ([]proc.Checkpoint, error) { return nil, nil }\n\n// ClearCheckpoint clears a checkpoint, but will only return an error for core files.\nfunc (p *process) ClearCheckpoint(int) error { return errors.New(\"checkpoint not found\") }\n\nfunc (p *process) SupportsBPF() bool {\n\treturn false\n}\n\nfunc (p *process) SetUProbe(fnName string, goidOffset int64, args []ebpf.UProbeArgMap) error {\n\tpanic(\"not implemented\")\n}\n\n// StartCallInjection notifies the backend that we are about to inject a function call.\nfunc (p *process) StartCallInjection() (func(), error) { return func() {}, nil }\n\nfunc (p *process) EnableURetProbes() error {\n\tpanic(\"not implemented\")\n}\n\nfunc (p *process) DisableURetProbes() error {\n\tpanic(\"not implemented\")","sourceCodeStart":256,"sourceCodeEnd":292,"githubUrl":"https://github.com/go-delve/delve/blob/a23773e6c31361e43246bc43a424ee009679b174/pkg/proc/core/core.go#L256-L292","documentation":"ClearCheckpoint on the core-file process (pkg/proc/core/core.go:274) always returns errors.New(\"checkpoint not found\") because no checkpoints can exist in a static core dump. Checkpoint returns -1/ErrContinueCore and Checkpoints returns nil for the same reason. The literal error is the only way to satisfy the interface's error contract.","triggerScenarios":"Calling ClearCheckpoint(id) — via 'checkpoint -d <id>' or rpc2 ClearCheckpoint — while debugging a core file opened with OpenCore.","commonSituations":"Scripts that clear all checkpoints after analysis run against both live and core sessions; users attempting checkpoint management at a 'dlv core' prompt; loop that iterates checkpoint IDs captured from a previous live session.","solutions":["Skip checkpoint operations entirely in core-file sessions; they are unsupported by design.","Gate checkpoint cleanup code on the backend/recorded state of the target.","Use checkpoints only with live or recorded (rr) debug targets.","Treat the 'checkpoint not found' response as a no-op signal in mixed-session automation."],"exampleFix":"// before\nfor _, id := range ids { dbg.ClearCheckpoint(id) } // errors on cores\n\n// after\nif !isCoreDump(target) {\n    for _, id := range ids { dbg.ClearCheckpoint(id) }\n}","handlingStrategy":"validation","validationCode":"if isCoreTarget(tg) { return nil } // nothing to clear in core sessions","typeGuard":"func checkpointsSupported(tg *proc.TargetGroup) bool { return !isCoreTarget(tg) }","tryCatchPattern":"err := dbg.ClearCheckpoint(id)\nif err != nil && strings.Contains(err.Error(), \"checkpoint not found\") && isCoreTarget(tg) {\n    return nil // expected: cores have no checkpoints\n}","preventionTips":["Only use checkpoint APIs on live or recorded (rr) targets.","Skip checkpoint enumeration/cleanup loops for core sessions.","Treat empty checkpoint lists in core sessions as normal, not a fault."],"tags":["core-dump","checkpoints","go","delve"],"backgroundTag":"core-file-not-executable","analyzedSha":"a23773e6c31361e43246bc43a424ee009679b174","analyzedAt":"2026-08-31T15:12:45.221Z","schemaVersion":2},"datasetVersion":"2026-08-31T19:17:28.585Z"}