Repository navigation
gunbc serve: hand peer_user only on the unix-socket listener (fixes srv1 roadmap 500) - #12627
Merged
Merged
Conversation
…admap 500 incident) #12482 passed peer_user to every served handler; an undeclared named argument is a call-contract refusal, so gunbc-roadmap answered HTTP 500 on every request after dashboard_deploy run 36584004074. serve_handler_args now appends peer_user only when the listener attests a peer. Seed test a_tcp_handler_is_not_handed_peer_user pins the argument names per listener; a live gunbc serve of a handler without peer_user answers 200 (500 on the defective seed). Files the recurring failure mode. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…repair it Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ath stands (review 72786) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Contributor
Author
|
Review 72786 addressed in 711c851: the row now states RUNG NOW 1 (mitigatable). The seed test is a v1-compiler --lib unit test that blocks no merge while |
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
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.
This fixes the srv1 roadmap outage. After
dashboard_deployrun 36584004074 at178fb76c71,gunbc-roadmap.serviceanswered HTTP 500 on every request. A rollback to361db9017bis in progress separately.Cause. #12482 made
gunbc servehand a new named argument,peer_user, to every handler. Named arguments must match the handler's parameters exactly, so an argument the handler doesn't declare is a call-contract refusal (no parameter named 'peer_user'), not a value that gets dropped. The roadmap handler doesn't declare it, so every request failed. The seed comment claiming otherwise was never executed.Fix.
serve_handler_argsbuilds the argument list and appendspeer_useronly when the listener attests a peer, which means--unix-socket. TCP handlers get exactly the argument set they had before #12482. The fabric door's socket handler still receivespeer_user.Evidence
cli_run serve_unix_socket_door_tests a_tcp_handler_is_not_handed_peer_userpins the argument names: the TCP call has the five prior names, and the unix-socket call ends withpeer_user. It fails if the argument is appended unconditionally. All 4 tests in the module pass.gunbc serveof a handler withoutpeer_userover TCP returned HTTP 500 with the Fabric door on a group-restricted unix socket with kernel-attested peers; placed host writes through it; retire fabric_storage_append_principal_unrefused #12482 seed and HTTP 200 with this fix.gunbc.recurring_failure_modea_serve_contract_widened_for_one_handler_refuses_every_other. The row names the missing gate: nothing checks the seed's argument set against every declared serve handler's signature before a deploy.🤖 Generated with Claude Code