----- Original Message -----
From: "C Hanish Menon" <hanish@innomedia.soft.net>
To: <linux-kernel@vger.rutgers.edu>
Sent: Tuesday, December 14, 1999 6:37 AM
Subject: Recursive malloc crashing Linux. (Well almost)
> Hi
>
> A friend of mine actually tried a small program which had a recursive
function
> with malloc in it, In which unknowingly he had forgotten to terminate the
> recursion thus going into a infinite recursion.
>
> When he ran this program , it used to seg fault , but at the same time he
found
> that he had lost space in his hard disk. This was inspite of removing the
> Core Dumps it generated.
>
> NOTE: __ the programs were run as normal user __
>
> When he asked me, I also wrote a similar program and tried on my m/c.
Strangly
> enough I got 2 behaviours.
> a) Sometimes it gives a Bus error
> b) Sometimes everything almost hangs. I mean It starts giving
> ***********
> Out of memory for Init (or klogd or sendmail or so on.)
> ************
> Also the system becomes almost unresponsive. Finaly I am forced to reset
the
> m/c. (Well I didn't wait for more than 10 minutes, may be if I wait more
> something might happen).
>
> Even I noticed losing some space. But fsck doesn't give any error. Also I
> wasn't able to reproduce it later so not very sure of this.
>
> This seemed strange enough so I thought I check if anyone else has noticed
this
> before.
>
> Well isn't the memory allocation logic such (or shouldn't it be ) that if
a
> process starts to ask beyond a certain amount of total memory it stops
giving
> any more memory to the process or so.
>
> *************** the Culprit code ***************
>
> void recurse(void)
> {
> malloc(4096*1024);
> recurse();
> }
>
> int main()
> {
> recurse();
> return 0;
> }
>
> NOTE: If I comment out the malloc above then the program segfaults almost
> immidiately, Seems to be because of stack overflow which is valid.
>
> ****************the test m/cs **********************
>
> AMD k6-2 350
> 64 MB RAM
> Kernel that came with Redhat 6.1 which was recompiled
> 120MB of swap.
>
> *******************************************************
>
> I don't have 2.2.13 kernel at office currently. And the 2.3.29 kernel
which I
> have requires the 2.3.x modutils and so , which I haven't downloaded yet.
And
> as this error seemed strange enough I thought I ask immidiately rather
than
> waiting till tomorrow so that I can check it with the 2.2.13 kernel at
home.
>
>
> ---------
> Keep :-)
> HanishKVC
> http://HanishKVC.tripod.com/
>
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.rutgers.edu
> Please read the FAQ at http://www.tux.org/lkml/
>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/