• Mad_Punda@feddit.org
        link
        fedilink
        arrow-up
        22
        ·
        edit-2
        18 hours ago

        Might very well be an endless loop because tail recursion can be optimized to reuse the stack frame. Depends on a lot of things of course.

        • orhtej2@eviltoast.orgOP
          link
          fedilink
          English
          arrow-up
          19
          ·
          17 hours ago

          Forkbomb kills the entire system so not really.

          With the stack overflow the runtime will gracefully terminate the program.

        • calcopiritus@lemmy.world
          link
          fedilink
          arrow-up
          11
          ·
          edit-2
          17 hours ago

          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.