sgl-project/sglang · error · ValueError
full pack verification requested, but manifest has no full S
Error message
full pack verification requested, but manifest has no full SHA-256
What it means
The caller requested verify_pack_sha256=True but the manifest has no expert_pack.sha256 field, so full-file verification cannot be performed. The loader refuses to silently skip a requested integrity check.
Source
Thrown at python/sglang/srt/layers/moe/expert_pack.py:894
pack_offset=offset,
pack_nbytes=nbytes,
checksum="",
shape=logical_shape,
quant_scheme=str(roles[physical_role]["dtype"]),
transform_id="identity-v1",
block_size=256,
generation=generation,
)
if previous_end != self.path.stat().st_size:
raise ValueError("Kimi expert-pack file has trailing or missing bytes")
actual_index_sha256 = index_digest.hexdigest()
if actual_index_sha256 != pack_manifest["index_sha256"]:
raise ValueError("Kimi expert-pack index SHA-256 does not match manifest")
if verify_pack_sha256:
expected_sha256 = pack_manifest.get("sha256")
if not expected_sha256:
raise ValueError(
"full pack verification requested, but manifest has no full SHA-256"
)
if _sha256_file(self.path) != expected_sha256:
raise ValueError("Kimi expert-pack SHA-256 does not match manifest")
self.header = ExpertPackHeader(
flags=REQUIRED_FLAGS,
index_count=expected_entry_count,
data_start=int(pack_manifest["data_start"]),
alignment=int(pack_manifest["alignment"]),
num_layers=expected_layers,
num_experts=expected_experts,
top_k=expected_top_k,
role_count=len(ROLE_NAMES),
model_identity_sha256="0" * 64,
source_blob_sha256=str(self.manifest["source"]["inventory_sha256"]),
config_sha256=str(model["config_sha256"]),
)View on GitHub (pinned to 0132848349)
Solutions
- Regenerate the manifest with a full sha256 of the pack included
- Or drop verify_pack_sha256 if index-level verification is sufficient for your workflow
Example fix
// before loader = KimiExpertPack(path, manifest, verify_pack_sha256=True) # manifest lacks sha256 // after manifest['expert_pack']['sha256'] = _sha256_file(path).hex() loader = KimiExpertPack(path, manifest, verify_pack_sha256=True)
Defensive patterns
Strategy: validation
Validate before calling
if verify_pack_sha256 and not manifest['expert_pack'].get('sha256'):
raise RuntimeError('manifest lacks full sha256; regenerate it or disable full verification') Prevention
- Generate manifests with full sha256 included if you plan full verification
When it happens
Trigger: Calling the loader/pack opener with full verification enabled while using a manifest produced by a tool that only records index_sha256.
Common situations: See trigger scenarios.
Related errors
- Kimi expert-pack index SHA-256 does not match manifest
- Kimi expert-pack SHA-256 does not match manifest
- Kimi active routed MoE layers must be exactly 1..92
- Kimi manifest expert-pack path does not match pack_path
- Kimi expert-pack size does not match its manifest
AI-assisted analysis of sgl-project/sglang@0132848349 (2026-08-28).
Data as JSON: /api/errors/125eaf6e3f311d7b.
Report an issue: GitHub.