sgl-project/sglang · error · ValueError

tar material payload is empty

Error message

tar material payload is empty

What it means

The tar material payload is empty. Verify the tar source contains data.

Solutions

  1. Check the tar archive actually contains non-empty content for that member
  2. Regenerate the tar-member URI from the correct tar header size
  3. Skip the condition if the empty asset is expected
Defensive patterns

Strategy: validation

Validate before calling

# after parsing your tar-member URI
assert size > 0, 'tar member size must be positive'

Try / catch

except ValueError as e: reject the condition with empty payload

Prevention

When it happens

Trigger: Calling minimax_h3_localize_material_uri with a tar-member URI whose size component parses to 0 or negative, e.g. 'tar+offset:///a.tar#off=0,size=0'.

Common situations: Malformed tar index metadata, empty file stored in the tar, or a URI template bug writing size=0.

Related errors


AI-assisted analysis of sgl-project/sglang@0132848349 (2026-08-28). Data as JSON: /api/errors/fa045af1e8249cd4. Report an issue: GitHub.

Appendix: source

Thrown at python/sglang/multimodal_gen/runtime/pipelines_core/stages/model_specific_stages/minimax_h3/material_io.py:659

            )
        partial_path.replace(output_path)
    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,
    )

View on GitHub (pinned to 0132848349)