Hi v8-users, It appears that in some cases V8 will abort the process when it runs out of heap space rather than throw a JS exception. The behavior can be overridden by registering an OOM callback, but if that callback returns without aborting, it seems V8 promptly crashes.
It seems like some code paths are designed to handle OOM gracefully, but others aren't. For my use case, it's pretty important that a malicious script cannot cause the process to abort, since our processes are multi-tenant. Ideally OOM would throw an exception, but terminating the isolate is also acceptable, as long as other isolates can keep going. Is there any way to accomplish this? For example, what if I compile with C++ exceptions enabled, and have my OOM handler throw an exception, hence unwinding the stack back to where I entered V8. Then, I promptly destroy the isolate. Would that work? Or, is there some trick to making V8 less crashy on OOM, aside from going through and fixing all the code paths that crash (which probably isn't feasible for me)? Thanks, -Kenton -- -- v8-users mailing list v8-users@googlegroups.com http://groups.google.com/group/v8-users --- You received this message because you are subscribed to the Google Groups "v8-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to v8-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.