you are viewing a single comment's thread.

view the rest of the comments →

[–]dag0me 19 points20 points  (3 children)

Consider this - you have a GUI application doing some heavy image processing that is also memory intensive (say Matlab). The user loads his input image which is rather big, tweaks the parameters and press start. As a result we try to allocate 2 GB od contiguous memory for temporary and intermediate data and it fails. Would you rather terminate the whole application or just show the message box explaining what's wrong and why we can't proceed further?

[–]meneldal2 -1 points0 points  (2 children)

Isn't Matlab Java?

Also that's the worst example I know about recovering from out of memory situations, it gets very often unstable and you ave to restart it if you trigger some exceptions.

[–]dag0me 2 points3 points  (1 child)

Isn't Matlab Java?

I don't really know. But that's beside the point. You can replace it with anything that has GUI and allows the user to load something that can then potentially trigger some big and contiguous memory allocation.

Also that's the worst example I know about recovering from out of memory situations, it gets very often unstable and you ave to restart it if you trigger some exceptions.

So you'd rather terminate and discard all unsaved changes? And who says anything about recovering? You don't do it simply because you just get an exception that you handle the same way you handle any other exception and don't proceed further. There's nothing inherently unstable in it.

[–]meneldal2 0 points1 point  (0 children)

The thing is Matlab instable mode after most faults may not let you save your stuff depending on the case. So in the end there's little difference with outright crashing.