• Tzafrir Cohen (unregistered)

    What decent console would beep if its buffer is full? We're not working with the BIOS here, right? The system is too busy to respond. So "nothing" will happen (or rather: things will be very slow).

    But what I don't understand is how is there a fork bomb here. The script is supposed to schedule a run at 5:30PM. Either using atd or by whatever scheduling mechanism.

    The script ran itself instead of the program at 5:30PM. So we now have another process that needs to run something at 5:30PM. Alas that time has passed. It will have to schedule the run tomorrow.

    The program never gets run, but no fork bomb either.

  • nobulate (unregistered)

    while (developers developers developers): SysReq + REISUB

  • EvilSnack (unregistered) in reply to Matt Westwood
    Matt Westwood:
    TSF:
    Before billions was spent on wars of questionable necessity.

    Can we please keep the politics out of these articles?

    Why? Is the truth too challenging for you?

    Here's some truth: "Before billions was spent on wars of questionable necessity" pushes the time-frame back to a different 'turn of the century'. WWI was a war of questionable necessity.

  • Hawk (unregistered) in reply to Matt Westwood
    Matt Westwood:
    oheso:
    faoileag:
    You were lucky! Where I once worked, we had to make do with paper clips!

    LUUUUUUUUUXURY!!!!

    ... we used to have to copy the contents of the screen onto slates with pieces of chalk. Tiny little pieces, that is, not fresh new out-of-the-box sticks of chalk, but the remnants handed down to us from when the bosses had finished with them.

    Imagine my embarrassment once when I realised too late that I was actually holding a wax crayon. They made me go out to the shop to buy a new slate, on my own time and with my own money.

    You had slate and chalk? Luxury! I had to use my own fingernails to dig in the dirt making reports before making the reports out of plaster. Making copies was such a pain.

  • NoJoy (unregistered) in reply to Iggy
    Iggy:
    Dan:
    Also known as "whoops, I accidentally made a fork bomb."

    Yes, during college we had a guy that made this kind of bomb.

    his nice little:

    for (i=0; i++; i <100)
    {
     fork();
    }
    

    so instead of nice 100 child processes there were quite a few more...

    the SUN workstation was not setup with user quotas, and with 10 clients connected via xdmcp this was not only a fork bomb, but the network load almost shut down the whole network in this building.

    as you guess: the building was hosting the main servers...

    I seem to recall crashing Lotus notes servers using mail forwarding rules:

    1. If an email message comes to me, send two copies to myself
    2. send myself an email.
  • anonymous (unregistered) in reply to NoJoy
    NoJoy:
    Iggy:
    Dan:
    Also known as "whoops, I accidentally made a fork bomb."

    Yes, during college we had a guy that made this kind of bomb.

    his nice little:

    for (i=0; i++; i <100)
    {
     fork();
    }
    

    so instead of nice 100 child processes there were quite a few more...

    the SUN workstation was not setup with user quotas, and with 10 clients connected via xdmcp this was not only a fork bomb, but the network load almost shut down the whole network in this building.

    as you guess: the building was hosting the main servers...

    I seem to recall crashing Lotus notes servers using mail forwarding rules:

    1. If an email message comes to me, send two copies to myself
    2. send myself an email.
    It's Lotus Notes. What did you expect?

    To be fair, Notes was designed by brain-dead morons who failed to anticipate obvious actions that would completely bring the system to its knees. All they had to do was use a message ID to make sure that an e-mail won't be forwarded more than once, but apparently they weren't capable of figuring that out.

  • Neil (unregistered)

    I'm not sure whether the real fail here is that the original script was made to be so generic so that it needed arguments in order to do its one-off task, or that the scheduler was apparently unable to provide arguments to the script itself.

  • (cs) in reply to Tzafrir Cohen
    Tzafrir Cohen:
    The script ran itself instead of the program at 5:30PM. So we now have another process that needs to run something at 5:30PM. Alas that time has passed. It will have to schedule the run tomorrow. The program never gets run, but no fork bomb either.

    The script invokes itself, and does not exit until the child process exits.

    However, it does this linearly, not exponentially. Sooner or later, either the process table or available memory + swap will run out, fork will fail and the entire chain will unravel.

  • Tzafrir Cohen (unregistered) in reply to DES
    DES:
    Tzafrir Cohen:
    The script ran itself instead of the program at 5:30PM. So we now have another process that needs to run something at 5:30PM. Alas that time has passed. It will have to schedule the run tomorrow. The program never gets run, but no fork bomb either.

    The script invokes itself, and does not exit until the child process exits.

    However, it does this linearly, not exponentially. Sooner or later, either the process table or available memory + swap will run out, fork will fail and the entire chain will unravel.

    That's not a fork bomb. That's a very slow loris attack: one extra process per day.

  • Dave (unregistered)

    "to defoliated a acre of the Amazon"

    my english used to was good too

  • (cs) in reply to Tzafrir Cohen
    Tzafrir Cohen:
    DES:
    The script invokes itself, and does not exit until the child process exits.

    That's not a fork bomb. That's a very slow loris attack: one extra process per day.

    No. The at job runs a script which invokes itself etc. You'll have thousands of processes within seconds. But as soon as the most recent descendant fails to start a new one, the whole chain unravels.

    BTW, at jobs are one-shot, not repeating.

  • Tzafrir Cohen (unregistered) in reply to DES

    The script takes a command-line as an argument and schedules it to run at 5:30. Otherwise it would not have scheduled deployments before (which is not what the article hints). Something along the lines of:

    #! /bin/sh echo "$@" | at 5:30PM

    which, for clarity, may be written as:

    #! /bin/sh echo "$@" | at teatime + 90 minutes

  • Rudolf (unregistered) in reply to Matt Westwood
    Matt Westwood:
    You'd probably still have those paperclips because what you'd do is receive as many memos paperclipped together as you sent.

    Paperclips only have two real uses, and neither is for clipping bits of paper together.

    1. ejecting CDs from broken CD readers
    2. resetting various bits of hardware
  • (cs) in reply to Rudolf
    Rudolf:
    Matt Westwood:
    You'd probably still have those paperclips because what you'd do is receive as many memos paperclipped together as you sent.

    Paperclips only have two real uses, and neither is for clipping bits of paper together.

    1. ejecting CDs from broken CD readers
    2. resetting various bits of hardware

    Don't forgetting sticking one end into the connector for the green wire and another end into the connector for a black wire on a PSU.

  • (cs) in reply to Tzafrir Cohen
    Tzafrir Cohen:
    The script takes a command-line as an argument and schedules it to run at 5:30.

    How about reading the article before commenting? Specifically, the third paragraph from the bottom. The script, rous_at_job.sh, was supposed to look like this:

    #!/bin/sh
    rous.sh param1 param2
    

    but instead it looked like this:

    #!/bin/sh
    rous_at_job.sh param1 param2
    

    so it executes itself.

  • i❦ssl (unregistered) in reply to DES
    DES:
    #!/bin/sh
    rous_at_job.sh param1 param2
    so it executes itself.
    Nah.
    kill -9 $$
    executes itself.
  • (cs) in reply to i❦ssl
    i❦ssl:
    DES:
    so it executes itself.
    Nah.
    kill -9 $$
    executes itself.

    upvote

  • (cs)

    -1 Missing the opportunity to use the phrase "Back around the turn of the millenium".

    -1 "Before mayors broke down the stereotype that all crack addicts were skinny." This is a Marion Barry reference. He was arrested in 1990. If 1990 can be referred to as "around the turn of the century", why can't 2014 also be, in which case we're still around the turn of the century, so we wouldn't be saying "back around the turn of the century."

  • B. D. Johnson (unregistered)

    I know it's a WTF story, but the phrase "It's down enough." is awesome.

  • (cs) in reply to tharpa
    tharpa:
    -1 Missing the opportunity to use the phrase "Back around the turn of the millenium".

    -1 "Before mayors broke down the stereotype that all crack addicts were skinny." This is a Marion Barry reference. He was arrested in 1990. If 1990 can be referred to as "around the turn of the century", why can't 2014 also be, in which case we're still around the turn of the century, so we wouldn't be saying "back around the turn of the century."

    averaging out Marion Barry and Rob Ford makes it turn of the century, right?

  • anonymous (unregistered) in reply to tharpa
    tharpa:
    -1 Missing the opportunity to use the phrase "Back around the turn of the millenium".

    -1 "Before mayors broke down the stereotype that all crack addicts were skinny." This is a Marion Barry reference. He was arrested in 1990. If 1990 can be referred to as "around the turn of the century", why can't 2014 also be, in which case we're still around the turn of the century, so we wouldn't be saying "back around the turn of the century."

    When people talk about past events and their proximity to each other, they're making relative comparisons based on the length of time past. The difference between 24 years ago and 14 years ago is much less significant, statistically speaking, than the difference between 14 years ago and today. Wait another 50 to 75 years, and you'll be able to say with more or less equal validity that 1990 and 2014 were both "around the turn of the 21st century".

  • eric bloedow (unregistered)

    this story made me think of the infamous "arpanet worm"...

Leave a comment on “All Your RAM Are Belong to Us”

Log In or post as a guest

Replying to comment #:

« Return to Article