glommio icon indicating copy to clipboard operation
glommio copied to clipboard

What do you think about running `miri` as part of CI?

Open jeffwidman opened this issue 4 years ago • 3 comments
trafficstars

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?

jeffwidman avatar Mar 26 '21 04:03 jeffwidman

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).

glommer avatar Mar 26 '21 13:03 glommer

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.

bryandmc avatar Mar 26 '21 14:03 bryandmc

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.

jeffwidman avatar Apr 10 '21 07:04 jeffwidman