rootlesskit icon indicating copy to clipboard operation
rootlesskit copied to clipboard

[port-driver=builtin] intermittent error `dial unix /tmp/rootlesskit321516702/.bp.sock: connect: no such file or directory`

Open AkihiroSuda opened this issue 4 years ago • 1 comments

$ ntimes -n 100 rootlesskit --net=slirp4netns --port-driver=builtin --disable-host-loopback --copy-up=/etc true
[rootlesskit:parent] error: dial unix /tmp/rootlesskit321516702/.bp.sock: connect: no such file or directory
[rootlesskit:parent] error: write unix @->/tmp/rootlesskit633900245/.bp.sock: write: broken pipe

real average: 44.437026ms, max: 50.669863ms, min: 38.338228ms, std dev: 2.74521ms
real 99 percentile: 49.992721ms, 95 percentile: 49.258088ms, 50 percentile: 44.527035ms
user average: 27.04683ms, max: 47.821ms, min: 7.356ms, std dev: 8.180554ms
sys  average: 28.9803ms, max: 45.081ms, min: 5.853ms, std dev: 8.180066ms
flaky: 2%

Flakiness is about 1-2% on my laptop, but seems about 10% on nerdctl CI.

RootlessKit: v0.14.0

AkihiroSuda avatar Mar 20 '21 05:03 AkihiroSuda

This flakiness happens when defer os.RemoveAll() got called before go opt.PortDriver.RunParentDriver:

https://github.com/rootless-containers/rootlesskit/blob/v0.14.0/pkg/parent/parent.go#L133

https://github.com/rootless-containers/rootlesskit/blob/v0.14.0/pkg/parent/parent.go#L227-L230

Seems avoidable just by replacing true with sleep 1.

AkihiroSuda avatar Mar 20 '21 06:03 AkihiroSuda