• Valmond@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      7 hours ago

      Program it with template meta programming and cause a stack overflow when compiling 🤓😎

      • Mad_Punda@feddit.org
        link
        fedilink
        arrow-up
        24
        ·
        edit-2
        1 day 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
          21
          ·
          1 day 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
          12
          ·
          edit-2
          1 day 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.

          • davidgro@lemmy.world
            link
            fedilink
            arrow-up
            1
            ·
            18 hours ago

            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.