{"record":{"id":"519eff9a74c35677","repo":"k3s-io/k3s","slug":"no-entries-found-in-s","errorCode":null,"errorMessage":"no entries found in %s","messagePattern":"no entries found in (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/dataverify/dataverify.go","lineNumber":40,"sourceCode":"\t}\n\tif err := VerifyLinks(dir, \".links\"); err != nil {\n\t\tlogrus.Errorf(\"Unable to verify links: %s\", err)\n\t\tfailed = true\n\t}\n\tif failed {\n\t\treturn fmt.Errorf(\"failed to verify directory %s\", dir)\n\t}\n\treturn nil\n}\n\n// VerifySums will take a file which contains a list of hash sums for files and verify they match\nfunc VerifySums(root, sumListFile string) error {\n\tsums, err := fileMapFields(filepath.Join(root, sumListFile), 1, 0)\n\tif err != nil {\n\t\treturn err\n\t}\n\tif len(sums) == 0 {\n\t\treturn fmt.Errorf(\"no entries found in %s\", sumListFile)\n\t}\n\tnumFailed := 0\n\tfor sumFile, sumExpected := range sums {\n\t\tfile := filepath.Join(root, sumFile)\n\t\tsumActual, _ := sha256Sum(file)\n\t\tif sumExpected != sumActual {\n\t\t\tlogrus.Errorf(\"Hash for file %s expected to be %s (fail)\", sumFile, sumExpected)\n\t\t\tnumFailed++\n\t\t} else {\n\t\t\tlogrus.Debugf(\"Verified hash %s is correct\", sumFile)\n\t\t}\n\t}\n\tif numFailed != 0 {\n\t\treturn fmt.Errorf(\"failed %d hash verifications\", numFailed)\n\t}\n\treturn nil\n}\n","sourceCodeStart":22,"sourceCodeEnd":58,"githubUrl":"https://github.com/k3s-io/k3s/blob/6ba341e396edc16b8dcae978a7c5e3ac7ee5606e/pkg/dataverify/dataverify.go#L22-L58","documentation":"VerifySums parses <dir>/.sha256sums expecting whitespace-separated '<sum> <file>' lines. If the file opens and parses but yields zero entries (empty file or only blank lines), this error is returned, which then surfaces as part of 'failed to verify directory'.","triggerScenarios":"The .sha256sums file inside the extracted data bundle (…/<version>-tmp/bin/.sha256sums) exists but is empty or whitespace-only (pkg/dataverify/dataverify.go:34-40).","commonSituations":"Extraction truncated by a full disk so the manifest was written empty; antivirus/security tooling stripped file contents; a broken build/packaging pipeline producing an empty manifest.","solutions":["Delete the incomplete temp dir (e.g. /var/lib/rancher/k3s/data/<version>-tmp) and restart k3s so the bundle re-extracts.","Free disk space first if the volume was full during extraction (df -h).","If it recurs, reinstall the k3s binary from an official artifact - the embedded bundle itself is damaged."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"// Check the manifest is non-empty before trusting a staged data dir:\nb, err := os.ReadFile(filepath.Join(dir, \".sha256sums\"))\nif err != nil { log.Fatal(err) }\nif len(strings.Fields(string(b))) < 2 { // need at least one sum+path pair\n    log.Fatal(\".sha256sums has no entries - re-extract the bundle\")\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["After untarring release artifacts, assert every expected manifest file is non-empty.","Automate data-dir provisioning from the official binary only - never copy bin dirs by hand.","Monitor disk-full conditions during node provisioning."],"tags":["integrity","sha256","deployment","startup"],"backgroundTag":null,"analyzedSha":"6ba341e396edc16b8dcae978a7c5e3ac7ee5606e","analyzedAt":"2026-08-15T16:27:54.286Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}