2 ms·
Ah, you've caught me out on my sloppy use of English. What I should have said is that the address space layout is a source of non-determinism that would otherw
by DanWaterworth 10y ago
Ah, you've caught me out on my sloppy use of English.
What I should have said is that the address space layout is a source of non-determinism that would otherwise need to be accounted for in the recording of a program.
Further, I hold to the view that given a program, knowledge of the thread execution schedule/scheduler and the results of external calls, a program's execution should be deterministic.
Thinking about this now, I realize disabling ASLR shouldn't be enough to fix this problem since recording and replaying are sufficiently different.
- masklinn 10y ago> What I should have said is that the address space layout is a source of non-determinism that would otherwise need to be accounted for in the recording of a program. Ah yes, it needs to be deterministic in the context of a time-traveling debugger, I was thinking about the general case, sorry. > Further, I hold to the view that given a program, knowledge of the thread execution schedule/scheduler and the results of external calls, a program's execution should be deterministic. Surely it is, if you precisely know all timings and IO and can replay them there's nowhere for non-determinism to creep in. That's not really an acceptable scale of required knowledge for a time-traveling debugger though.
- DanWaterworth 10y ago> Surely it is, if you precisely know all timings and IO and can replay them there's nowhere for non-determinism to creep in. This was my original point, the address space layout information leaks into python land via things like id. > That's not really an acceptable scale of required knowledge for a time-traveling debugger though. That's what recording captures (though, you don't need to know the times at which things happened).