[olpc-software] graceful handling of out-of-memory conditions

Martin Sevior msevior at physics.unimelb.edu.au
Tue Mar 28 03:11:09 UTC 2006


On Tue, 2006-03-28 at 02:56 +0100, Daniel P. Berrange wrote:

> So while we could put lots of research into figuring out an optimal OOM handling
> solution, I think we'd be better off picking a simple algorithm, and then focusing
> effort on modifying applications  such that in the event they are killed off, no 
> user data is lost. Such modifications would be useful beyond post OOM handling, eg
> post a SEGV crash a user wouldn't loose data. Or it would enable a window manager
> to proactively shutdown apps before an OOM situation is even encountered.
 
As a data point in this discussion, AbiWord has a segfault handler that
saves the current document to disk upon receiving a variety of signals
including 11 of course.

I'll have to look at the code to see if we require memory allocation to
write the data to disk. We probably do. We might be able to save the
situation by releasing memory before writing to disk.

Is it possible to provide a signal to a process upon receiving a an Out
Of Memory rather than just returning a NULL pointer? While returning
NULL pointers will almost certainly cause AbiWord to segfault it would
nicer to know that the segfault was actually an OOM event rather than a
bug in the code. If the former we would know it was appropriate to
delete classes (to release memory) and to give an appropriate document
name, if the latter it make more sense to dump the document as quickly
as possible.

Martin Sevior





More information about the olpc-software mailing list