Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

use pclock, rather than clock, needed for mirage 3.0 #486

Merged
merged 4 commits into from
Sep 12, 2016

Conversation

yomimono
Copy link
Contributor

@yomimono yomimono commented Sep 1, 2016

No description provided.

@yomimono
Copy link
Contributor Author

yomimono commented Sep 1, 2016

@djs55, this PR causes the xen backend tests to fail on reinstalling c3 (see here). I don't understand that bit of the site very well; before I dig in, do you have some sense of what might need to be fixed?

@djs55
Copy link
Member

djs55 commented Sep 2, 2016

This is very odd, I've never seen it before:

mirage =>
  cd /home/travis/build/mirage/mirage-www/src && ocamlbuild -use-ocamlfind -tags annot,bin_annot -pkg mirage config.cmxs
Fatal error: exception (Invalid_argument "[ocamlgraph] in_degree")
make: *** [configure] Error 2
'OPAMYES=1 export OPAMYES; set -ex; MODE=$MIRAGE_BACKEND make configure' exited 2. Terminating with 2

@yomimono
Copy link
Contributor Author

yomimono commented Sep 2, 2016

OK, thanks for taking a look; I'll see whether I can figure it out.

@yomimono
Copy link
Contributor Author

yomimono commented Sep 2, 2016

I can reproduce this locally when supplying --tls false to mirage configure -f src/config.ml. --tls true doesn't trigger the Ocamlgraph exception. The default value of tls if not supplied is false, and supplying no --tls argument at all results in a successful run of mirage configure.

@yomimono
Copy link
Contributor Author

yomimono commented Sep 2, 2016

Looking at the mirage describe --dot output when tls is unspecified, it seems that the default falseness of tls is not propagated and there are still nodes in the graph that expect to be supplied with the value of tls, whether true or false. Notably, there are child nodes under secrets-kv_ro which can only be reached from Dispatch_tls, which we'd expect not to see when tls is false. Orphaning these nodes would violate the invariants stated in Functoria_graph, which would lead to the kind of problem we'd expect to generate an exception like Invalid_argument "[ocamlgraph] in_degree".

It seems that providing mirage configure -t xen --tls false --secrets-kv_ro crunch (or some other option for --secrets-kv_ro) results in successful completion of mirage configure, so perhaps we're on the right track here?

@yomimono yomimono force-pushed the pclock branch 3 times, most recently from f852987 to 6371d18 Compare September 9, 2016 02:57
@yomimono
Copy link
Contributor Author

yomimono commented Sep 9, 2016

ocaml-fat had constraints preventing installation of cstruct >= 2.0.0. mirage/ocaml-fat#44 should fix this, and hopefully allow tests to pass with the mirage-dev repo.

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.

None yet

2 participants