3 ms·
If you manage to reproduce a race, is there some way to capture exactly what the scheduler did and force it to do that again?
by klysm 7y ago
If you manage to reproduce a race, is there some way to capture exactly what the scheduler did and force it to do that again?
- jfk13 7y agoFor debugging purposes, for example? You might be interested in https://rr-project.org https://rr-project.org.
- throwaway2048 7y agorr isn't going to work on a kernel.
- Hello71 7y agoI'm inclined to say that it will work on User Mode Linux, and it looks like QEMU does have record/replay functionality.
- loeg 7y agoYes, it works as long as you don't have any real devices that cannot be captured in a reverse-debugger's state history.
- ndesaulniers 7y agoThat won't help with data races in drivers. MMIO can even race and isn't well specified.
- muricula 7y agoTry reproducing the race under an emulator like bochs. Bochs can be made fully deterministic, and you can take a snapshot at the beginning of the race and reproduce it every time from the snapshot. One downside is that bochs is very slow.