3 ms·
Crash-only software, defined as software that is built from the grounds up to expect crashing, is very useful for stability. If you write software from the beg
by bheadmaster 4y ago
Crash-only software, defined as software that is built from the grounds up to expect crashing, is very useful for stability.
If you write software from the beginning as if the only way to exit them is with SIGKILL, and if you make the application crash itself on any sign of fatal error, you get a reliable system.
- dmos62 4y agoWhy is crashing useful for stability? You say that it's good that a program crashes on a fatal error, but that's sort of backwards: any error that crashes the program is fatal by definition (that's what fatal means). I'm not sure what your point is. I know Erlang/OTP as a successful instance of fault-tolerant programming. Its actor model means that on faults your process subtrees die, but the system as a whole heals itself. So I guess you might be talking about actor-level programs, not system-as-a-whole-level programs.
- bheadmaster 4y ago> Why is crashing useful for stability? It's not crashing that's useful - it's crashing being expected that's useful. If your program expects to be crashed, it will be written in a way that allows it to continue operating no matter what happens. And if there's any error that could cause it to malfunction, it can just crash, re-start and continue. In contrast to many programs that crash, then refuse to start because of corrupted data or what not. > any error that crashes the program is fatal by definition But not every error that is fatal crashes the program :)