23 ms·
> For those that have used it, how useful it is for debugging multithreading heisenbugs? Not that useful, because as it says on the page (under "Limitations"):
by patrec 4y ago
> For those that have used it, how useful it is for debugging multithreading heisenbugs?
Not that useful, because as it says on the page (under "Limitations"):
> emulates a single-core machine.
- semiquaver 4y agoMultithreading does not require multiple processors, it has existed since long before SMP was a thing.
- db48x 4y agoBut rr does squash all your threads into a single virtual cpu core. It context–switches between them, but ultimately only one of them is running at a time. This makes it hard to capture some kinds of bugs. To compensate it also has a chaos mode that randomly stops switching between the threads fairly (starving some and giving others more than their fair share) in the hopes of triggering those same bugs. For most uses rr is a major win, but for race conditions it sometimes doesn’t help.
- patrec 4y agoAnd a lot of this multi-threaded software that previously worked fine on single-core machines, required urgent fixes as multi-core CPUs became more common.