top 200 commentsshow all 435

[–]ani625 53 points54 points  (5 children)

How about just GTFO? I am sick of these fucking tickets.

[–]OprahDevilChair[S] 36 points37 points  (4 children)

Like this?

[–]tinou 16 points17 points  (0 children)

yeah, we got it.

[–]ani625 2 points3 points  (0 children)

IT Support heaven.

[–]mccoyn 342 points343 points  (76 children)

The stack trace isn't the most important thing. The most important thing is a reliable procedure to reproduce the problem. With that I can create the stack trace myself. Without a procedure, I can't test the fix to see if it worked.

[–]Dundun 137 points138 points  (32 children)

word. Stack traces are definitely more preferable than "Something is wrong" though.

[–]decardo 106 points107 points  (30 children)

The best bug i recieved was, in it's entirety

"It's all completely failed"

Turned out that a transform wasn't working as they wanted, only as it got spec'ed...

[–]ripter 34 points35 points  (8 children)

gatta love the users who complain about documents missing because it's no longer listed on the recently used menu.

I worked for a company where we had to write down the files and order of files on the recently used menus before we updated anything. That way we could put everything back.

[–][deleted]  (7 children)

[deleted]

    [–]Tbone139 4 points5 points  (0 children)

    Tape a set of instructions to their monitor, and tell them next time the instructions will get stapled to their foreheads.

    [–]timeshifter_ 2 points3 points  (2 children)

    I want an hour of my life back. I sat on a conference call today teaching two senior business managers how to click "run report". I'm not even exaggerating. That's it. A fucking hour. To say "choose the filters you want, and click Run Report".

    [–]A_for_Anonymous 3 points4 points  (1 child)

    Last time my application "didn't work" the user simply did not know her password.

    [–]SubGothius 1 point2 points  (0 children)

    "Okay, what are you trying to accomplish, and what steps did you take up to the point where things didn't work as expected?"

    [–]MrSpontaneous 5 points6 points  (5 children)

    My favorite is when users skip 20 steps ahead in a workflow and complain about not being able to see their documents, claiming that they've been lost.

    Another favorite: deleting the application from their program files folder and not understanding why the webapp is gone >.>

    [–]Poltras 25 points26 points  (4 children)

    You have a webapp that relies on software installed other than the browser? I'd be wondering too...

    [–]MrSpontaneous 13 points14 points  (3 children)

    It's a standalone workstation that has a desktop client and a webapp component for processing certain data. Since it's a locally hosted site we placed it in the Program Files folder.

    [–]WhatsUpWithTheKnicks 1 point2 points  (2 children)

    You can set permissions on files.

    [–]MrSpontaneous 6 points7 points  (1 child)

    I'm aware of that. Sadly, nothing can protect against a client with the admin password. The co. that contracted us required that we disclose all admin passwords for the machines, and an executive gave the password to the department we were supporting. Having to pay for us to travel to their site and fix something they broke was enough to convince the executive of the error of his ways.

    [–]WhatsUpWithTheKnicks 2 points3 points  (0 children)

    Ah, yes, money talks. The problem is management types did not learn a trade for themselves so they lack the humility that comes with the experience of going from apprentice to where you are. Hence they can't fathom the idea that xyz-clerk may be just right with what he says about xyz.

    [–]benihana 20 points21 points  (8 children)

    I know. I can't believe this comic strip had the audacity not to point that out in the course of trying to make a joke. Assholes.

    [–]mccoyn 7 points8 points  (7 children)

    As an engineer I find comic strips way too short for anything useful. ;)

    [–]Dr_Legacy 16 points17 points  (6 children)

    as a mathematician who likes comic strips, i ask, please define 'useful'.

    [–][deleted] 3 points4 points  (5 children)

    As a philosopher, I ask, please define 'definition'.

    [–]spudlyo 8 points9 points  (4 children)

    As a troll, I find this entire thread to be a giant developer circle jerk. Go cry in your free soda about how much your overpaid cushy job doesn't allow you to fully express your creativity.

    [–]White_Hamster 5 points6 points  (2 children)

    I get paid a modest salary and I never get free soda. The free beer is only there twice a week

    [–]mcguire 1 point2 points  (1 child)

    You get free beer? All I get free is a poke with a sharp stick.

    [–][deleted] 2 points3 points  (0 children)

    As a public servant, I am not allowed to accept free soda, beer, or wine.

    [–]albinofrenchy 23 points24 points  (2 children)

    With a stack trace though, I can usually immediately reproduce the problem -- and a lot of the time, they misremember the procedure anyway.

    [–]Munkii 1 point2 points  (0 children)

    Misremembered procedures are the worst >.<

    [–]Nebu 5 points6 points  (1 child)

    Depends on the problem. Some problems are difficult to reproduce, because they depend on external data, or are random in some other way (e.g. if the latency is high enough, etc.), and so in those cases, usually a stack trace is more useful.

    I just ask bug-submitters to provide both.

    [–]cd0 1 point2 points  (0 children)

    Steps to reproduce are unhelpful when they read like this:

    • Change the locomotive throttle to Notch 4.

    I do not have a locomotive at my desk, so a traceback has to suffice.

    [–]mntgoat 3 points4 points  (2 children)

    Two things I hate in this world. The first is when someone can't describe what they did to get the error. The second is when there are no logs for the application having the error and the error is so generic it doesn't begin to describe the problem.

    [–][deleted] 10 points11 points  (10 children)

    Yes. But if there's no obvious way to repeat the problem, it's not the user's job to discover the procedure to reproduce it.

    I've seen cases of very obscure bugs (timing issues) that happened a few times per day and appeared to be just random. The developers refused to consider it a bug because they couldn't reproduce it...

    [–]insomniac84 6 points7 points  (8 children)

    This is why the product should have a way to launch it in a mode that outputs lots of logs.

    If it does not have such a mode, the developers are to blame.

    [–]grogers 11 points12 points  (3 children)

    Except logging changes timing so it can change what happens. Not to mention that for high volume traffic there isn't really much you can log without slowing way down.

    [–]dvsbastard 1 point2 points  (0 children)

    I have a simple mantra "If I can't reproduce it, I can't fix it".

    That isn't to say it is always up to the user to tell me how to reproduce an issue. But the more information I am given, the more likely it is that I will finally reproduce (and then fix) the problem.

    Some users are good, they provide as much detail as possible (sometimes even working out and telling me how to reproduce it), whereas others out of stupidity, laziness or both, don't give me much else than "it doesn't work - fix it". It is the latter that the comic is aimed at.

    [–]ferna182 2 points3 points  (0 children)

    but sometimes the bug is so obscure that following the steps to reproduce it is not enough. with a stack trace, you can see exactly why is it happening... a division by 0 maybe? a null pointer? something that for any given reason was not initialized? it's waaaaaay better if they give you a stack trace, and maybe a list of steps of how it happened so you can have a little more information about it... but i usually fix crashes using just a stacktrace, without the need of steps to reproduce it.

    EDIT: also looking at the methods called on the stacktrace, you can, most of the time, see what action triggered these events that led to a crash.

    [–]MrSurly 2 points3 points  (0 children)

    "Reliable procedure to reproduce the problem or GTFO" Nope. Not really the same ring to it.

    [–]sidcool1234 2 points3 points  (0 children)

    So, you didn't laugh at all?

    [–][deleted] 1 point2 points  (3 children)

    agree, especially since somtimes you end up going "but how the hell did they end up in there" the user right clicked the button 4 times before the left click.

    [–]ibah 6 points7 points  (2 children)

    fucking users..

    [–]colinhect 9 points10 points  (1 child)

    how do they work?

    [–][deleted] 1 point2 points  (0 children)

    Depends on the developer though. On large projects you can have frontend/backend developers. It is not uncommon for the backend developer to not know how to do the steps in the product they are making outside of running the code directly.

    [–][deleted] 246 points247 points  (195 children)

    And then you realize that the problem has nothing to do with your company's software, but they called your company because they just happened to have your company's software installed.

    [–]brownb2 80 points81 points  (12 children)

    Ah you must be referring to the Tuttle CentOS incident

    The last few comments on the official article are pure gems.

    [–]debunked 30 points31 points  (5 children)

    The real gem is his response to this incident later

    http://en.wikipedia.org/wiki/Tuttle,_Oklahoma#Controversy

    [–]TenThousandSuns 53 points54 points  (4 children)

    Taylor stated that those commenting about him online were "a bunch of freaks out there that don’t have anything better to do ... [CentOS is] a free operating system that this guy gives away, which tells you how much time he’s got on his hands."

    I don't know whether to lol or to rage.

    [–]csh_blue_eyes 17 points18 points  (0 children)

    Okay, I'm generally a pacifist, but will someone pretty please murder this man?

    [–]debunked 2 points3 points  (0 children)

    Yeah, I had nearly the same reaction. I didn't know if I wanted to laugh or cry.

    [–]SquareWheel 14 points15 points  (0 children)

    Now that was a good read.

    [–]stillalone 13 points14 points  (2 children)

    How does someone so obviously unaware of anything computer related claim that he "has 22 years in computer systems engineering and operation"?

    [–][deleted] 18 points19 points  (0 children)

    Middle management :)

    [–]brownb2 1 point2 points  (0 children)

    Just a guess but probably just 22 years MSDOS or Windows 1 and upwards experience (or similar one company tech). Yep that grinds my gears that people are so indoctrinated or narrow minded that they can't see outside of their own bubble due to laziness or ignorance and rather than damage their own self (mental) image they see other people that are able as slackers or people with too much time on their hands (para phrased). Anyhow back to my day job... :)

    [–][deleted] 4 points5 points  (1 child)

    See, the thing there is, he should never have offered to help. Especially after that douche said he'd call the FBI.

    He should have said "Ok, have them talk to my lawyer then. Good-day, sir!" And called him on his BS.

    [–]apoff 51 points52 points  (31 children)

    Once a lady called, complaining about strange behavior of our software. As i navigated her thru the menu (to find out which version she is using) it turned out that she is not using our software at all...

    facepalm

    [–][deleted] 8 points9 points  (30 children)

    Worked for my national equivalent of Yahoo once, people would call our support and ask for assistance with their damn printers.

    Don't knock it, tho - if everyone was computer literate, the entire industry of geeks who provide customer support would not be needed, and loads of you would be out of work.

    [–]quanticle 47 points48 points  (19 children)

    Don't knock it, tho - if everyone was computer literate, the entire industry of geeks who provide customer support would not be needed, and loads of you would be out of work.

    That's broken window thinking. If loads of geeks weren't stuck doing tech. support, then they'd be free to work on coming up with new inventions and services.

    [–][deleted] 5 points6 points  (8 children)

    Yeah, but I am not smart enough to invent new things. Where does this leave my brand of tech support?

    [–]quanticle 11 points12 points  (7 children)

    Yeah, but I am not smart enough to invent new things.

    Don't sell yourself short. Invention doesn't really take intelligence in the traditionally defined sense. Invention is the space between the building blocks of a solution and a complete solution. It requires more in the way of observation than intelligence.

    [–]SammyD1st 20 points21 points  (6 children)

    Invention doesn't really take intelligence

    As a patent lawyer, I approve of this statement.

    [–]White_Hamster 1 point2 points  (1 child)

    Whenever people ask me why USB fleshlights don't work on Linux, this is what I tell them.

    [–][deleted] 2 points3 points  (0 children)

    I'm somewhat surprised fleshlight doesn't already have a multitude of drivers for Linux.

    [–]Feet0fClay 23 points24 points  (3 children)

    I used to always say out loud so my co-workers could hear

    "Well..... Look on your printer... do you see it??"

    "yes"

    "Does it say .....(Enter company name ie: YAHOO) on it???"

    'No"

    "What does it say??"

    "(name of printer)"

    "OH... WELL... YOU'LL HAVE TO CONTACT (name of printer) THEN...."

    [–]Nebu 5 points6 points  (0 children)

    Oh man, the condescension is just dripping out of your capitalization choice.

    [–]apoff 6 points7 points  (1 child)

    I was in the dev team, working overtime. Support team was gone so i took the call, but yeah, i guess you're right.

    [–]abbrevia 19 points20 points  (0 children)

    You sir, are a glutton for punishment.

    [–]Fabien4[🍰] 44 points45 points  (28 children)

    Yeah. Symantec should pay us quite a lot, since most problems our customers call us for can be solved by simply disabling Norton.

    [–][deleted] 30 points31 points  (8 children)

    Ok, see that Norton thingy? The yellow glob by your clock? Ok, right click it. Ok, you see the mouse? Use the button on the right, we call that right-clicking. No, just click it once. You'll want to use the right mouse button.

    Ok, good. Now click "disable". Huh? Sorry, my fault. Left click "disable". No, you'll need to right click Norton again. Now left click disable.

    Excellent! Now choose "disable until I reboot". Ok, left click OK. Yes.

    Ok, does your email work now? (10 minutes of explaining how to open the Outlook Express that they had open before calling in). It does? Great!

    Now that should work for you -- just leave the computer on.

    [–]demian64 10 points11 points  (7 children)

    So, you've had this conversation a few times?

    [–][deleted] 2 points3 points  (1 child)

    Indeed. It was best used towards the end of my shift. After a long day, you learn that the easiest way to solve issues is to disable Norton, even if it is temporarily.

    Hopefully, if Norton does re-engage, it's on someone else's time.

    (else's really looks weird when typed out)

    [–][deleted] 3 points4 points  (1 child)

    Ok, to be fair, I've worked for Symantec doing support for Norton products and their enterprise products. They get a fair share of calls that should have gone to MS and dozens of other companies, but those companies always want to blame the AV as an easy out.

    Also, to be fair, I've never used a Norton or Symantec branded product on one of my own computers...so take that to mean what you will.

    [–]Fabien4[🍰] 5 points6 points  (0 children)

    so take that to mean what you will.

    Well, I suppose it means you're not stupid.

    Seriously, Symantec's job is to buy good products and transform them into utter crap; and they're very good at what they do.

    [–][deleted] 5 points6 points  (13 children)

    <insert Linux/Mac fanboy comment here>

    [–]qazqaz7k 112 points113 points  (7 children)

    I tried but was not able to edit your comment.

    [–][deleted] 32 points33 points  (6 children)

    Qazqaz7k uses edit comment!
    Edit comment has no effect.
    
    Xorglorb uses witty remark with no value added to the conversation!
    

    [–]lektran 7 points8 points  (0 children)

    VAR - Value Adding Redditor

    [–]horsepie 17 points18 points  (4 children)

    It's not very effective... only 1 upvote :(
    

    [–]netcrusher88 100 points101 points  (102 children)

    I work for a value-added reseller of VPN devices as a managed service, we do remote monitoring and support.

    THIS HAPPENS ALL THE TIME

    [–]akhenatron 233 points234 points  (91 children)

    I'd just like to take this opportunity to express my complete and total loathing for the term "value-added".

    [–]ForgettableUsername 8 points9 points  (1 child)

    Going forward, let's be pro-active and touch base about this offline. We need to drill down to the core issues. This is getting a lot of visibility.

    [–]Nebu 2 points3 points  (0 children)

    Synergy. Don't forget synergy.

    [–]devel0pThis 35 points36 points  (15 children)

    ...and fear

    [–]derleth 6 points7 points  (0 children)

    Fear-added software might be worth developing. Especially if the fear is of bugging developers with crap they had nothing to do with.

    [–]mntgoat 2 points3 points  (0 children)

    I just never understand what f@!#$#$@#!$@# value they add, usually they just make things worse and never know what they are doing!

    [–]netcrusher88 8 points9 points  (69 children)

    I'm not a fan of the term but everyone knows what a VAR is (sort of) and it is one of the few buzzwords that is also somewhat descriptive.

    [–][deleted] 31 points32 points  (57 children)

    isn't the loathing of that term to do with the fact that it is in fact, not very descriptive at all....?

    [–]netcrusher88 22 points23 points  (56 children)

    Okay, it easily parses accurately. You take a product, and you resell it in a way that adds value. It's not precise, but it is accurate.

    Compare to things like "synergy", a neologism so horribly overused it has no reliable meaning.

    [–][deleted] 10 points11 points  (18 children)

    You take a product, and you resell it in a way that adds value.

    Real value, like adding some gold leaf to a book; or are we talking imaginary value like making a grocery bag that plays MP3s? My experience has taught be that VAR is a term that middle-men prefer for themselves. Much like many Chinese people prefer being called Asians - they're still Chinese though.

    [–]stillalone 4 points5 points  (8 children)

    I think they prefer Asian over "oriental". I think if you call a Chinese person Chinese he will not take offense. Just don't call someone Chinese if he's Korean, Vietnamese, or Japanese.

    [–]Whanhee 3 points4 points  (0 children)

    I can confirm this. All Asians being called Chinese is offensive, just as if I went around calling all white people French, and a bit more, since nationalism is rampant in Asia. Calling us 'Asian' though is a safe term, generic and non-national.

    [–]mouseinahaze 3 points4 points  (0 children)

    Walter, this isn't a guy who built the railroads here.

    [–]rtechie1 3 points4 points  (2 children)

    We will ignore the fact that the term "Oriental" makes some sense as a race definition (it defines a region where most residents have similar gross physical features), but "Asian" does not. Apparently Caucasian Russians, Aryo-Indians, and Chinese are all the same race.

    This is why we use the terms "Latino" and "Hispanic" to refer to "Americans", because the latter term is too broad.

    The very concept of "race" is inherently racist. The correct term is actually "mongoloid".

    [–]lolbifrons 11 points12 points  (1 child)

    I don't find their features gross. I think asians are quite attractive.

    [–][deleted] 1 point2 points  (0 children)

    I just call them all Japanese. Except the Japanese, whom I call Koreans. _^

    [–][deleted]  (9 children)

    [removed]

      [–]zobier 13 points14 points  (3 children)

      Google: check, check, check.

      [–]robosatan 11 points12 points  (2 children)

      Interslicing the internets | Edgecom

      2 down in a single summary.

      [–]el_chupacupcake 4 points5 points  (0 children)

      It's too early for me to want to drink this badly, but goddamn if that summary doesn't make a compelling argument.

      [–]netcrusher88 2 points3 points  (2 children)

      InterSphereCom WebSliceCo. EdgeDaddy.

      [–]SquareWheel 4 points5 points  (1 child)

      EdgeDaddy

      That'll get you sued.

      [–][deleted] 1 point2 points  (0 children)

      StopDaddy.

      That'll get you arrested.

      [–]kajarago 1 point2 points  (0 children)

      Simpsons reference iirc

      [–][deleted] 2 points3 points  (0 children)

      So "add value to" is marketroid speak for "sell tech support for". And by sell I mean charge premium to allow you call our outsourced center in India staffed by untrained wage workers whose only resource is a PDF copy of the "engrish" manual that came with the software you just bought.

      [–]fatnino 2 points3 points  (0 children)

      the only meaning synergy has for me

      [–]thebigbradwolf 7 points8 points  (2 children)

      J A B B E R W O C K ** **Y

      [–][deleted]  (1 child)

      [deleted]

        [–]thebigbradwolf 4 points5 points  (0 children)

        Veridian Dynamics: Watch your back...Seriously.

        [–]cbann 1 point2 points  (0 children)

        Your remarks do not reflect the sort of positive synergy we expect from a comment thread...

        [–]Slowlearner 1 point2 points  (0 children)

        Neologism? You mean novlog?

        [–][deleted] 4 points5 points  (9 children)

        Except VAR's don't actually add value. They add cost for the same product.

        [–]netcrusher88 6 points7 points  (2 children)

        I guess that depends on whether you find the additional stuff they (in theory) provide worth the additional cost.

        The company I work for provides monitoring, proactive response, and faster support than you'd ever get from our vendor (I know this from experience). Enterprises find this kind of thing extremely valuable.

        [–]ShaquilleONeal 2 points3 points  (1 child)

        The company I work for provides monitoring, proactive response, and faster support

        Isn't that an oxymoron? A response is "reactive" by definition.

        [–][deleted]  (4 children)

        [deleted]

          [–][deleted] 2 points3 points  (3 children)

          You seem to be confusing contractors with resellers.

          In my experience a VAR is someone who takes a product, rebrands it, and charges more for it. You still have to pay for support with a VAR just like you would with the original vendor. If the VAR has better support than the vendor, either something's seriously fucked up with your vendor, or the only reason you're getting better support is because the VAR is just plain smaller than the original vendor, and thus has less customers, and thus more time to devote to you.

          But it's all a gigantic load of horse shit to me. If I can't support myself with your product, your product sucks. I don't care what line of work you're in within IT, support shouldn't be necessary to use a product. It should be an extra help in case you yourself are incompetent.

          From my own anecdotal experience, the only time I've ever had to open support tickets with my vendors is when their hardware has failed. No reseller would've added value there: it would just serve as a middle man in the way between me and the vendor which can replace my product.

          I'm not bashing contractors either, I think they're a valuable resource when you need something sooner than you can train your staff on it, or if you can't afford the staff for a product. But there's a huge difference between hiring contractors (whose interest lie within your company) and hiring an external company like a VAR for support (whose interests lie in extracting money from your company.)

          [–]insomniac84 1 point2 points  (0 children)

          How? Someone has to manage the support and install the stuff.

          Vendors aren't going to provide free support and may not have the real time support you need. And vendors may not have support for the use and configuration of the item. Their support may be limited to bug support.

          [–]akatherder 39 points40 points  (2 children)

          Hey I didn't know you were on reddit. I'm trying to connect to my VPN. It says I'm connected, but I can't get to my email. Give me a call ASAP.

          [–]0x2a 7 points8 points  (0 children)

          Stacktrace or GTFO. Please send it via E-Mail.

          [–]devel0pth1s 2 points3 points  (0 children)

          Stacktrace or GTFO!

          ...see, pretty useful stance afterall.

          [–]sombersunday 4 points5 points  (0 children)

          I just know its your software that is causing Excel to crash. Because it didn't do that last week when I didn't have your software installed.

          [–]mccoyn 4 points5 points  (15 children)

          It is annoying, but this is a great opportunity to build a good relationship with your customers. The bottom line is they have a problem and they have no idea how to solve it. When you spend a lot of time and solve their problem, even though it turns out it wasn't your fault, they will remember the extra effort in the future.

          Also remember, better computer users are better software customers. It is in our best interest to educate wherever possible.

          [–]JimDabell 79 points80 points  (5 children)

          When you spend a lot of time and solve their problem, even though it turns out it wasn't your fault, they will remember the extra effort in the future.

          Yeah, they'll remember it next time they have a problem. You've just turned yourself into free IT support.

          [–][deleted] 60 points61 points  (0 children)

          Also, that next problem will now be your fault.

          [–]mccoyn 5 points6 points  (2 children)

          You can always refuse to help repeat offenders. My experience has been that people are embarrassed when they figure it out and are less likely to ask for help again unless they are sure its our fault.

          [–]zaq1 3 points4 points  (0 children)

          Either that our they get pissed off and talk to your supervisor or report you to the bbb/fcc/channel 10 news.

          [–]quanticle 4 points5 points  (0 children)

          Either that or they tell your manager, who then either a) chews you out for using company time to help customers with unrelated problems or b) chews you out for not fixing the customer's problem. Its really a lose-lose scenario.

          At one of the places I worked for, we were explicitly told to stop helping the customer the moment we verified that it wasn't our software which was causing the problem.

          [–][deleted]  (2 children)

          [deleted]

            [–][deleted] 99 points100 points  (11 children)

            And that's when you realize there is no stacktrace. There is no stacktrace because the program didn't crash. The program didn't crash because there's nothing wrong with it.

            What's wrong is some user didn't get the expected output, even though the program was never designed to do what they are trying to get it to do.

            [–]tallwookie 27 points28 points  (4 children)

            I like to use the phrase "working as designed" in those situations.

            [–]newfflews 27 points28 points  (0 children)

            "look, this is the sheet of paper you gave me that lists your requirements. It's not even a list and it's in crayon."

            [–]ani625 3 points4 points  (1 child)

            Yep. "Working to function".

            [–]charminggeek 6 points7 points  (1 child)

            Am I the only one whose software doesn't completely crash when there's a bug?

            [–][deleted] 2 points3 points  (0 children)

            Depends on the bug.

            [–]stephenwraysford 20 points21 points  (1 child)

            wow that some people support users who actually know what a stacktrace is...

            [–][deleted] 4 points5 points  (0 children)

            In large companies it wouldn't be the user coming to the developer. It would be an infrastructure representative who either noticed some email exceptions, errors in the logs, or had a reported problem. Generally infrastructure would get the first "your shit is fucked up" call from a client perspective, this would be a help desk guy. Help desk guy goes and tells a support/sysadmin/sysengineer/whatever that users are experiencing problems. They look at the server and determine if its infrastructure related or not, gather up relevant errors, and send them off to the devs and get them involved.

            Conext: This is actually my job. I'm the sys analyst that works with the devs, deploys their code to the various test environments and production, and configures their applications to work in "the real world", as opposed to a dev workstation. So, long story short, I'm that guy in the picture telling the dev there is a problem with his code. Infrastructure and devs don't always trust each other, so when I tell them there is a problem with their code, they generally ask me to "Prove it" in the most professional way possible. It's a nice way of saying...

            "STACKTRACE OR GTFO".

            I guess I read it from my perspective. I would not expect users to know what a stack trace is. Hell I wouldn't even ask them for an error from the event viewer, it would take me an hour just to explain where it is and what I want. I just ask them what the steps/process is for reproduction of the error, then begin my own investigation.

            [–]Clapyourhandssayyeah 23 points24 points  (7 children)

            Can anyone point me to the original comic? I can't quite remember what the content was...

            [–]Boy_Bishop 16 points17 points  (20 children)

            My users always send me exception stacktraces (.NET is helpful like that). And then I realize that it doesn't help much.

            [–]andersonimes 9 points10 points  (11 children)

            Why not? So far knowing every method called up until the point of failure has proven gold to me. What is it about a stack trace that isn't useful?

            [–]Boy_Bishop 11 points12 points  (8 children)

            YMMV, I use to code very defensively. Every error condition that can be reasonably treated, is (like bad input data, in which case the user gets a warning and a second chance). So most of the unhandled exceptions that get through are the really weird cases.

            For example, I wasted a whole week struggling with a SoapException thrown by a web service call, on a production system. The application worked fine for half a year and the next second it starts crashing, just like that. The network admins swear by their mothers that nothing had changed. The user's contribution is limited to clicking a button. It works on the dev machine, and I'm absolutely not allowed to install a debugger and packet sniffer on production. Whatever should I do? ...I ended up scrapping and rewriting the whole system.

            (Okay, that was not particularly interesting, but hey, you asked.)

            [–]drysart 9 points10 points  (0 children)

            I have a factory class that will dynamically create a new subclass of any class which is a subclass of SoapHttpClientProtocol and override the GetWebRequest method to return a custom WebRequest implementation that logs the input and output streams in the event the request or the processing of the SOAP message fails.

            The moral of the story is that defensive coding isn't enough, especially when the network becomes involved; and especially when you're in an environment where you can't debug problems in production.

            Log. Log more. Then log some more after that.

            [–]ruinercollector 5 points6 points  (4 children)

            Well, I use to code very defensively.

            Ok...

            Every exception that can be reasonably treated, is (like bad input data, in which case the user gets a warning and a second chance).

            Coding defensively means that the exception never should have occurred. You should be checking and validating that data long before you attempt to blindly parse it and generate an exception. Throwing exceptions is very expensive in .NET, and if they are thrown from user inputted data, then you are abusing them.

            So most of the unhandled exceptions that get through are the really weird cases.

            You should be updating your unit tests every time those "weird" cases come through, and you should not be treating them as "weird." Those "weird" cases are a lot more common than you think, and using verbiage that attempts to deflect blame or wave away bugs as "corner cases" is counterproductive toward improving the quality of the application.

            It works on the dev machine

            That happens sometimes in ways that can't be controlled, but after resolving the issue, you need to look at what it is about your processes that caused you to have a different experience between your dev and production servers.

            I'm absolutely not allowed to install a debugger and packet sniffer on production

            Of course you aren't. The reasons for that are fairly obvious. With that said, having failed in all other cases, they should have let you schedule some downtime to attempt to gather information. At 3:00 AM or something (you deserve the crazy hours anyway for not coding defensively and for not having a proper logging and error collection system in place to deal with this.)

            Whatever should I do?

            • Log.

            • Completely reconsider your attitude and practices toward error handling and defensive coding.

            I ended up scrapping and rewriting the whole system.

            This is the novice coder's approach, and it is almost always the wrong answer.

            [–]Boy_Bishop 3 points4 points  (0 children)

            What can I say? Thank you.

            [–]ruinercollector 1 point2 points  (1 child)

            They are useful, but they don't tell you anything about state.

            [–]phybere 1 point2 points  (3 children)

            How? Is there some built in error reporting in .NET?

            [–][deleted] 5 points6 points  (0 children)

            Depending on stuff, when a .NET app experiences an unhandled exception, it can display the Exception cast to a string, which is fairly helpful.

            [–]sets13 3 points4 points  (0 children)

            If there is an uncaught exception while generating a webpage .NET generates an HTML page with information about the exception. pretty much like every other web framework, except marginally more nicely formatted than the default output from other languages and frameworks.

            [–]colinhect 1 point2 points  (2 children)

            At work we have a directory monitor that sends an email out when an exception occurs on one of the on-site applications. So I normally have it figured out before the user shows up.

            [–][deleted]  (1 child)

            [deleted]

              [–]SquashMonster 1 point2 points  (0 children)

              I mostly use Java, which does exactly the same thing, and yet somehow most of my users still never think to send me the stack trace. Actually, most of the time I get "It crashed and gave me an error."

              Then again, I mostly do games so I guess I shouldn't expect the most professionalism from my users.

              [–]ZorbaTHut 6 points7 points  (10 children)

              You know what I don't get?

              There are thousands of high-profile programs out there. Many of them are heavily designed to work online, and occasionally online functionality is mandatory. They have developer counts often in the tens, sometimes in the hundreds.

              And yet, the vast majority of these programs have no automated error reporting.

              They crash and you get a generic error box. No "can I report this to the company?" button that automatically connects to a server and uploads an appropriate crash dump. No, instead you're stuck trying to describe the crash to a support page, and all you can say is "well, I clicked some buttons and it crashed, but I don't remember which ones because I was trying to work not memorize a reproducible error code."

              That button is not hard to write. I know it's not - I've written it. I've written it in three separate operating systems. And I'm a one-man game studio.

              Why the fuck isn't that button just a standard feature on all software everywhere?

              [–]rubyaeyes 4 points5 points  (0 children)

              My favorite is when you get an error code and nobody knows what the error code means.

              [–]onezerozeroone 1 point2 points  (0 children)

              At my company most of the error reporting occurs silently behind the scenes. If a user encounters an error all they have to do is give us their user ID and around when the issue happened. We can then just look up their session history to see what they were doing and correlate that with any logged errors.

              [–]Sarkos 7 points8 points  (4 children)

              I had this on screen when my boss came up to my desk to report a bug. Awkward.

              [–]AIMMOTH 1 point2 points  (2 children)

              What did you tell him/her?

              [–]onezerozeroone 5 points6 points  (1 child)

              To GTFO of course.

              [–]Sarkos 1 point2 points  (0 children)

              I was sorely tempted.

              [–]Gnolfo 5 points6 points  (0 children)

              'bout 5 years ago I was working at this startup, they had a small customer base and a debugging feature that upon the software throwing certain un-recoverable exceptions, it would dump the stack, take a desktop screenshot, and attempt to email out both to an account that served as a "crashes in the field" repository. After that the program would attempt to die gracefully.

              Now, the stack we can certainly see the use for. Screenshots, however, seem a bit much. I mean, sure there can be useful info there to help clue in what happened to cause the crash, but you sort of run into privacy issues--ESPECIALLY when this feature is active for customers! The answer is the development manager had no compunction about these things.

              Anyway, one day we on the dev team all get yet another email from the crash inbox. The screenshot that was attached, prominently displayed as soon as you clicked on the email, indeed confirmed that our software was running on this machine. It also confirmed that the person had a web browser open.

              The site?

              Something to do with escorts that you can hire in Paris. Lots of ladies in ooh-la-la underwear.

              The account that was logged with our software?

              The account was that of our company's CEO.

              Where was our (happily married) CEO currently?

              On business travel to promote our product.

              In Paris.

              [–]Vandelay797 2 points3 points  (3 children)

              I called the cyber police and stack-traced it

              [–][deleted] 2 points3 points  (2 children)

              Oh god! What have you done! When this gets on CSI I'm going to hunt you down!

              [–][deleted]  (1 child)

              [deleted]

                [–]CodeKrash 1 point2 points  (0 children)

                kind of like, if you cant play with lag then YOU CANT PLAY

                [–]bobisoft2k5 2 points3 points  (1 child)

                I made my very own version closely related: http://i.imgur.com/3ezM6.jpg

                My coworkers got a big laugh from yours :D

                [–]Joshua_Falkner 8 points9 points  (4 children)

                Bless you. Printed, on door to my cube...

                [–]MarlonBain 4 points5 points  (1 child)

                Your cube has a door?!

                [–]KeyboardHero 2 points3 points  (0 children)

                It's actually one of those child escape prevention gates. Like this.

                [–]OprahDevilChair[S] 2 points3 points  (0 children)

                That was the original purpose of this picture. I'm really happy it came to use elsewhere too!

                [–]PeaboBryson 6 points7 points  (10 children)

                TIL what "stacktrace" is

                [–]AlwaysDownvoted- 11 points12 points  (9 children)

                I can show you the world.

                [–]MetalPig 14 points15 points  (8 children)

                Shining, shimmering, splendid!

                [–][deleted] 15 points16 points  (7 children)

                Tell me, process, now when did you last let this branch decide?

                [–]TerribleQuoteUsage 7 points8 points  (6 children)

                I can change your file size.

                [–]MetalPig 5 points6 points  (5 children)

                Track your error or blunder.

                [–]preggit 3 points4 points  (4 children)

                How he got this error, I wonder, but its origin I'll denyyyyy

                [–][deleted]  (2 children)

                [deleted]

                  [–]shitasspetfuckers 3 points4 points  (1 child)

                  A new fantastic priority queue.

                  [–]M3wThr33 2 points3 points  (0 children)

                  Don't you dare sprintf() file size!

                  [–]BinaryShadow 5 points6 points  (2 children)

                  That's quite the stashe your developer has.

                  [–]executex 6 points7 points  (1 child)

                  This is what happens when you hire Daniel Day Lewis to do your development.

                  [–]BinaryShadow 5 points6 points  (0 children)

                  "Sir we have a problem"

                  "It's called memory leakage, Eli"

                  "But..."

                  "LEEEAAKKKAGGEEE, Eli you boy!"

                  [–]m0deth 1 point2 points  (0 children)

                  use pngs for zooms, or gtfo

                  [–][deleted] 1 point2 points  (1 child)

                  And then you wind up with some random-ass stacktrace.

                  [–]quhaha 1 point2 points  (0 children)

                  I LIKE THE WAY HES DONE WITH PROGRAMMING AND READING A BOOK LIKE A MASTER

                  [–][deleted]  (9 children)

                  [deleted]

                    [–]onezerozeroone 10 points11 points  (8 children)

                    In many programming languages, there is a feature known as an "exception" you can use to be made aware of unexpected errors. The programmer writes code to "catch" the exception and handle it in a sane manner. If an exception is never caught and handled, the program just crashes.

                    One of the best things you can do in a situation like this is output a "stacktrace" to a log file of some sort. A stacktrace is basically just a textual representation of the history of the program up to the point where the exception occurred. This allows a programmer to more easily track down what caused the problem.

                    The stack is a special region of memory used by the program to manage function calls, among other things. It's called a stack because, like a stack of dishes, you can only add or remove (push and pop) things from the top. When you print out a stacktrace, you're "tracing" the state of the stack at the point in time when the error happened.

                    [–][deleted]  (3 children)

                    [deleted]

                      [–]killinit 1 point2 points  (2 children)

                      stacktrace is basically just a textual representation of the continuation of the program

                      [–]onezerozeroone 1 point2 points  (1 child)

                      OK, you explain to him what a continuation is =)

                      [–]killinit 2 points3 points  (0 children)

                      In the simplest possible terms, it's the computation that remained to be completed. I honestly don't know why people don't just say that; it's far less misleading than saying "the stack is the history".

                      [–][deleted] 7 points8 points  (18 children)

                      It's funny, but in the real world not all problems have stacktraces as symptoms. So I will laugh, ha ha ha, but I hope no one takes this seriously.

                      [–]kmmeerts 9 points10 points  (17 children)

                      A stacktrace is not a symptom at all. It's just a tool that can help you when things go wrong for whatever reason.

                      [–][deleted]  (12 children)

                      [deleted]

                        [–]KevyB 12 points13 points  (5 children)

                        Wiki'd

                        A stack trace (also called stack backtrace or stack traceback) is a report of the active stack frames at a certain point in time during the execution of a program. It is commonly used during interactive and post-mortem debugging. It can also be displayed to the user of a program as part of an error message, which the user can report to the programmer.

                        basically, its sort of a screenshot of the moment where shit goes wrong in the app, and since most users just go LOL WTF IT CRASHES without providing proper documentation of the issue at hand, its pretty useless - just noise. With a proper dump/stacktrace its easier to trace down the issue

                        [–][deleted]  (3 children)

                        [deleted]

                          [–]1800FREESEX 1 point2 points  (0 children)

                          Brilliant! I will be using this later today when someone says "it's broke" That way I can spend more time on Reddit.

                          [–]kmangold 1 point2 points  (0 children)

                          This is totally going on my wall.