sgl-project/sglang · error · FileNotFoundError
tar material source does not exist or is not a file: {source
Error message
tar material source does not exist or is not a file: {source_path} What it means
The local tar file referenced by a tar-member material URI does not exist or is not a regular file (could be a directory, socket, or missing path).
Source
Thrown at python/sglang/multimodal_gen/runtime/pipelines_core/stages/model_specific_stages/minimax_h3/material_io.py:661
except Exception:
partial_path.unlink(missing_ok=True)
output_path.unlink(missing_ok=True)
raise
return str(output_path)
def _stream_tar_member_material(
batch: Any,
uri: str,
*,
condition_type: str,
condition_index: int,
) -> str:
source_path, offset, size, member = _parse_tar_member_uri(uri)
if size <= 0:
raise ValueError("tar material payload is empty")
if not source_path.is_file():
raise FileNotFoundError(
f"tar material source does not exist or is not a file: {source_path}"
)
source_size = source_path.stat().st_size
if offset > source_size or size > source_size - offset:
available = max(0, source_size - offset)
raise ValueError(
f"tar material payload is truncated: expected {size} bytes, "
f"only {available} available"
)
output_path, partial_path = _material_output_paths(
batch,
condition_type=condition_type,
condition_index=condition_index,
source_name=member,
)
remaining = size
try:View on GitHub (pinned to 0132848349)
Solutions
- Verify the tar path exists and is readable: ls -l /path/to.tar
- Mount or restore the volume containing the archive
- Fix the path in the URI if it is environment-specific
Defensive patterns
Strategy: validation
Validate before calling
from pathlib import Path
p = Path(source_path_from_uri)
assert p.is_file(), f'missing archive: {p}' Try / catch
except FileNotFoundError as e: alert ops that the archive volume is missing
Prevention
- Health-check archive paths at service startup
- Mount data volumes before serving
When it happens
Trigger: tar+offset:// URI pointing at a path that was deleted, is on an unmounted volume, or names a directory.
Common situations: Container/pod restarted without the persistent volume holding the tar; path typo; archive moved between environments.
Understand the failure class
Background: "File not found" and ENOENT errors: why libraries can't find a file that should exist — this error's family across 50 libraries.
Related errors
- MiniMax H3 AdaLN cache does not exist: {self.path}
- tar material offset_data and size must be non-negative
- {label} does not exist or is not a file: {path}
- tar material payload is empty
- tar material payload is truncated: expected {size} bytes, on
AI-assisted analysis of sgl-project/sglang@0132848349 (2026-08-28).
Data as JSON: /api/errors/6b4445dacc08895d.
Report an issue: GitHub.