Skip to content

fix(conformance): free_node died whenever a matching card was actually listed - #1731

Merged
anderdc merged 1 commit into
testfrom
serving/conformance-listing-guard
Aug 28, 2026
Merged

fix(conformance): free_node died whenever a matching card was actually listed#1731
anderdc merged 1 commit into
testfrom
serving/conformance-listing-guard

Conversation

@anderdc

@anderdc anderdc commented Aug 28, 2026

Copy link
Copy Markdown
Collaborator

scripts/serving_conformance_on_lium.sh could never rent a pod.

Inside jq's contains(), . is the string being searched — so in

select(.gpu_type == $gpu and ... and ($taken | contains(" " + .id + " ") | not))

the .id was indexed on $taken, a string, giving jq: error: Cannot index string with string "id" and exit 5.

Because and short-circuits, that clause is only reached once an entry has already matched gpu_type, gpu_count, vram_gb and download_mbps — so the filter failed exactly when a 5090 was available, and looked healthy on every listing where none were. Reproduced against a live listing: the run dies ~2 s in, before renting anything.

Binds the element to $n first, and skips non-object / field-missing entries instead of aborting — the listing churns and one malformed entry should not cost the rental.

Verified against a captured live listing: two distinct 5090 ids are selected, and the second correctly excludes the first.

Found while running the conformance job after setting LIUM_API_KEY — with the key in place this was the next failure. No pods were rented in any of the failed runs.

…y listed

Inside jq's contains(), `.` is the string being searched, so the `taken` test's bare
`.id` indexed $taken (a string) instead of the executor. `and` short-circuits, so the
clause was only ever reached when an executor had already matched gpu_type, gpu_count,
vram and download — that is, the filter failed precisely when it found a card, and
looked fine on every listing that had none.

The element is bound to $n before the test. Entries that are not objects, or that are
missing a field, are skipped rather than aborting the run.
@anderdc
anderdc merged commit 3485836 into test Aug 28, 2026
3 checks passed
@anderdc
anderdc deleted the serving/conformance-listing-guard branch August 28, 2026 23:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant