Mirage OS Logo

The MirageOS Documentation

and developer guides

Weekly Meeting: 2015-10-28
By Amir Chaudhry - 2015-10-28


  • Quality and Test
  • Logging
  • Pioneer Projects
  • Blog posts
  • Error handling

Attendees: Reynir Björnsson, Daniel Bunzli, Amir Chaudhry (chair), Justin Cormack, Thomas Gazagnaire, Matt Gray, David Kaloper, Thomas Leonard, Anil Madhavapeddy, Hannes Mehnert, Richard (mort) Mortier, Mindy Preston, Gabriel (Drup) Radanne, Dave Scott, Magnus Skjegstad and Jeremy Yallop


Quality and Test

Some discussion about using CircleCI for automated builds. There seems to be a free option now so possibly worth exploring. However, it doesn't appear to show logs publicly the way TravisCI does (CircleCI requires login). Will put this on hold until someone has time to look at it further.


ThomasL was wondering what the plans were regarding the new logging library. Do we need support for lwt in the logging library? It's intended to be a logging lib for OCaml.

Drup looked at the API and asked Daniel. The logging function is returning a string at the moment. Messages could be out of order if scheduler doesn't keep up (there's an open issue about this). ThomasL pointed out that ordering things is solvable but he's more worried about running out of memory. We want to separate logging from the reporting.

Discussion diverged into one of collecting logs and also of where/how to push them. We should keep these discussions focused as both aspects are important.

Is there a plan of how to put part of this into mirage? Someone should use the lib (dolog?) and write a reporter for Mirage. Right now there's reporter for the console. ThomasL will look at this and will check back in a couple of weeks.

Pioneer Projects

Outreachy is ongoing and we may be able to request funds for a third participant. Will have to see how this phase goes. Hannes is signed up as a mentor on the Outreachy website but not sure what the next step is. The participant is willing to implement NTP as the project. Mindy would like to use it to get the rhythm for dom0 in the TCP/IP stack. Anyone on ARM will be particularly keen to have this too, as they don't have a clock.

Mort is supervising a number of undergrad projects that relate to MirageOS. Loosely, the areas are:

  • The work that Mindy did for ARP can be done for TCP.
  • Cosmin Boaca is getting started with multi-process/vm ocaml-ctypes.
  • Some work with docs over Irmin.
  • Collection of IoT type data (bus locations every 30s).
  • Tweaking the TCP stack to make it look like it's a Windows stack.

We can check how these are going in due course.

Blog posts

A blog post on Charrua is in a PR to mirage-www. At the moment the code doesn't compile with 4.01 so will fix that and then come back. Mort will check the PR but will also need some other people to try out the instructions.

Error handling

This has been discussed before but we still need to make a decision. Now that we have a `Result in the standard library we can just use that. There's also a Result lib we can use.

Some questions about the benefits of using Result over polymorphic variants. Should help us get sensible errors and easily turn them into strings to report them (rather than having abstract types). We just need to make sure we choose something consistent.



  • nocrypto — Turns out that it's non-trivial to fix the openBSD issue. The release has been blocked on that. DavidK had to refactor c-include and other pieces and hasn't had time yet (will ask again on the next call).

  • MattG, working on Clock things, wanted to know whether he should wait for functoria to be released. Others mentioned that he should be able to use functoria now as it's in mirage-dev. There's also a draft blog post which should help him get started.

  • Seems that Jitsi is not as slick to use as Google Hangout. After some minor initial hiccups it worked in the end. Seems there are some issues with networking (UDP, VLAN, etc) for people on certain networks.

  • The next call is scheduled for Wednesday, 11th November. Please add any agenda items you wish to discuss in advance and refer to the mailing list for actual details a day or so in advance.