ipfs/kubo · error

%s not found in tar.gz

Error message

%s not found in tar.gz

What it means

Fired by the kubo self-update flow in extractFromTarGz when the downloaded tar.gz archive was scanned end-to-end but no entry named <root>/<binName> (the expected platform binary path inside the release archive) was found. Indicates a release archive layout mismatch or corrupted/unexpected asset.

Source

Thrown at core/commands/update.go:792

		hdr, err := tr.Next()
		if errors.Is(err, io.EOF) {
			break
		}
		if err != nil {
			return nil, err
		}
		if hdr.Name == lookFor {
			result, readErr := io.ReadAll(io.LimitReader(tr, maxBinarySize+1))
			if readErr != nil {
				return nil, readErr
			}
			if int64(len(result)) > maxBinarySize {
				return nil, fmt.Errorf("extracted binary exceeds maximum size of %d bytes", maxBinarySize)
			}
			return result, nil
		}
	}
	return nil, fmt.Errorf("%s not found in tar.gz", lookFor)
}

func extractFromZip(data []byte, binName string) ([]byte, error) {
	zr, err := zip.NewReader(bytes.NewReader(data), int64(len(data)))
	if err != nil {
		return nil, err
	}

	lookFor := "kubo/" + binName
	for _, f := range zr.File {
		if f.Name != lookFor {
			continue
		}
		rc, err := f.Open()
		if err != nil {
			return nil, err
		}
		result, err := io.ReadAll(io.LimitReader(rc, maxBinarySize+1))

View on GitHub (pinned to 329838acdf)

Solutions

  1. Retry in a few hours; release artifacts may still be uploading
  2. Verify your platform has an official release
  3. Download and install the binary manually from dist.ipfs.tech
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at core/commands/update.go:792 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of ipfs/kubo@329838acdf (2026-09-03). Data as JSON: /api/errors/807da79bc62813fe. Report an issue: GitHub.