{"record":{"id":"14a7ef873d9fff0b","repo":"sgl-project/sglang","slug":"minimax-h3-text-encode-produced-no-native-payload","errorCode":null,"errorMessage":"MiniMax H3 text encode produced no native payload","messagePattern":"MiniMax H3 text encode produced no native payload","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"python/sglang/multimodal_gen/runtime/pipelines_core/stages/model_specific_stages/minimax_h3/stages/text_encoding.py","lineNumber":168,"sourceCode":"            owner_exception = None\n            owner_error = None\n            payload = None\n            if dp_group.rank_in_group == owner:\n                try:\n                    first_batch.extra[_MINIMAX_H3_SINGLE_COPY_TEXT_ENCODE_EXTRA_KEY] = (\n                        True\n                    )\n                    try:\n                        first_result = self(first_batch, server_args)\n                    finally:\n                        first_batch.extra.pop(\n                            _MINIMAX_H3_SINGLE_COPY_TEXT_ENCODE_EXTRA_KEY, None\n                        )\n                    payload = first_result.extra.get(\n                        MINIMAX_H3_TEXT_EMBEDDINGS_EXTRA_KEY\n                    )\n                    if not isinstance(payload, dict):\n                        raise ValueError(\n                            \"MiniMax H3 text encode produced no native payload\"\n                        )\n                except Exception as exc:\n                    owner_exception = exc\n                    owner_error = f\"{type(exc).__name__}: {exc}\"\n\n            owner_error = dp_group.broadcast_object(owner_error, src=owner)\n            if owner_error is not None:\n                if owner_exception is not None:\n                    raise owner_exception\n                raise RuntimeError(\n                    f\"MiniMax H3 text encode failed on rank {owner}: {owner_error}\"\n                )\n            payload = dp_group.broadcast_tensor_dict(payload, src=owner)\n            if not isinstance(payload, dict):\n                raise RuntimeError(\"MiniMax H3 text payload broadcast failed\")\n\n            if dp_group.rank_in_group != owner:","sourceCodeStart":150,"sourceCodeEnd":186,"githubUrl":"https://github.com/sgl-project/sglang/blob/0132848349585cfe6aae51c4941cbae872505f8a/python/sglang/multimodal_gen/runtime/pipelines_core/stages/model_specific_stages/minimax_h3/stages/text_encoding.py#L150-L186","documentation":"In grouped (DP) text encoding, after the owner rank runs the encode, the result's extra[MINIMAX_H3_TEXT_EMBEDDINGS_EXTRA_KEY] must be a dict payload. This ValueError means the owner's encode completed without producing the native payload — the text embeddings were never published into extra.","triggerScenarios":"run_grouped_requests executes the encode on the owner rank, then first_result.extra.get(MINIMAX_H3_TEXT_EMBEDDINGS_EXTRA_KEY) is not a dict — because the encode path returned early (e.g. plan already had embeddings key removed) or the underlying encoder produced nothing.","commonSituations":"A text encoder component that silently returns without publishing embeddings, a misconfigured pipeline where text encoding is a no-op, or an exception path in the encoder swallowed before payload check.","solutions":["Check the owner-rank encoder logs for the underlying reason it published no payload","Verify the MiniMaxH3Qwen3VLEncoder/text_encoder component is the correct one and actually encodes for this task","Reproduce with run_grouped_requests disabled (single-rank path) to see the raw encoder behavior"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":"if not isinstance(batch.extra.get(MINIMAX_H3_TEXT_EMBEDDINGS_EXTRA_KEY), dict):\n    raise RuntimeError(\"encoder produced no payload; run single-rank to debug\")","typeGuard":"def has_text_payload(batch) -> bool:\n    return isinstance(batch.extra.get(MINIMAX_H3_TEXT_EMBEDDINGS_EXTRA_KEY), dict)","tryCatchPattern":"try:\n    stage.run_grouped_requests(batches)\nexcept ValueError as e:\n    if \"no native payload\" in str(e):\n        debug_owner_rank_encoder()\n    else:\n        raise","preventionTips":["Smoke-test the encoder single-rank before enabling DP grouping","Fail fast if the encoder returns without publishing embeddings"],"tags":["minimax-h3","text-encoding","payload-validation","data-parallel"],"backgroundTag":"missing-pipeline-output-payload","analyzedSha":"0132848349585cfe6aae51c4941cbae872505f8a","analyzedAt":"2026-08-28T05:10:05.995Z","schemaVersion":2},"datasetVersion":"2026-08-28T06:17:29.519Z"}