Repository navigation
SHARD-622 + SHARD-633 + SHARD-637: a cut Firecracker verb frees its vmm, a held tag builds its missing format offline, and the cgroup walk skips a vanished child - #511
Merged
Conversation
…nd an OOM attach whose release breaks off lets its stream go A create, start, fork or restore that failed after attach called p.end on the verb's own ctx. When the failure was the verb's cut, awaitGone returned on that ctx before settle, so the machine stayed in p.machines with its pin and control stream while the record that names it was gone. endAnyway ends it on its own clock. An attach that reads an OOM in the guest state releases a machine no map holds yet; a release that broke off before its settle never closed it, so it closes the machine itself.
…so its ENOENT or ENODEV never fails stop or reads as cgroup v1
…bined # Conflicts: # services/provider/firecracker/export_test.go
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.
Closes SHARD-622, SHARD-633 and SHARD-637.
Why. On Firecracker, a create, start, fork or restore cut after its vmm came up left the daemon holding that vmm. A vz or Firecracker daemon resolved again in the registry a tag another provider pulled. On Sysbox, a child cgroup the guest removed mid-walk failed stop.
How.
endAnywayinservices/provider/firecracker/lifecycle.go. The five failure paths after attach end the vmm oncontext.WithoutCancel, since a cut ctx left the machine inp.machines.pullLockedinservices/image/image.gobuilds the format a held tag lacks from its own layers and never callsstore.Pull. One shift: a held image with missing blobs no longer heals from the registry; remove it and pull again.Procsinpkg/cgroup/cgroup.goskips a child that answers ENOENT or ENODEV. The root keepsErrNotFoundandErrNoController.What. No API change. A rebuild streams
buildingthenpulled.