One last feature for today but I think you'll like...
# aros
j
One last feature for today but I think you'll like this one, it's about c*rash containment for AROS...* AROS has no memory protection, so one bad pointer in any program normally kills the whole OS. I built an opt-in containment mode that changes that: when a user program crashes, you get a "Recoverable Alert!" requester, you click Continue, the crashed program is removed, and the system keeps running. No reboot, nothing else lost. To measure it honestly I also built CrashLab, a test command that deliberately triggers every fault class (NULL read/write, wild pointer, illegal instruction, stack overflow...), and a harness that boots a fresh instance per fault and records survival. The numbers: • Before: 8 out of 8 CPU-fault classes killed the entire instance. Even the guru screen never displayed (I found and fixed a bug in the trap path that crashed the crash handler itself). • After: 8 out of 8 fault classes leave the system alive and responsive. The only remaining fatal case is stack overflow, since the crash handler needs the very stack that just overflowed. The design is platform-independent AROS code, so it's heading upstream (with a PR) later today.
r
Could you please explain how these requesters will differ from the ones we have now? I don't quite understand.
j
In your case, it failed and there is nothing you can do about it. With my changes you will hopefully more often get a chance to continue. It's not always going to work of course but it should make a difference.
Let me know if you prefer a much more technical answer and I'll explain how it's done a bit more.