Create contributor_guide.md - #992
Merged
Merged
Conversation
timethink
pushed a commit
to timethink/sglang
that referenced
this pull request
Mar 9, 2025
hhhh1252023
pushed a commit
to hhhh1252023/sglang_public
that referenced
this pull request
Jul 13, 2026
Npu ssl testcase update.
efschu
pushed a commit
to efschu/htsglang
that referenced
this pull request
Aug 28, 2026
… its seat too Boot 11 (aae7e3b) reached 3m47s -- sgl-project#991 held, no AttributeError -- and died on `sgl-project#801-spin PP IDLE-VOID LIVELOCK REFUSED` (pp_rank=2, 512 consecutive voided passes, scheduler_pp_mixin.py:8214). The guard is right that the defect is not on rank 2. ROOT. Uniform membership -- "a rank executing a forwarded schedule may admit only what the decision names" -- is enforced at scheduler.py's `pp_not_named` skip for every candidate that comes out of `waiting_queue`, and NOWHERE for the one candidate that never appears in a queue. `add_chunked_req` runs ~250 lines earlier and appends `self.chunked_req` unconditionally, before the decision is consulted at all. MEASURED, 512 byte-identical rounds (21:27-21:31): rank 1 held rid 8a330526c7b9410f963232874adc451b at executed=3332 as its parked continuation, in NO queue on ANY rank, so rank 0's decision could not name it. That site gave it the seat; the decision's own rid (dfd22a9a… / 9528ff20…) could then not be reached; `sgl-project#791 FORWARDED SCHEDULE UNEXECUTABLE` voided the pass; `sgl-project#971 REHOME-ON-REFUSAL` put the continuation straight back into `self.chunked_req`; the next pass was identical. Rank 2 voided every pass behind it until the bound fired. THE CLASS: a compensator that restores the precondition of its own trigger. The cut therefore belongs upstream of the rehome, at the admission -- fixing sgl-project#971 would only move the latch. FIX. At the one junction, gate `add_chunked_req` on the same membership test the queue loop already applies: when this rank is executing a forwarded schedule that does not name its continuation, refuse the SEAT. Not a drop -- the precedent is the sgl-project#906 gate immediately below it: the request stays `self.chunked_req`, keeps prefix, pages and mid-chunk position, and resumes on the first pass whose decision names it. PP0 has no incoming decision, so `incoming is None` there and the default path is byte-identical. SIBLING SWEEP: the two candidate sources into `can_run_list` under a forwarded schedule are the queue loop and this one; the queue loop was already gated. `_note_skip("batch_full_break")` and `pp_not_named` are the two symptoms this produced in the census and both are downstream of it. WHAT THIS DOES NOT CLOSE, stated rather than assumed: sgl-project#968's half. sgl-project#968 makes the parked-continuation fact ride the return lap so PP0 CAN name such a rid, but its actuator `pp_parked_continuation_priority` only REORDERS PP0's queue and is a no-op exactly when the rid is in no queue on PP0 -- which is this specimen. The new log line prints the rid, its executed extent and the decision's full name set, so boot 12 MEASURES whether the continuation ever becomes named instead of leaving it to inference. Evidence: desk. py_compile + import smoke. Belegstufe: DESK-BEWIESEN.
efschu
pushed a commit
to efschu/htsglang
that referenced
this pull request
Aug 28, 2026
Boot 13 (4fde6e5) did not crash: it WEDGED. 5 queued, 0 running, no first token, on all three ranks, behind 239 identical refusals of one shape: sgl-project#791 FORWARDED SCHEDULE UNEXECUTABLE for rid=901a7d29…: the decision names prefix_len=0, this rank holds 7938. ROOT, and it is the second half of the exemption sgl-project#992 found. `sgl-project#791 PP ADMISSION UNIFORMITY` has two halves -- MEMBERSHIP ("admit only what the decision names") and GEOMETRY ("with exactly the prefix it named") -- and both are implemented inside the waiting-queue loop, applied strictly before `adder.add_one_req`. The chunked continuation does not travel that loop: it reaches `can_run_list` through `add_chunked_req`, ~250 lines earlier, and was therefore exempt from BOTH. sgl-project#992 closed membership. Geometry stayed open, so a NAMED continuation entered the batch carrying its own prefix while the decision named another -- and that is a SHAPE disagreement, because `prepare_for_extend` sizes the cross-stage tensor directly off `len(req.prefix_indices)`. The follower refused, correctly, every pass. The decision said 0 because PP0 had spent its `sgl-project#946 PREMISE RECOMPUTE` terminator on that rid. That is PP0's call to make and the follower's to execute; second-guessing it is what the refusal exists to prevent. FIX: apply the same `truncate_prefix_to(told)` the queue loop applies, at the same point in the same order -- immediately before the re-derivation. sgl-project#930: the helper moves `prefix_indices` and `cache_protected_len` together. sgl-project#961: the mover must be followed by the re-derivation it invalidates; in the queue loop that is `add_one_req`, here it is `add_chunked_req` on the next line. Nothing is re-derived by hand and no new helper is introduced. Logged with rid, local prefix and told, counted, so the adoption is affirmative rather than inferred from the absence of refusals. SIBLING SWEEP: the two entries into `can_run_list` under a forwarded schedule are the queue loop and this one. Both now carry both halves of uniformity. PP0 has no incoming decision (`incoming is None`), so its path is byte-identical. BOOT 13 ALSO BOUGHT: sgl-project#993's containment fired and held -- no repeat of boot 12's allocator assert. sgl-project#992 held -- no repeat of boot 11's sgl-project#801-spin. Batch lines were symmetric 5/5/5 across ranks, i.e. no rank is structurally excluded. Evidence: desk. py_compile + import smoke + wiring assertion. Belegstufe: DESK-BEWIESEN.
efschu
pushed a commit
to efschu/htsglang
that referenced
this pull request
Aug 28, 2026
…ter a boot Commit 7398727 published two predictions. The second one was wrong, and it was wrong at the time I published it -- its author withdrew it before the boot ran and I re-checked the withdrawal against the log myself. It stands struck through rather than deleted: a published prediction may not quietly vanish. WHY (b) IS FALSE, three ways, all in the specimen: * The refusals' actual cause is printed one line ABOVE each of them: :2033 (PP1) and :2044 (PP2), 'sgl-project#992 CHUNKED CONTINUATION NOT NAMED rid=da614e20 executed=7939 decision_names=5689567b'. That is the sgl-project#992 asymmetry -- the followers hold a resident the decision does not name -- and no false last_chunk is involved. * :2028 'sgl-project#968 MINT none rank=0 rid=5689567b end=4096 prefix=0'. It was a genuine MIDDLE chunk, so last_chunk=False was correct. Cut C carries the same verdict and the refusal fires unchanged. Two stays two. * :2120 'local=8446 -> upstream=8447 appended=1'. The follower is SHORTER and the adopt raised it, which is the covered direction. Site #0 needs the executing rank LONGER. That never happened in this boot. So Site #0 is desk-proven as a defect, has ZERO boot-observed instances, and contributed nothing to Boot 16. Cut C fixes a LATENT defect and the next boot can neither confirm nor refute it -- which matters operationally, because anyone watching for an indicator there is watching for one that cannot come. Exactly one prediction now rides on the boot: the sgl-project#631 leftover SURVIVES. And the class section is corrected rather than left flattering: the two seams do NOT carry the same evidence tier. D1 (:5330-5331) is boot-proven at the symptom; Site #0 (:1433) is desk-proven with no instances. Two independent finds still argue the class better than one, but the class is carried by the metal-backed half, and writing it otherwise would inherit exactly the overclaim the indicator law exists to forbid. The error form is recorded too, because it is not a foreign one: an event that FITS a mechanism was read as BEING that mechanism, without reading the line above naming the alternative. Twice, and both times the refutation was one line higher in the same log. Same shape as the dead ratchet in sgl-project#996 and the false guard hint in sgl-project#997. The cheap counter-check is the same in all three and costs seconds: read the line above.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.