Skip to content

test_nemotron_h_scaffold goes RED on the MERGE of #784 and the #517 weight loader, though both parents are green #818

Description

@localai-bot

A clean three-way merge that does not build the behaviour either side had.

#784 (b1cd4d8f6, part of #730) rewrote the NemotronH: the unported arms REFUSE BY NAME subcase to call the REAL reg.factory->load_weights(reg, config, source) instead of downcasting a fabricated struct StubModel : vllm::LoadedModel. UBSan was right about the stub and the rewrite is correct on main, where LoadNemotronHForCausalLM reads only source.kind and the config and never touches source.safetensors.

PR #752 (row/MODEL-NEMOTRON-H-LOADER-LAND, #517 §6d) gives NemotronH a weight loader. LoadNemotronHForCausalLM now refuses an empty source by name:

Model architecture NemotronHForCausalLM: the safetensors source carries no shards

Merged, #784's ModelSource source; source.kind = kSafetensors; hits exactly that refusal, so the subcase THROWS before it ever reaches the forward:

test_nemotron_h_scaffold.cpp:666: ERROR: test case THREW exception:
  Model architecture NemotronHForCausalLM: the safetensors source carries no shards

Neither parent is red. git merge reports no conflict because the two changes touch different files. This is the [merge-tree CLEAN is not merge-tree BUILDS] class.

Repaired on row/MODEL-NEMOTRON-H-LOADER-LAND as part of the #752 review-repair, where the two sides actually meet, by splitting the subcase in two rather than deleting either side's guarantee:

  • an empty safetensors source REFUSES AT LOAD, by name (NemotronHForCausalLM, carries no shards) — the guarantee moved earlier, and is asserted where it now lives;
  • the forward still refuses on unmaterialized weights, reached through the exported vllm::NemotronHForward on a default-constructed NemotronHHostWeights. fix(#730): the NemotronH refusal subcase downcast a stub, so UBSan was reporting real type confusion #784's substance is kept: no StubModel, no downcast onto an object that never was a NemotronHLoadedModel, no UB.

Filed for traceability, per AGENTS.md "every change starts from an issue"; it is fixed in the same flow.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions