• Worse than worse than failure (unregistered)

    I can one up this.

    This exact same thing... but this time, in an access database.

  • simple (unregistered) in reply to Worse than worse than failure

    I can one up that:

    The exact same thing but the error reporting involves sending an email with all details including a stack trace. Email after email, in rapid succession, each one growing exponentially in size until everything is brought to an abrupt and fatal halt.....

  • Nagesh (unregistered)

    Nothing should be going recursive: xml message generating is fooling-proof.

  • Tundey (unregistered)

    Funny thing is that this monstrosity was probably written by a "smart" developer.

  • (cs) in reply to simple
    simple:
    I can one up that:

    The exact same thing but the error reporting involves sending an email with all details including a stack trace. Email after email, in rapid succession, each one growing exponentially in size until everything is brought to an abrupt and fatal halt.....

    Or strap a couple of sticks of dynamite to the side of the server, and wire a detonator to the parallel port...

  • (cs)

    Surely this was discovered during integration and/or unit testing? Right?

  • (cs) in reply to Worse than worse than failure
    Worse than worse than failure:
    I can one up this.

    This exact same thing... but this time, in an access database.

    Nope, that wouldn't allow the end user to read your stack trace, possibly containing sensitive data or revealing some sort of exploitation vector. If you one-up, at least provide compatible features!

  • thedailywtf.com (unregistered) in reply to Tundey
    Tundey:
    Funny thing is that this monstrosity was probably written by a "smart" developer.
    You mean, a CS college graduate?
  • anonymous (unregistered) in reply to Nagesh

    Never underestimate the ingenuity of a fool.

  • Alex (unregistered)

    This is why XML is retarded and JSON is better.

  • A College CS Graduate (unregistered) in reply to thedailywtf.com
    thedailywtf.com:
    Tundey:
    Funny thing is that this monstrosity was probably written by a "smart" developer.
    You mean, a CS college graduate?
    What the IT industry needs is less college educated workers!
  • (cs)

    I wonder if the "circle of recursive fail" has ever actually happened, or if that was just speculation. I don't see a lot of potential failure points. Maybe if the logger fails, but if that's the case, you're probably either totally screwed or not in production.

    BTW- Recursion usually fails in a spiral, no?

  • (cs) in reply to Alex
    Alex:
    This is why XML is retarded and JSON is better.

    Or, came-on... Everybody knows that the best way to dispatch an error is by a CORBA message tunneled through HTTP.

    And, I'm sad, I can't one-up this one. The worst case of error handling I've seen is the logger initializing trying to log its errors to the logger it is initializing.

  • StupidTheKid (unregistered) in reply to Mcoder
    Mcoder:
    And, I'm sad, I can't one-up this one. The worst case of error handling I've seen is the logger initializing trying to log its errors to the logger it is initializing.

    You sir möbius my day.

  • (cs) in reply to Mcoder
    Mcoder:
    Alex:
    This is why XML is retarded and JSON is better.

    Or, came-on... Everybody knows that the best way to dispatch an error is by a CORBA message tunneled through HTTP.

    And, I'm sad, I can't one-up this one. The worst case of error handling I've seen is the logger initializing trying to log its errors to the logger it is initializing.

    What about catch(...) on Visual C++ 6? Swallows all exceptions, including non-C++ SEH exceptions, like 0xC0000005 GPF... Sure, it makes your program not crash, but so what?

  • Manadar (unregistered)

    TRWTF is that he bothered to log at all.

  • (cs) in reply to Steve The Cynic
    Steve The Cynic:
    Or strap a couple of sticks of dynamite to the side of the server, and wire a detonator to the parallel port...

    I did something similar (almost 30 years ago) but it was "Sparklers" and Smoke....startled the hell out of the people around when the PC loked like a 4th of july [USA holiday] celebration.

  • RFA (unregistered)

    I am wondering: what IS the correct way of sending an e-mail message to the system administrator to let him know the server messed up? Use a seperate cronjob to check the logfiles?

  • iToad (unregistered) in reply to simple
    simple:
    I can one up that:

    The exact same thing but the error reporting involves sending an email with all details including a stack trace. Email after email, in rapid succession, each one growing exponentially in size until everything is brought to an abrupt and fatal halt.....

    The IT equivalent of a criticality accident. Except without the mushroom cloud.

  • (cs) in reply to Steve The Cynic
    Steve The Cynic:
    simple:
    I can one up that:

    The exact same thing but the error reporting involves sending an email with all details including a stack trace. Email after email, in rapid succession, each one growing exponentially in size until everything is brought to an abrupt and fatal halt.....

    Or strap a couple of sticks of dynamite to the side of the server, and wire a detonator to the parallel port...
    I did the same thing, but used the CD ROM drive instead of the parallel port. I called it ITAPPBOMBROBOT.

  • Martin (unregistered) in reply to RFA
    RFA:
    I am wondering: what IS the correct way of sending an e-mail message to the system administrator to let him know the server messed up? Use a seperate cronjob to check the logfiles?

    Use a proper monitoring tool that has been designed for the task, preferably the one that the rest of your organisation is using to monitor errors on a system/application/performance basis.

    Nagios is free, HTH. :)

  • Eric (unregistered) in reply to Tundey
    Tundey:
    Funny thing is that this monstrosity was probably written by a "smart" developer.

    It's really not far off of what our 'Senior developer' designed in our first couple ASP.Net apps a few years back. She was fond of referring to herself as 'genius' and seemed to think this was rather a clever solution. (A solution to what I'm not sure of)

    And in our case, the legacy app it was extending wrote most of its logging to a database table where as our fancy new XML log... didn't. So in addition to making it harder to do proper error handling and tracking, it made it harder for the help desk to track down problems because half of them weren't in the proper log file.

  • (cs) in reply to Eric
    Eric:
    Tundey:
    Funny thing is that this monstrosity was probably written by a "smart" developer.

    It's really not far off of what our 'Senior developer' designed in our first couple ASP.Net apps a few years back. She was fond of referring to herself as 'genius' and seemed to think this was rather a clever solution. (A solution to what I'm not sure of)

    And in our case, the legacy app it was extending wrote most of its logging to a database table where as our fancy new XML log... didn't. So in addition to making it harder to do proper error handling and tracking, it made it harder for the help desk to track down problems because half of them weren't in the proper log file.

    I have a confession to make: I too created a logger that wrote to an XML file... weeps

    It wasn't my idea though! Actually I was forced to by my systems analyst. The argument was that if the database was down, you would loose the logs, which is an OK argument, but all that you'll be logging then is errors saying the DB is down.

    Anyway, the XML was another "requirement" pushed on to me because it was still the be all and end all of everything that is and SHOULD be IT...

    Oh, and let's not mention the scalability issues with writing to a single log file on a SAN in a web farm that requires locking the file for writing... Oh, and you have to load the whole document into memory to append a single "error" node (I optimized this to only append to the file; a bit better, but still not great).

  • Oik (unregistered) in reply to A College CS Graduate

    Yup, definitely true that. Number of certificates is inversely proportional to ability.

    I was once asked by a certificate holding MCSE how to install NT on his computer. Problems were....... IDE drives, SCSI controller (but hey if you ram the IDE connector in the socket it'll sort-of fit), I had an IDE controller so we could have gotten around that but the real killer was the processor - a 286, even NT won't run on a pocket calculator.

    Turns out he'd completed a whole MCSE course and got a good pass without ever actually touching a computer.

  • D (unregistered)

    I was once reviewing contractor code that in the error portion of the code would write entries to the database. Since this didn't include any try-catch, any errors would generate another error. You could get the server running the code to stop responding by disabling the database (on a different server).

    My only regret is that I wasn't more involved in the development so that when he first wrote it I could have messed with him.

  • (cs)
    From TFA:
    //This is a code snippet for serializing Exceptions using LINQ

    Isn't this exactly what LINQ was created for?

    ... when all the problems you have look like nails...

  • Ed (unregistered) in reply to Mcoder
    Mcoder:
    And, I'm sad, I can't one-up this one. The worst case of error handling I've seen is the logger initializing trying to log its errors to the logger it is initializing.

    That reminds me of the error handler that tried to look up the translation for 'no connection to database' in the database it could not connect to.

  • TW (unregistered) in reply to frits
    frits:
    I wonder if the "circle of recursive fail" has ever actually happened, or if that was just speculation. I don't see a lot of potential failure points. Maybe if the logger fails, but if that's the case, you're probably either totally screwed or not in production.

    BTW- Recursion usually fails in a spiral, no?

    Yes. Unless it's optimized for tail recursion.

  • (cs) in reply to RFA

    I have it built into the ASP.NET code, but with an explicit check for "if it's cascaded more than a couple levels then give up".

    I'll bear Nagios in mind, but our sysadmin department is understaffed as it is (I'm an application dev) and I'm not inclined to recommend throwing a new tool into the mix when I only vaguely understand the various benefits it might offer.

  • (cs) in reply to TW
    TW:
    frits:
    I wonder if the "circle of recursive fail" has ever actually happened, or if that was just speculation. I don't see a lot of potential failure points. Maybe if the logger fails, but if that's the case, you're probably either totally screwed or not in production.

    BTW- Recursion usually fails in a spiral, no?

    Yes. Unless it's optimized for tail recursion.

    True, but only on x64 envs, AFAIK...

    So what you have is a 64 bit, tail recursive spiral of failure.

    SWEET!

  • Benjamin (unregistered) in reply to Steve The Cynic

    TRWTF is any computer that still has a parallel port.

  • Anon (unregistered) in reply to Oik
    Oik:
    Yup, definitely true that. Number of certificates is inversely proportional to ability.

    So a person without any certification has the highest level of knowledge and skill?

  • Ralph (unregistered) in reply to Oik
    Oik:
    ...Turns out he'd completed a whole MCSE course and got a good pass without ever actually touching a computer.
    MCSE == Must Call Somebody Experienced

    But you knew that, right?

  • Spoe (unregistered) in reply to Anon
    Anon:
    Oik:
    Yup, definitely true that. Number of certificates is inversely proportional to ability.

    So a person without any certification has the highest level of knowledge and skill?

    No, they have undefined knowledge and skill.

  • Christopher (unregistered) in reply to C-Octothorpe
    C-Octothorpe:
    TW:
    frits:
    I wonder if the "circle of recursive fail" has ever actually happened, or if that was just speculation. I don't see a lot of potential failure points. Maybe if the logger fails, but if that's the case, you're probably either totally screwed or not in production.

    BTW- Recursion usually fails in a spiral, no?

    Yes. Unless it's optimized for tail recursion.

    True, but only on x64 envs, AFAIK...

    So what you have is a 64 bit, tail recursive spiral of failure.

    SWEET!

    What has x64 to do with tail call optimization? You can optimize tail calls on almost any architecture­—x86, PPC, Z80, 68000, etc.

    Unless you're only talking specifically about .NET, in which case TRWTF is .NET.

  • (cs) in reply to Christopher
    Christopher:
    Unless you're only talking specifically about .NET, in which case TRWTF is .NET.

    You got the low-hanging fruit I see (or low hanging-fruit, just to make some grammar nazis eyes twitch with pedantic-fueled rage)...

    And yes, I was talking specifically about .Net, but they claim that it's OK because they say (disclaim) in the spec to not count on this optimization as it's only currently supported in x64 (can't find the link now).

  • CCIE, CISSP< et al (unregistered) in reply to Oik
    Oik:
    Yup, definitely true that. Number of certificates is inversely proportional to ability.

    Hello there... just sit over there, we'd like to have a little talk with you.

  • (cs) in reply to CCIE, CISSP< et al
    CCIE:
    Oik:
    Yup, definitely true that. Number of certificates is inversely proportional to ability.

    Hello there... just sit over there, we'd like to have a little talk with you.

    Certifications are to hiring managers as shiny pieces of aluminum foil are to monkeys... Simple things impress simple people.

    That's not to say that I don't have certifications, or plan on getting more in the future. All I know is the reality and that getting certs doesn't make you "better", it just means you know how to play the game, thats all.

  • Dazed (unregistered) in reply to TheCPUWizard
    TheCPUWizard:
    I did something similar (almost 30 years ago) but it was "Sparklers" and Smoke....startled the hell out of the people around when the PC loked like a 4th of july [USA holiday] celebration.
    Yeah, like there were PC's around almost 30 years ago.

    ...

    ...

    Hell!! It really was almost 30 years ago! You've just ruined my weekend (and it's only Wednesday.)

  • Mr. Clean (unregistered) in reply to C-Octothorpe
    C-Octothorpe:
    ...AFAIK...
    I've been coming here long enough...I won't assume you know anything.
  • facilisi (unregistered)

    Obviously a former Java programmer.

  • trtrwtf (unregistered) in reply to C-Octothorpe
    C-Octothorpe:
    Christopher:
    Unless you're only talking specifically about .NET, in which case TRWTF is .NET.

    You got the low-hanging fruit I see (or low hanging-fruit, just to make some grammar nazis eyes twitch with pedantic-fueled rage)...

    I see what you did-there...

  • (cs) in reply to Mr. Clean
    Mr. Clean:
    C-Octothorpe:
    ...AFAIK...
    I've been coming here long enough...I won't assume you know anything.

    Wow, did you come up with that razor-sharp retort all by yourself?

  • yaki mando (unregistered) in reply to C-Octothorpe
    C-Octothorpe:
    Mr. Clean:
    C-Octothorpe:
    ...AFAIK...
    I've been coming here long enough...I won't assume you know anything.

    Wow, did you come up with that razor sharp retort all by yourself?

    He's right. What you know would fit in a thimble, and still have room left over for an arthritic granny-pointer.

  • (cs) in reply to yaki mando
    yaki mando:
    C-Octothorpe:
    Mr. Clean:
    C-Octothorpe:
    ...AFAIK...
    I've been coming here long enough...I won't assume you know anything.

    Wow, did you come up with that razor sharp retort all by yourself?

    He's right. What you know would fit in a thimble, and still have room left over for an arthritic granny-pointer.

    I love sock puppets!

    What exactly is your contribution other than copy-pasting "disses"?

  • Richard Weede (unregistered) in reply to C-Octothorpe
    C-Octothorpe:
    Mr. Clean:
    C-Octothorpe:
    ...AFAIK...
    I've been coming here long enough...I won't assume you know anything.

    Wow, did you come up with that razor-sharp retort all by yourself?

    Actually, your comment was a retort. Mr. Clean's comment was an unsolicited observation.

  • (cs) in reply to Dazed
    Dazed:
    TheCPUWizard:
    I did something similar (almost 30 years ago) but it was "Sparklers" and Smoke....startled the hell out of the people around when the PC loked like a 4th of july [USA holiday] celebration.
    Yeah, like there were PC's around almost 30 years ago.

    ...

    ...

    Hell!! It really was almost 30 years ago! You've just ruined my weekend (and it's only Wednesday.)

    You beat me to it! Anybody else feeling really old?

  • (cs) in reply to Richard Weede
    Richard Weede:
    C-Octothorpe:
    Mr. Clean:
    C-Octothorpe:
    ...AFAIK...
    I've been coming here long enough...I won't assume you know anything.

    Wow, did you come up with that razor-sharp retort all by yourself?

    Actually, your comment was a retort. Mr. Clean's comment was an unsolicited observation.

    I know that, but it didn't have the same ring to it.

    frits...

  • (cs) in reply to Ralph
    Ralph:
    Oik:
    ...Turns out he'd completed a whole MCSE course and got a good pass without ever actually touching a computer.
    MCSE == Must Call Somebody Experienced

    But you knew that, right?

    I thought the tests were computerized ?

  • Pot Sticker Korean Style (unregistered) in reply to C-Octothorpe
    C-Octothorpe:
    What exactly is your contribution other than copy-pasting "disses"?

    That was no copy and paste. Hopefully my contribution will be to convince you to settle down with the dozens of "Thank You, Professor Obvious" comments a day you post.

Leave a comment on “Error-prone Errors”

Log In or post as a guest

Replying to comment #:

« Return to Article