Repository navigation
Conversation
Assisted-by: Replit
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.
Summary
Drain worker-daemon responses while sending an
AddMultipleToStoreupload. Previously the client finished writing every frame before reading stderr; a daemon sending enough progress before accepting more input could fill both socket buffers and deadlock.Stacked on the direct dynamic-output installables branch. This is a worker-protocol correction, not a timeout increase or an evaluator speedup claim.
Validation
The new backpressure test fails on the unchanged implementation: the daemon writes a 4 MiB log message before reading an 8 MiB upload, and both sides hit their socket timeout. With concurrent draining, the same test completes successfully.
Passed: six new upload regression cases, the existing upload-error regression, 14 HTTP/decompression tests, two fetched-closure tests, two layering tests, and four dynamic-derivation tests. Formatting, structural lint, and Clippy with warnings denied all pass.
The broad library run passed 1,365 tests, with two previously established root-permission failures and four ignored tests. Real daemon integration passed five tests; its three failures were reproduced on the unchanged parent (two cases requiring kernel namespaces and a garbage-collector error-message expectation).
Post-publication check: the remote head matches the locally validated commit. macOS and Windows CI are pending.
No live deployment or workload timing claim is included. The protocol regression establishes the deadlock independently; it does not isolate every cause of slower evaluation.
~ written by ⠕ Replit