hermit
reverie
hermit | reverie | |
---|---|---|
9 | 4 | |
1,223 | 575 | |
2.0% | 1.7% | |
7.3 | 7.7 | |
13 days ago | 13 days ago | |
Rust | Rust | |
GNU General Public License v3.0 or later | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
hermit
-
Debugging in the Multiverse
https://github.com/facebookexperimental/hermit but it hasn't worked for me and is now unmaintained.
-
Hermit is a hermetic and reproducible sandbox for running programs
That's been my experience as well. It lacks support for certain clone(2) flags like CLONE_VFORK[1], which limits the set of non-trivial programs it can run, and since running non-trivial programs is most of the point, I haven't revisited it since it was first announced.
[1] https://github.com/facebookexperimental/hermit/blob/bd3153b4...
-
So you think you want to write a deterministic hypervisor?
A Meta developer responded to an issue of mine on Hermit, and said:
"Just to let you know we're not actively working on Hermit in the team..."
https://github.com/facebookexperimental/hermit/issues/34#iss...
-
Is Something Bugging You?
I really like antithesis' approach: it's non-intrusive as all the changes are on a VM so one can run deterministic simulation without changing their code. It's also technically challenging, as making a VM suitable for deterministic simulation is not an easy feat.
On a side, I was wondering how this approach compares to Meta's Hermit(https://github.com/facebookexperimental/hermit), which is a deterministic Linux instead of a VM.
-
Deterministic Linux for Controlled Testing and Software Bug-Finding
> AMA!
Eager to try it but encountering the build error here - https://github.com/facebookexperimental/hermit/issues/11
Do you have a reference build log / environment you can share? Last known good commit sha and/or output from "rustup show"?
-
Deterministic Linux for Controlled Testing and Software Bug-finding
Here is the GitHub repository: https://github.com/facebookexperimental/hermit
reverie
- Reverie – A user space system-call interception framework for Linux
-
strace feels like magic — let’s fix that (with Rust)
By the way Facebook has a nice library/system for creating neat observability tools using a small amount of rust: https://github.com/facebookexperimental/reverie.
-
Show HN: boxxy – Control where Linux programs put files, without symlinks
For a structured approach to ptrace/syscall rewriting, you could try FB's reverie. I worked on and used it during an internship a few years back; it's pretty amazing at what it does.
https://github.com/facebookexperimental/reverie
-
Deterministic Linux for Controlled Testing and Software Bug-Finding
Note that this is a follow-on project from the earlier Dettrace system, which was applied mainly to reproducible builds (as in the academic paper, https://dl.acm.org/doi/10.1145/3373376.3378519, and presented to the Debian Reproducible Builds summit):
- https://github.com/dettrace/dettrace
And one cool part of it is this Rust program instrumentation layer:
- https://github.com/facebookexperimental/reverie
It's good for building OS-emulator style projects or tracing tools.
What are some alternatives?
sapling - A Scalable, User-Friendly Source Control System.
boxxy - boxxy puts bad Linux applications in a box with only their files.
stabilizer - Stabilizer: Rigorous Performance Evaluation
dettrace - A determinizing tracer using Ptrace
rr - Record and Replay Framework
devtools - Replay.io DevTools
Electron - :electron: Build cross-platform desktop apps with JavaScript, HTML, and CSS
radical-vscode - A dark theme for radical hacking inspired by retro futuristic design.
sysfetch - A super tiny system information fetch script written in BASH
ough-hugo - lovely hugo theme that uses a fabform.io contact form
Protocol-Examples - Example apps demonstrating how to use the Replay Protocol API