A stack overflow is a symptom, not the illness. A fork bomb is an illness.
Software coming from the mathematical point of view, assummes it has infinite resources. However, a real computer has many resources that are finite.
CPU time is finite. Memory amount is finite. There is a finite number of network ports. And so on.
A stack overflow just means: “you have run out of this resource called ‘the stack’”. The stack is a region of the memory. Each thread of each process has 1 stack, and it is not infinite in size. This program will cause a stack overflow because it is infinitely recursive, and each function call will consume a bit of the stack.
A forkbomb is not the end of a finite resource. A fork bomb is a program that uses “forking” to rapidly consume system resources. A fork bomb might cause a stack overflow. Or an out of memory issue. Slow the computer a lot. Or if the OS has a hard limit for process amount, it might reach that limit.
A program such as the one in this post is a loop designed (intentionally or not) to run out of stack regardless of how much there is. I’d call that an illness rather than a symptom.
Hm, stack overflow is basically a forkbomb in programming?ok, bullshit.Forkbomb kills the entire system so not really.
With the stack overflow the runtime will gracefully terminate the program.
No.
A stack overflow is a symptom, not the illness. A fork bomb is an illness.
Software coming from the mathematical point of view, assummes it has infinite resources. However, a real computer has many resources that are finite.
CPU time is finite. Memory amount is finite. There is a finite number of network ports. And so on.
A stack overflow just means: “you have run out of this resource called ‘the stack’”. The stack is a region of the memory. Each thread of each process has 1 stack, and it is not infinite in size. This program will cause a stack overflow because it is infinitely recursive, and each function call will consume a bit of the stack.
A forkbomb is not the end of a finite resource. A fork bomb is a program that uses “forking” to rapidly consume system resources. A fork bomb might cause a stack overflow. Or an out of memory issue. Slow the computer a lot. Or if the OS has a hard limit for process amount, it might reach that limit.
A program such as the one in this post is a loop designed (intentionally or not) to run out of stack regardless of how much there is. I’d call that an illness rather than a symptom.