Skip to content

Conversation

@djs55
Copy link
Collaborator

@djs55 djs55 commented Jun 6, 2020

  • update to opam package manager version 2
  • refresh all the dependencies

There is some evidence that the notification loop is spinning, due to an Lwt_unix.read call returning -1: docker/for-mac#3499 (comment) . This is not supposed to happen but perhaps it is possible if the fd is set to the wrong blocking mode, such that -1, EAGAIN are returned but not handled correctly.

This PR

  • ensures the non-blocking mode is set correctly
  • logs and exits if the call returns <0, which will highlight the problem and prevent spinning

djs55 added 4 commits June 6, 2020 16:31
Some of the dependencies have been renamed (e.g. cstruct.lwt to
cstruct-lwt).

Signed-off-by: David Scott <dave@recoil.org>
Since some users have observed spinning, it could be that the system
thinks the fd should be blocking but it is actually non-blocking and
returning immediately.

Signed-off-by: David Scott <dave@recoil.org>
The `Lwt_unix.read` is supposed to return 0 for EOF and >0 for number
of bytes read. Error results from the syscall are supposed to be handled
by the library. However there is evidence that an error `-1` is leaking
through, so add some logging and exit the process instead of spinning.

Signed-off-by: David Scott <dave@recoil.org>
Signed-off-by: David Scott <dave@recoil.org>
We should be able to rely on the version constraints in the hyperkit.opam
instead.

Signed-off-by: David Scott <dave@recoil.org>
@djs55
Copy link
Collaborator Author

djs55 commented Jun 6, 2020

@samoht WDYT of this, in particular 6414a3c and e88ddf6 ?

@samoht
Copy link
Member

samoht commented Jun 8, 2020

LGTM

@djs55 djs55 merged commit 461b3f9 into moby:master Jul 2, 2020
@djs55 djs55 deleted the update-mirage branch July 2, 2020 10:18
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.

2 participants