Re: 2.4.20-aa and LARGE Squid process -> SIGSEGV

J.A. Magallon (jamagallon@able.es)
Sat, 21 Dec 2002 01:13:34 +0100


On 2002.12.20 Ralf Hildebrandt wrote:
>* J.A. Magallon <jamagallon@able.es>:
>
>> Normal. You are running OOM. Look at what you do:
>
>But that manifests itself in a segfault? The kernel never logs an OOM
>in the logs.
>

Well, I used the OOM term, but I suspect it 'technically' only applies
to the situation when a kernel thread needs memory to do its work, and
it can not allocate it. The system can not continue without that memory,
you are OOM, and the OOM killer will begin to kill other things.

For user space memory, there is no real OOM state. The system (glibc) just
does not give you the memory, returns NULL in the malloc, and it is your
responsibility to check malloc's return value. If you do not check it,
you try to access a null pointer and _bang_. So in your case, after enough
iterations on malloc() without free(), it returns NULL and you fall into
a null pointer dereference.

AFAIK.

-- 
J.A. Magallon <jamagallon@able.es>      \                 Software is like sex:
werewolf.able.es                         \           It's better when it's free
Mandrake Linux release 9.1 (Cooker) for i586
Linux 2.4.20-jam2 (gcc 3.2.1 (Mandrake Linux 9.1 3.2.1-2mdk))
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/