{"record":{"id":"39e3d923d85a97e1","repo":"go-delve/delve","slug":"not-implemented-39e3d9","errorCode":null,"errorMessage":"not implemented","messagePattern":"not implemented","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/proc/native/followexec_other.go","lineNumber":13,"sourceCode":"//go:build !linux && !windows\n\npackage native\n\nimport \"errors\"\n\n// FollowExec enables (or disables) follow exec mode\nfunc (*nativeProcess) FollowExec(bool) error {\n\treturn errors.New(\"follow exec not implemented\")\n}\n\nfunc (*processGroup) detachChild(*nativeProcess) error {\n\tpanic(\"not implemented\")\n}\n","sourceCodeStart":1,"sourceCodeEnd":15,"githubUrl":"https://github.com/go-delve/delve/blob/a23773e6c31361e43246bc43a424ee009679b174/pkg/proc/native/followexec_other.go#L1-L15","documentation":"Follow-exec mode (debugging child processes after fork/exec) is implemented only on Linux; on other platforms detachChild on processGroup panics with 'not implemented', and FollowExec returns a plain error. The panic surfaces if the cross-platform code path calls add() which tries to detach a child on a backend that can't create one.","triggerScenarios":"Calling processGroup.add (or enabling follow-exec) on a non-Linux OS (windows, darwin, freebsd) where followexec_other.go's stub is compiled in.","commonSituations":"Using delve's follow-exec feature on macOS/Windows; embedding pkg/proc/native in a tool that calls detachChild outside Linux; tests exercising process-group logic portably.","solutions":["Use follow-exec only on Linux","Check runtime.GOARCH/GOOS before enabling FollowExec in tooling","For other OSes, handle the FollowExec error return instead of reaching detachChild","Track upstream porting notes for follow-exec on other platforms"],"exampleFix":"// before\ngrp.add(child)\n// after\nif runtime.GOOS != \"linux\" {\n    return errors.New(\"follow exec not supported on \" + runtime.GOOS)\n}\ngrp.add(child)","handlingStrategy":"validation","validationCode":"if runtime.GOOS != \"linux\" {\n    return errors.New(\"follow exec only supported on linux\")\n}","typeGuard":null,"tryCatchPattern":"if err := grp.FollowExec(true); err != nil {\n    // followexec_other.go returns a clear error here\n    return err\n}","preventionTips":["Enable follow-exec only on Linux","Check the FollowExec error before relying on child following","Avoid calling processGroup internals directly"],"tags":["native","follow-exec","panic","platform-limitation"],"backgroundTag":"feature-not-implemented-on-platform","analyzedSha":"a23773e6c31361e43246bc43a424ee009679b174","analyzedAt":"2026-08-31T15:12:45.221Z","schemaVersion":2},"datasetVersion":"2026-08-31T19:17:28.585Z"}