k3s-io/k3s · error
no entries found in %s
Error message
no entries found in %s
What it means
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'.
Source
Thrown at pkg/dataverify/dataverify.go:40
}
if err := VerifyLinks(dir, ".links"); err != nil {
logrus.Errorf("Unable to verify links: %s", err)
failed = true
}
if failed {
return fmt.Errorf("failed to verify directory %s", dir)
}
return nil
}
// VerifySums will take a file which contains a list of hash sums for files and verify they match
func VerifySums(root, sumListFile string) error {
sums, err := fileMapFields(filepath.Join(root, sumListFile), 1, 0)
if err != nil {
return err
}
if len(sums) == 0 {
return fmt.Errorf("no entries found in %s", sumListFile)
}
numFailed := 0
for sumFile, sumExpected := range sums {
file := filepath.Join(root, sumFile)
sumActual, _ := sha256Sum(file)
if sumExpected != sumActual {
logrus.Errorf("Hash for file %s expected to be %s (fail)", sumFile, sumExpected)
numFailed++
} else {
logrus.Debugf("Verified hash %s is correct", sumFile)
}
}
if numFailed != 0 {
return fmt.Errorf("failed %d hash verifications", numFailed)
}
return nil
}
View on GitHub (pinned to 6ba341e396)
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.
Defensive patterns
Strategy: validation
Validate before calling
// Check the manifest is non-empty before trusting a staged data dir:
b, err := os.ReadFile(filepath.Join(dir, ".sha256sums"))
if err != nil { log.Fatal(err) }
if len(strings.Fields(string(b))) < 2 { // need at least one sum+path pair
log.Fatal(".sha256sums has no entries - re-extract the bundle")
} Prevention
- 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.
When it happens
Trigger: 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).
Common situations: 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.
Related errors
- failed to verify directory %s
- failed %d hash verifications
- failed %d link verifications
- fields for file %s (%d) smaller than required index (key: %d
- error extracting zstd-compressed body: %v
AI-assisted analysis of k3s-io/k3s@6ba341e396 (2026-08-15).
Data as JSON: /api/errors/519eff9a74c35677.
Report an issue: GitHub.