Skip to content

linux: pin merged clone failure cleanup - #165

Draft
tombl wants to merge 5 commits into
mainfrom
test/linux-clone-failure-cleanup
Draft

tombl wants to merge 5 commits into
mainfrom
test/linux-clone-failure-cleanup

Conversation

@tombl

@tombl tombl commented Oct 4, 2026 •

Copy link
Copy Markdown
Owner

Pin Linux to 5ad61429eac77535a904e70153ce1502bc82ff86, the commit merged into wasm from tombl/linux#58, which frees the clone callback allocation when task creation fails.

The pin also includes upstream's intervening Wasm modpost preparation fix. Correct the Git and util-linux source mirror paths: the kernel mirror base already ends in /pub/, so the extra pub/ caused 404s. Package versions and their source hashes are unchanged.

The uuidd programs test waits for a successful, validated random UUID response before sending signals. Socket/pidfile existence precedes signalfd setup, allowing an early external SIGALRM to be consumed by the startup timer handler. The readiness request has a five-second timeout with no retry. The inactivity test tracks its known foreground child PID because the service may remove its pidfile before the parent reads it. Existing exit, status, and cleanup assertions remain intact.

Validation:

  • CI run 37210075102 passed for 44a5dbc860e6809313e0660e5b415c69f79becea: the main build, all 111 heavy checks (including util-linux programs), and preview deployment. Release publication was skipped.
  • Recomputed the merged Linux archive's unpacked NAR hash with Nix 2.20.6; it matches the existing hash. Corrected Git and util-linux downloads also match their pinned unpacked hashes.
  • dash -n passed. A focused host shell harness accepted a valid readiness response and rejected command failure, timeout status, and malformed output.

CI provides distro integration validation, not a dedicated runtime measurement of the clone error-path memory leak.

tombl added 3 commits October 4, 2026 21:08
Pin the exact head of tombl/linux#58 and update its source NAR hash.
This lets distro CI validate the clone failure cleanup with the full
package and guest check suite before either PR is merged.

Linux branch: fix/wasm-clone-failure-cleanup
Linux commit: 6ee1a9c24b9a5f86c2288ab5bc0447935e826a05
Link: tombl/linux#58
The kernel mirror bases already end in /pub/. Drop the extra pub/
component from these source URLs so fetchzip no longer requests
/pub/pub/ paths and fails with 404s.

Verified both corrected URLs and their existing unpacked NAR hashes.
This unblocks distro CI for the Linux clone cleanup integration pin.
Update the Linux pin to 5ad61429eac77535a904e70153ce1502bc82ff86,
the commit merged into wasm from tombl/linux#58.

The merged tree matches the previously tested PR head. Recomputed the
unpacked source NAR hash from the merged commit archive; it is unchanged.
@tombl tombl changed the title linux: validate clone cleanup PR in distro CI linux: pin merged clone failure cleanup Oct 4, 2026
tombl added 2 commits October 4, 2026 22:28
The socket and pidfile appear before uuidd blocks signals and sets up
signalfd. An early SIGALRM can reach the startup timer handler, which
ignores externally generated signals, leaving the exit test waiting.

Require a successful random UUID request and validate its response before
reporting readiness. Use one bounded five-second request, with no retries,
and preserve the existing signal exit, status and cleanup assertions.
The inactivity service can remove its pidfile before the parent reads it
after the protocol readiness request. Wait for the known foreground child
PID instead, preserving the bounded exit wait, status and cleanup checks.

This branch has not been deployed

No deployments
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