5,692 karma · joined October 28, 2014
Pernosco supports this too.
Pernosco (which builds on rr) has some really powerful state-recording and state-sharing UI for long-term and collaborative debugging. https://pernos.co/about/notebook/
We're going to have to stop talking to machines.
China is indeed extremely powerful but it has peaked.
As others have said here, in practice rr works very well for debugging a wide range of bugs in multithreaded programs, including race conditions.
Where it falls down:
* It can only use a single core, so highly parallel programs run very slowly when recorded by rr.
* Some race conditions may be difficult or impossible to reproduce under rr recording (but rr's chaos mode helps a lot with this).
* rr imposes sequential consistency on the recorded program, so bugs due to weak memory models do not show up under rr. Such bugs are pretty rare on x86 (because x86's memory model is pretty strong); this may be more of an issue on ARM.
The "leaky abstractions" argument doesn't work for me. E.g. in a Java API you don't commit (at the language level) to the ownership of passed-in or returned mutable objects. In Rust, you do, and the author claims this is a problem. I say that in fact you depend on the ownership of the referenced object either way; Rust forces you to write down what it is and enforce that the callers honor it, while in Java you cannot. Arguably therefore Rust is less leaky in that hidden assumptions are documented and enforced at the API layer.
I've had lots of good experiences refactoring Rust code. It's probably more typing than other languages but the increased assurance that you didn't break the code (especially in the presence of parallelism) more than makes up for it.
rr's recording works across system calls, thread context switches, etc, but gdb's doesn't.
rr's recording creates a persistent recording on disk that you can even move around between machines. This permits workflows that gdb's doesn't.
(Disclaimer: I work on rr)
And I don't know about "used at scale" but we use it in production for Pernosco.
I.e. the TV series looks bad compared to the books because they had to tackle the hard part and Martin hasn't yet shown he'll do better.
> stars suitable for settlement should provide “environments nearly identical to that of the home planet.”
Seems pretty clear that we're on a path to machine intelligence, and that interstellar voyages will be undertaken by those intelligences, not meatbags. That humans like a class G sun is irrelevant to the prospering of those intelligences.