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

  1. Delete the incomplete temp dir (e.g. /var/lib/rancher/k3s/data/<version>-tmp) and restart k3s so the bundle re-extracts.
  2. Free disk space first if the volume was full during extraction (df -h).
  3. 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

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


AI-assisted analysis of k3s-io/k3s@6ba341e396 (2026-08-15). Data as JSON: /api/errors/519eff9a74c35677. Report an issue: GitHub.