{"record":{"id":"45d8cca6b98b06e6","repo":"abiosoft/colima","slug":"error-retrieving-containerd-volumes-w","errorCode":null,"errorMessage":"error retrieving containerd volumes: %w","messagePattern":"error retrieving containerd volumes: %w","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"daemon/process/inotify/volumes.go","lineNumber":48,"sourceCode":"\t\t\tif err != nil {\n\t\t\t\treturn nil, fmt.Errorf(\"error fetching docker volumes: %w\", err)\n\t\t\t}\n\t\t\treturn vols, nil\n\n\t\tcase containerd.Name:\n\t\t\tvar namespaces []string\n\t\t\tout, err := f.guest.RunOutput(\"sudo\", \"nerdctl\", \"namespace\", \"list\", \"-q\")\n\t\t\tif err != nil {\n\t\t\t\treturn nil, fmt.Errorf(\"error retrieving containerd namespaces: %w\", err)\n\t\t\t}\n\t\t\tif out != \"\" {\n\t\t\t\tnamespaces = strings.Fields(out)\n\t\t\t}\n\n\t\t\tfor _, ns := range namespaces {\n\t\t\t\tv, err := f.fetchVolumes(\"sudo\", \"nerdctl\", \"--namespace\", ns)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn nil, fmt.Errorf(\"error retrieving containerd volumes: %w\", err)\n\t\t\t\t}\n\t\t\t\tif len(v) > 0 {\n\t\t\t\t\tvols = append(vols, v...)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn vols, nil\n\t\t}\n\n\t\treturn nil, nil\n\t}\n\n\tgo func() {\n\t\tfor {\n\t\t\tselect {\n\t\t\tcase <-ctx.Done():\n\t\t\t\tlog.Trace(\"stop signal received\")\n\t\t\t\terr := ctx.Err()","sourceCodeStart":30,"sourceCodeEnd":66,"githubUrl":"https://github.com/abiosoft/colima/blob/c3a5f9184d83a197184f897a9f07eb3c01b3bc88/daemon/process/inotify/volumes.go#L30-L66","documentation":"After listing containerd namespaces, the poll runs fetchVolumes(\"sudo\", \"nerdctl\", \"--namespace\", ns) for each namespace (nerdctl ps -q then nerdctl inspect). Any per-namespace failure wraps as 'error retrieving containerd volumes' and is logged/retried by the poll goroutine; other namespaces are skipped for that cycle.","triggerScenarios":"one namespace in a broken state (e.g. leftover k8s.io state); nerdctl failing only for a specific namespace; container ids vanishing between ps and inspect within that namespace.","commonSituations":"kubernetes-style workloads churning pods in the k8s.io namespace; partially deleted containerd state.","solutions":["wait for the next poll cycle — transient races with exiting containers heal","identify the failing namespace: `colima ssh -- sudo nerdctl --namespace <ns> ps -a`","restart colima if the guest runtime is wedged and every cycle fails"],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":"if vols, err := fetch(); err != nil {\n    if strings.Contains(err.Error(), \"error retrieving containerd volumes\") {\n        // per-namespace failure (often k8s.io churn) — next tick retries\n    }\n}","preventionTips":["expect transient per-namespace failures when pods churn heavily","identify repeat offenders with `colima ssh -- sudo nerdctl --namespace k8s.io ps -a`","restart colima when every cycle fails rather than isolated namespaces"],"tags":["containerd","nerdctl","volumes","transient"],"backgroundTag":null,"analyzedSha":"c3a5f9184d83a197184f897a9f07eb3c01b3bc88","analyzedAt":"2026-08-15T18:58:08.334Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}