[vsock] wait for device readiness#1112
Conversation
Created using jj-spr 0.1.0
Created using jj-spr 0.1.0
Created using jj-spr 0.1.0
Created using jj-spr 0.1.0
Created using jj-spr 0.1.0
iximeow
left a comment
There was a problem hiding this comment.
nice fix, this is an unfortunately subtle interaction and unfortunately hard to test...
| // a new instance spec to the pre-existing propolis-server we will | ||
| // accumulate these "dead" threads, howerver we never do this in the | ||
| // actual product. | ||
| self.start_barrier.wait(); |
There was a problem hiding this comment.
remarking for onlookers: we'd talked about setting this up for a Tokio watch or something where we can discover that the sender went away, or that the sender actually wanted to tear down this loop without ever starting it, but @papertigers wants to refactor some of this now that we've seen how this ends up actually used anyway.
so the structure of the event loop here even might not survive too long, and the interim of accumulating an idle thread when propolis-server is used in ways we don't use it seems fine for now.
Created using jj-spr 0.1.0
|
Note that while testing this with @iximeow and @leftwo we ran into #1115 We were able to confirm this fix by duplicating line 607 at line 610 propolis/bin/propolis-server/src/lib/vm/state_driver.rs Lines 596 to 610 in fcf37ae Before the change in 4a309f3 we crashed, and after 4a309f3 was applied we no longer crashed. |
This bumps propolis to commit bc489dd. This brings in the following: - oxidecomputer/propolis#1112 **(the reason for this PR)** - oxidecomputer/propolis#1109 - oxidecomputer/propolis#1084
Fixes #1110