{"record":{"id":"6b4445dacc08895d","repo":"sgl-project/sglang","slug":"tar-material-source-does-not-exist-or-is-not-a-fil","errorCode":null,"errorMessage":"tar material source does not exist or is not a file: {source_path}","messagePattern":"tar material source does not exist or is not a file: (.+?)","errorType":"validation","errorClass":"FileNotFoundError","httpStatus":null,"severity":"error","filePath":"python/sglang/multimodal_gen/runtime/pipelines_core/stages/model_specific_stages/minimax_h3/material_io.py","lineNumber":661,"sourceCode":"    except Exception:\n        partial_path.unlink(missing_ok=True)\n        output_path.unlink(missing_ok=True)\n        raise\n    return str(output_path)\n\n\ndef _stream_tar_member_material(\n    batch: Any,\n    uri: str,\n    *,\n    condition_type: str,\n    condition_index: int,\n) -> str:\n    source_path, offset, size, member = _parse_tar_member_uri(uri)\n    if size <= 0:\n        raise ValueError(\"tar material payload is empty\")\n    if not source_path.is_file():\n        raise FileNotFoundError(\n            f\"tar material source does not exist or is not a file: {source_path}\"\n        )\n    source_size = source_path.stat().st_size\n    if offset > source_size or size > source_size - offset:\n        available = max(0, source_size - offset)\n        raise ValueError(\n            f\"tar material payload is truncated: expected {size} bytes, \"\n            f\"only {available} available\"\n        )\n\n    output_path, partial_path = _material_output_paths(\n        batch,\n        condition_type=condition_type,\n        condition_index=condition_index,\n        source_name=member,\n    )\n    remaining = size\n    try:","sourceCodeStart":643,"sourceCodeEnd":679,"githubUrl":"https://github.com/sgl-project/sglang/blob/0132848349585cfe6aae51c4941cbae872505f8a/python/sglang/multimodal_gen/runtime/pipelines_core/stages/model_specific_stages/minimax_h3/material_io.py#L643-L679","documentation":"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).","triggerScenarios":"tar+offset:// URI pointing at a path that was deleted, is on an unmounted volume, or names a directory.","commonSituations":"Container/pod restarted without the persistent volume holding the tar; path typo; archive moved between environments.","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"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"from pathlib import Path\np = Path(source_path_from_uri)\nassert p.is_file(), f'missing archive: {p}'","typeGuard":null,"tryCatchPattern":"except FileNotFoundError as e: alert ops that the archive volume is missing","preventionTips":["Health-check archive paths at service startup","Mount data volumes before serving"],"tags":["tar","file-not-found","minimax-h3"],"backgroundTag":"file-not-found","analyzedSha":"0132848349585cfe6aae51c4941cbae872505f8a","analyzedAt":"2026-08-28T05:10:05.995Z","schemaVersion":2},"datasetVersion":"2026-08-28T06:17:29.519Z"}