glommio
glommio copied to clipboard
What do you think about running `miri` as part of CI?
Given that this project uses unsafe, what do you think about adding miri to the CI pipeline?
A little background on miri: https://www.ralfj.de/blog/2020/09/28/miri.html
In fact, miri was already used to find a memory leak in glommio.
There's more info here on how to integrate it into a CI pipeline, and I'd be happy to take a stab at it, but wanted to run it by the maintainers before going to the effort of trying to wire it up.
Also, there's a chance it may be too slow to run on every PR. I don't know if circleci supports running a nightly job against master, but that may be more efficient from a development standpoint.
What do you think?
miri was used to find a simple bug in glommio, in a test that just created and destroyed an executor without doing anything.
It would not run anything that did anything remotely useful, unfortunately, because it couldn't issue system calls. At the time I was excited to integrate it, but if it can't run any of our examples but the simplest one, it is of limited utility.
While you are looking at CI things: note that we don't actually run any tests (just builds) on CI right now, because we need at least kernel 5.8 (preferably 5.10) and last I looked at it CircleCI containers lacked it. It would be fantastic to find a solution for that (maybe VMs, maybe they already have newer kernels naturally now).
Yeah it would be awesome if it was possible.. cause I have heard goo things about miri. But how would we get around all the syscalls and then there's some other limitations as well that would need to be resolved. If they were I'd be all for it but as mentioned above I'd also just love to have the tests running in CI as well.
Makes sense... I opened https://github.com/DataDog/glommio/issues/324 to track getting the actual tests running in CI. Whenever that gets resolved then can circle back to look into this further.