Bug 9202

Summary: Dysfunctional applications consume all the system memory, system freezes.
Product: Memory Management Reporter: nikos (231036448)
Component: OtherAssignee: Andrew Morton (akpm)
Status: REJECTED WILL_NOT_FIX    
Severity: high CC: protasnb
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.22.9-desktop-1mdv Subsystem:
Regression: --- Bisected commit-id:

Description nikos 2007-10-21 07:53:39 UTC
Most recent kernel where this bug did not occur: 
it occurs from 2.6.21 (at least) untill 2.6.22.9
Distribution: mandriva 2007.1 -2008.0
Hardware Environment: 384mb of RAM (2 different types)+ almost the same swap memory
Software Environment: kde 3.5.6 - 3.5.7
Problem Description: Dysfunctional applications consume all the system memory (RAM and swap), system freezes. Probably related to Bug 5029
Steps to reproduce: 
A - Install latest openoffice (all dictionaries should be included and enabled by default, 20 or more of them, see "dictionary.lst" in "/usr/lib/ooo-2.2/share/dict/ooo"). Enable "Spellchecking while typing" and "Spellchecking in all languages". Open an openoffice document, and type more than 4 random characters.
B - It also occurs with the following combination: 
Firefox, some dysfunctional extensions, some dysfunctional java webpages (none of which is rare).

Since I am only a user, I reported this to "bugs.kde.org", as well, under the same name.


My question:
Why is an application allowed to do that?
Shouldn't there be some sort of "fuse" or threshold?
Sorry for having to make the comparison, but I never had such a problem with Microsoft Windows.
And this is probably the only (but unfortunately frequent) instability, that I have met in linux.
Comment 1 nikos 2007-10-21 07:58:19 UTC
See also:
http://bugs.kde.org/show_bug.cgi?id=151148
Comment 2 Dave Jones 2007-10-21 19:03:15 UTC
Unfortunatly, OOo is a seriously gutsy application that likes to eat lots of memory, and 384mb isn't really a huge amount of ram.

by default, no limits are in place, and any application can exhaust all system memory and swap.  (See man ulimit for info on how to set them).

What's odd though, is that when the system runs seriously low on memory it's supposed to invoke the OOM (out of memory) killer, to kill a task thats hogging memory in order to make the system usable again.  For some reason, you don't seem to be having that happen.

When you say the system freezes, is the disk light on ?  It could be that it's not yet out of swap memory, so it's too early to begin killing processes.
Comment 3 nikos 2007-10-22 06:15:11 UTC
I can't tell if the disk light is on,
but according to KSysGuard all the memory (ram + swap) is consumed.

And when that happens, the KSysGuard stops updating its graphs,
soon the mouse stops moving or disappears.
Of course, no use trying keyboard shortcuts,
to log out, kill the process, or what ever;
none works.

At least 1 hour later the system is there,
as you left it, frozen!

Looking at the processes in KSysGuard
and at the "system services" of Mandriva's Control Center,
I didn't find any application 
resembling the names "oom" "killer" "badness" "memory".
Did the guys in Mandriva decided to leave something out?

And after "yahooing" on oom killer,
although I didn't understand most of the results,
I saw that a: others have the same problem,
b: how oom killer works is kind of a controversial issue.
Comment 4 Natalie Protasevich 2007-11-19 14:21:21 UTC
Maybe you can run vmstat and say vmstat -m and collect some information on where exactly memory gets consumed (instead of running KSysGuard), then you can provide this information in the attachment. You can open couple of windows and run it there, so when the system freezes you will se last updates to the memory stats. vmstat 2 will run continuously updating every 2 sec.
Running top in another window might be useful too.
Comment 5 Alan 2008-09-22 10:56:47 UTC
No responses, plus we have a no overcommit mode for this anyway