3 ms·
Congrats on your release! One question I have is, how exactly does it record and what are the boundaries of the recording? For example does it only record the
by dinnertime 2y ago
Congrats on your release!
One question I have is, how exactly does it record and what are the boundaries of the recording?
For example does it only record the userland execution of a single process, or does it have broader boundaries like including kernel code and/or execution of multiple processes? How does it handle shared memory regions that may be modified outside of the recording?
- alehander42 2y agoWe are currently working on two "backends" where recording works in different ways. For the scripting languages and smart contract/ZK languages, we instrument the interpreters using high level hooking API-s or direct patches, and we produce a trace. For system languages, we directly build on top of RR[1] recordings for now: RR can record multiple processes, and it works in userland. IIRC it doesn't support modifications of shared memory outside of the recording. It's very well documented in their paper: Engineering Record And Replay For Deployability: Extended Technical Report[2]. 1: https://rr-project.org/ https://rr-project.org/ 2: https://arxiv.org/abs/1705.05937 https://arxiv.org/abs/1705.05937