3 ms·
But if your application is just restored to its previous state, it is still using the buggy code that was patched on disk. If you page in new code from patched
by mgerdts 5y ago
But if your application is just restored to its previous state, it is still using the buggy code that was patched on disk. If you page in new code from patched files, the program will not necessarily know that foo() now lives at a different address.
Save/restore across shutdowns is much simpler when the code doesn’t change. When the code changes, you need some form of live patching (ala ksplice) in the mix as well.
There are also concerns when the system interacts with external systems. Suppose the system state was saved just before the million dollar transfer was performed, the transfer was performed, then the cat tripped over the power cord without that being persisted. When the system starts back up, the app may make another million dollar transfer thinking it was the first one.
- ModernMech 5y agoSure, those are all complications, but I don't think it impacts the utility of the idea.