5 ms·
Reminds me of Failure-Oblivious Computing [1]. It takes advantage of the fact that in many programs errors have a short error propagation distance as they are
by Periodic 14y ago
Reminds me of Failure-Oblivious Computing [1]. It takes advantage of the fact that in many programs errors have a short error propagation distance as they are often written as a main event loop and as long as you can get to the next iteration of the loop the error won't corrupt state. For example, if your server crashes on one request, it will probably be fine if it just gets invalid data instead, discards it as invalid, and then waits for the next response.
I'm not sure if this applies well to JavaScript. We might observe that most JavaScript is a set of disjoint event handlers. If one doesn't work right it probably won't break the rest of the site.
I played around with implementing FOP dynamically through DynamoRIO [2] as a class project but only got through a proof of concept and quickly remembered why I hate x86 assembly.
1: http://en.wikipedia.org/wiki/Failure-oblivious_computing http://en.wikipedia.org/wiki/Failure-oblivious_computing
2: https://github.com/periodic/Shady https://github.com/periodic/Shady
- jberryman 14y agoClearly this is the future.
- saraid216 14y agoSo that's where the name comes from. FOC-It.
- aboodman 14y agoThis is exactly what browsers do already. If one event handler has an error, that event is aborted. But the event loops continues, and js will continue to run.
- wsc981 14y agoThat reminds me a bit about a 'feature' of VB (LotusScript?) "on error resume next" :)