Delayed gratification



  • One of the systems I am working on is a C# based windows service that talks to some instrumentation and writes results to a database. Over the last couple of weeks I have been doing some tweaks and letting it run for several days at a time while I do other stuff.

    This morning (Monday) I came into work and looked at the test systems console and had a minor heart attack. Up on it was the Microsoft dialog box saying that my program had "suffered an unhandled null reference exception", and "Did I want to send a report back to Microsoft?" I ran some SQL queries, checked the event log concluded that my service was still running contrary to what the MS dialog box suggested. So now I was really confused. I then took a closer look at the dialog box (I now wish I had taken a snapshot) and saw that the exception had a time stamp of a week ago and that there was text stating something like "You were not asked to send a report at that time"


    At that point I finally remembered that yes .. a week ago I had screwed up some code and generated a null reference exception that crashed my service when it started. But I had fixed that instantly and had since moved on and installed at least two more versions. But some time over the weeked Microsoft decided that it should be a good little OS and report on the error, and in the process created a nice little bit of FUD about my own damned program. Thank you Microsoft.



  • I wrote this comment last week, but it is only showing up today.



  • Is this your first time developing on a Microsoft platform? This is the normal error reporting system.

    There is nothing wrong here, learn to read the dialog box.



  • @MasterPlanSoftware said:

    Is this your first time developing on a Microsoft platform? This is the normal error reporting system.

    There is nothing wrong here, learn to read the dialog box.

    So that's why there is patch tuesday? It's not the day they create the patches that count, but the day they receive all the error reports! It all suddenly makes sense.



  • @MasterPlanSoftware said:

    Is this your first time developing on a Microsoft platform? This is the normal error reporting system.

    There is nothing wrong here, learn to read the dialog box.

     

    You know .. you are soooooooo right .. I just have to learn to read the dialog boxes more carefully.  It was all there right before my eyes.  And MS popping it up 5 days after the fact isn't a WTF at all.

     

    PS I probably have been doing MS dev since you were in diappers.



  • @OzPeter said:

    And MS popping it up 5 days after the fact isn't a WTF at all.
     

    Again, is this the first time you have heard of the error reporting service?

    Usually the service waits until the next time you boot your computer, or some other time it feels necessary. (Not 100% sure when it triggers, but it is never right away)

    This happens all the time, and I am glad it waits to pool these together, as I have seen some horrendous crashes where it would be quite annoying for it to keep popping up everything there was an unhandled exception in a vendor's code.

     

    Of course, that brings us to the question, if you are deploying test code to a machine like this, then why do you have Error Reporting turned on in the first place? A test machine should certainly not be trying to send errors in your program to MS. Since you have been developing on the MS platform since I was in 'diappers', surely you should know this right?

    But you are just going to tell us an unhandled NullReferenceException occurred on a production box right? Just shrug it off right?

     

    So you blame MS for your trouble, but it is really YOU who doesn't understand YOUR machine. You don't understand Error Reporting Services either apparently either. But it is MS's fault obviously. I find it quite amusing that such a season veteran of the MS platform wouldn't know what that big confusing dialog box was trying to tell them.



  • The Real WTF is the diapers comment. 



  • Ker-ist on a stick ... You even admit to what I consider the WTF is (some other time it feels necessary) yet you continue to lambast me based on your preconceived ideas of how I do my job.  Brillant!



  • @OzPeter said:

    Ker-ist on a stick ... You even admit to what I consider the WTF is (some other time it feels necessary) yet you continue to lambast me based on your preconceived ideas of how I do my job.  Brillant!

     

    I will assume you were referring to me, although I cannot tell for sure, since super veteran dev can't seem to understand how to click the quote button...

     

    Let me put this simple, so a guy like you can understand:

    It is not a WTF. It is how the service works. I am too lazy to spend the time trying to find more information on the various triggers the service uses. Perhaps you should figure out how to use Windows instead?



  • @OzPeter said:

    Ker-ist on a stick ... You even admit to what I consider the WTF is (some other time it feels necessary) yet you continue to lambast me based on your preconceived ideas of how I do my job.  Brillant!

    Don't mind MPS, he's just crotchety because he thinks there are no girls on the net and his sheep supply is running low.

    The Windows error reporting service has always puzzled and amused me.  I can imagine how many bajillions of end-users click the button to send reports whenever their applications puke.  I can NOT imagine how MS can possibly weed through them all trying to isolate the ones that are actually pertinent to MS.



  • @jetcitywoman said:

    I can NOT imagine how MS can possibly weed through them all trying to isolate the ones that are actually pertinent to MS.
     

    You see, there are these things called 'computers' and they run 'software' and they can do repetitive tasks....



  • @MasterPlanSoftware said:

    You see, there are these things called 'computers' and they run 'software' and they can do repetitive tasks....

    Ahh .. so *that* explains all of your posts.  Finally .. an answer!  You and Rod Speed must be brothers.



  • Well obviously it's better to pop up an error message a week later out of nowhere than to add an icon to the system tray (or notification area for the pedantic out there) that reveals the message when clicked. That would just be silly.

    @jetcitywoman said:

    @OzPeter said:

    Ker-ist on a stick ... You even admit to what I consider the WTF is (some other time it feels necessary) yet you continue to lambast me based on your preconceived ideas of how I do my job.  Brillant!

    Don't mind MPS, he's just crotchety because he thinks there are no girls on the net and his sheep supply is running low.

    The Windows error reporting service has always puzzled and amused me.  I can imagine how many bajillions of end-users click the button to send reports whenever their applications puke.  I can NOT imagine how MS can possibly weed through them all trying to isolate the ones that are actually pertinent to MS.

    Especially when it pops up these messages when my own program-in-progress crashes. Yeah, Microsoft needs to know about the bug I just fixed.


  • @lolwtf said:

    Especially when it pops up these messages when my own program-in-progress crashes. Yeah, Microsoft needs to know about the bug I just fixed.

    Wow, you completely fail programming and reading.  If it's popping up on a development box, it's YOUR fault for not disabling the service, not Microsoft's.  Their OS is made for end-users not developers and they give quite clear instructions on how to disable it.  See, I'm not a Microsoft developer, I never have been and I haven't even used Windows for anything other than browser compatibility testing for the last 6 years and I still fucking knew this.



  • @morbiuswilters said:

    I still fucking knew this.
     

    Go easy on these guys. Anyone who has lolwtf show up to attempt to defend them is like a wounded puppy.



  • Your post reminds me of something I've always wondered about crashes in recent versions of Windows. Why is that when explorer crashes due to trying to display thumbnails of videos (which the error reporting tool said was Xvid's fault), I can continue browsing the folder with no problems if I move the "Send Error Report to Microsoft" dialog box out of the way?



  • @Cap'n Steve said:

    Your post reminds me of something I've always wondered about crashes in recent versions of Windows. Why is that when explorer crashes due to trying to display thumbnails of videos (which the error reporting tool said was Xvid's fault), I can continue browsing the folder with no problems if I move the "Send Error Report to Microsoft" dialog box out of the way?
    As a guess, it's probably an access violation or other recoverable error.



  • Not if you click "Send Error Report" or "Don't Send", bstorer. Then the error becomes very much unrecoverable (as the program gets closed)



  • @Kyanar said:

    Not if you click "Send Error Report" or "Don't Send", bstorer. Then the error becomes very much unrecoverable (as the program gets closed)
    Gee, if only Cap'n Steve hadn't clicked those buttons... wait, what's this?
    @Cap'n Steve said:
    I can continue browsing the folder with no problems if I move the "Send Error Report to Microsoft" dialog box out of the way?



  • Yes, that is what I meant. I just think it's a little weird that reporting an apparently recoverable error turns it into an unrecoverable one.



  • @Cap'n Steve said:

    Yes, that is what I meant. I just think it's a little weird that reporting an apparently recoverable error turns it into an unrecoverable one.
    The error probably puts the program in an undefined state, which could make it unstable. I guess Microsoft is just going with a strategy of better safe than sorry.



  • @bstorer said:

    @Cap'n Steve said:
    Yes, that is what I meant. I just think it's a little weird that reporting an apparently recoverable error turns it into an unrecoverable one.
    The error probably puts the program in an undefined state, which could make it unstable. I guess Microsoft is just going with a strategy of better safe than sorry.
     

    Very likely the error happened in a worker thread.  The thread tried to execute an illegal operation and crashed, but managed to avoid totally borking the process.

    Sometimes this isn't fatal to the application.  Generating thumbnails isn't that essential.  However, if the main message pump (i.e. your UI) is blocking for that thread, or expects it to complete successfully and tries to access some memory that it was supposed to initialize, then the whole process could be dead in the water.

    I don't think that the Windows error handling system even knows that the error happened in a worker thread, and if it did know this, there'd be no reason to care.  There was a bug in explorer.exe, therefore show the error reporting dialog for explorer.exe and close it when done.

    Perhaps the "better safe than sorry" mentality is what governs the decision not to put a "continue" button on that dialog, as you see for the built-in .NET Framework exception handler. 

    <hints id="hah_hints"></hints>


  • @MasterPlanSoftware said:

    @OzPeter said:

    Ker-ist on a stick ... You even admit to what I consider the WTF is (some other time it feels necessary) yet you continue to lambast me based on your preconceived ideas of how I do my job.  Brillant!

     

    It is not a WTF. It is how the service works.

    It IS a WTF. What's more, it's CLEARLY a WTF. Yes, it's the way the service works. The way the service works is... wait for it... WTF-y. Let's break it down:

    1. Programmer runs app.
    2. OS reports app has crashed! Oh no!
    3. Programmer checks, app hasn't crashed.
    4. Programmer says "What the fuck?"
    5. Programmer checks logs, and finds crash that's being reported happened a long time ago to a different version of the app.
    6. Programmer says "What the fuck?" again



      You should really try to curtail the trolling when you don't even have a hint of a valid point to make.


  • @rc_pinchey said:


    You should really try to curtail the trolling when you don't even have a hint of a valid point to make.
     

    Hmm. Look in the mirror when making these statements.

    • He should have had a general error handler registered so this never happened. (AppDomain.UnhandledException)
    • On a testing box where unhandled exceptions are being found he should  have disabled this service anyway. There is no reason to be using it. This is for end users.


  • @MasterPlanSoftware said:

    @rc_pinchey said:



    You should really try to curtail the trolling when you don't even have a hint of a valid point to make.
     

    Hmm. Look in the mirror when making these statements.

    • He should have had a general error handler registered so this never happened. (AppDomain.UnhandledException)
    • On a testing box where unhandled exceptions are being found he should  have disabled this service anyway. There is no reason to be using it. This is for end users.

    First off, I don't troll. Secondly, neither of the things you've stated here preclude this situation being a WTF- they may both be true statements, but they have no bearing on the WTF's WTFery. The error reporting tool reported an error when there was no error, because it was ACTUALLY reporting an error which it had buffered up from two weeks earlier. That IS weird, and WOULD make a programmer say "WTF", and therefore is a fully valid thing to post.

    You're needlessly slagging the guy off, and if you keep this up no bugger's actually going to bother submitting anything and we'll be stuck with Swampy as our only form of entertainment. Please try to be a little more selective with your critiquing in future!



  • @rc_pinchey said:

    First off, I don't troll.
     

    What is this then? Riding in late to resurrect an argument? Posting erroneous conclusions?

    @rc_pinchey said:

    it was ACTUALLY reporting an error which it had buffered up from two weeks earlier
     

    Which is it's job.

    The application should be reporting it's own error. This is simply the Dr. Watson process buffering error reports and sending them out.

    @rc_pinchey said:

    WOULD make a programmer say "WTF",

    Agreed. As in "WTF was wrong with the programmer?" He shouldn't have an unhandled exception that falls through to Dr. Watson.

    @rc_pinchey said:

    and therefore is a fully valid thing to post.

    Agreed. We can all laugh at the OP for not knowing what he is doing. 

    @rc_pinchey said:

    Please try to be a little more selective with your critiquing in future!

    I suggest you follow your own advice here.



  • @MasterPlanSoftware said:

    • He should have had a general error handler registered so this never happened. (AppDomain.UnhandledException)
    • On a testing box where unhandled exceptions are being found he should  have disabled this service anyway. There is no reason to be using it. This is for end users.

    I'll happily admit that I screwed up by not having a handler that caught my programming fuck up, but you are so wrong about the way I was testing. What I was doing was running my code on a machine that was set up with the clients configuration. And if my client wants to have that service running in that manner, then that is his choice. Testing under your idea of a setup totally defeats the purpose of testing the system as the end user sees it.

    But I wasn't the reason that the MS dialog box was delayed by a week. Which as I have pointed out before even you admit that you have no idea when it pops up. And that non-deterministic behaviour is the RWTF. So unless you are going to come up with something other than "Look at the stupid person who calls himself a programmer" why do you even bother posting?



  • @OzPeter said:

    And that non-deterministic behaviour is the RWTF
     

    Again, not if you understand what the message is for. It is not informing you of an error. It is asking you if you want to send a report. These are two different concepts. The length of time could be for any number of reasons, not excluding OP embellishment. The simple fact is that the mechanism was not made to handle your problem (it should have never bubbled up to WER) and it did it's job anyway. Microsoft foresaw your lack of proper error handling, and helped you out. Your end user would have been given the ability to send an error report that you did not provide them the means to do in your code. You got that for free, just for using the system. But you cry that it is not what you would want or expect.

    @OzPeter said:

    Testing under your idea of a setup totally defeats the purpose of testing the system as the end user sees it.

    TRWTF is that you were testing this code with no exception handling as if it were ready for primetime.

     

    Again, TRWTF is your code, and your lack of understanding of what WER is and what it does. You would have never looked at the WER message box and said "OMGz an error!" if you knew what you were looking at. You also might have looked at the date if you were just curious.

    But instead, you took this as an error message. Which it is not.



  • @MasterPlanSoftware said:

    The length of time could be for any number of reasons, not excluding OP embellishment.

    Oooohh .. calling me a liar now .. that sure is classy



  • @OzPeter said:

    calling me a liar now
     

    Sorry, but you need to learn the difference in the two terms.



  • @MasterPlanSoftware said:

    @OzPeter said:

    calling me a liar now
     

    Sorry, but you need to learn the difference in the two terms.

    An embellishment is a class of lie.

    So either you are calling me a liar or you are a douche .. your choice.



  • @OzPeter said:

    An embellishment is a class of lie.

    So either you are calling me a liar or you are a douche .. your choice.

     

    You got it then. You can be a liar.



  • @MasterPlanSoftware said:

    You got it then. You can be a liar.

    Calling someone a liar with no proof at all makes them a douche anyway.



  • @OzPeter said:

    Calling someone a liar with no proof at all makes them a douche anyway.
     

    Ok. And posting a WTF with no proof at all and then getting bent out of shape when it is suggested you might have embellished facts a bit is a bit of a douche move.



  • @jetcitywoman said:

    Don't mind MPS, he's just crotchety because he thinks there are no girls on the net and his sheep supply is running low.

     

    Sheep !?! 

    Are you assuming he can afford sheep ? Maybe when he upgrades from goats .... 



  • @MasterPlanSoftware said:

    Ok. And posting a WTF with no proof at all and then getting bent out of shape when it is suggested you might have embellished facts a bit is a bit of a douche move.

    Oh great .. this is soooooo much fun ... can we start on the "Yo Momma" taunts now???!!!?! Or maybe your're not up to that level??



  • @OzPeter said:

    Or maybe your're not up to that level??
     

    Honestly, you are the one bent out of shape... 

    I am not even insulting you. 

     

    Oh, and welcome to the internet.



  • @MasterPlanSoftware said:

    I am not even insulting you.

    You got that right .. not even close .. I'd mark you as a "must try harder".

    @MasterPlanSoftware said:

    Oh, and welcome to the internet.

    Better .. thats a step up from me calling you douche and you saying "No .. you .. you .. you're the douche"

    Trouble is I first saw that one probably about 16 to 18 years ago.



  • @OzPeter said:

    blah blah blah random trolling

     

    Do you have a point here, or can we get back to how wrong you are?



  • @MasterPlanSoftware said:

    blah blah blah I'm a douche blah blah I'm a douche blah blah

    Just following your lead



  • @OzPeter said:

    @MasterPlanSoftware said:
    blah blah blah I'm a douche blah blah I'm a douche blah blah

    Just following your lead

    Oh good, another idiot whose post-count exceeds his mental age by a factor of 5.  Why don't you have a seat here with MarcB, Lysis and slyadams.



  • @morbiuswilters said:

    Oh good, another idiot whose post-count exceeds his mental age by a factor of 5.  Why don't you have a seat here with MarcB, Lysis and slyadams.

    You shouldn't admonish MastP in that way .. he doesn't like it.

    But I am curious to know .. why do you even have a dog in this fight?



  • @OzPeter said:

    You shouldn't admonish MastP in that way .. he doesn't like it.

    He doesn't like a lot of things.  But I was talking about you.

     

    @OzPeter said:

    But I am curious to know .. why do you even have a dog in this fight?

    Because your original post was stupid and instead of saying "oh, well, I guess I should have turned off the service or caught my exceptions" you instead keep arguing that the service shouldn't report errors.  How idiotic is that?  You can even disable it if you are such a poor coder that you can't be bothered to handle your exceptions.  And don't give me that "close to the client environment" bullshit.  First, if your program is throwing exceptions it's nowhere near the point where it needs that level of controlled environment.  Second, are you also running the exact same processor, chipset, video card as your client?  Are you going to install every FF extension and every piece of adware they have?  Seriously, just man up and admit you didn't understand how the reporting service worked and also that you shouldn't have been letting unhandled exceptions through to the OS anyway.



  • @morbiuswilters said:

    Because your original post was stupid and instead of saying "oh, well, I guess I should have turned off the service or caught my exceptions" you instead keep arguing that the service shouldn't report errors

    The trouble is that I never said that the service should not report errors. I said that reporting them a week after the fact in a non deterministic manner was a WTF.



  • can we start on the "Yo Momma" taunts now?
     

    Yo momma is so unstable...when she crash, Microsoft don't even bother analyzing her crash report!



  • (missed the damn edit time limit)

    @morbiuswilters said:

    And don't give me that "close to the client environment" bullshit.  First, if your program is throwing exceptions it's nowhere near the point where it needs that level of controlled environment.  Second, are you also running the exact same processor, chipset, video card as your client?  Are you going to install every FF extension and every piece of adware they have?

    Umm .. I am very sure the machine configuration is identical as the machine on my desk is the clients machine. You shouldn't go around making assumptions about thing you don't know.

    @morbiuswilters said:

    Seriously, just man up and admit you didn't understand how the reporting service worked and also that you shouldn't have been letting unhandled exceptions through to the OS anyway.

    If you managed to read my original post and various others I have mentioned several times that the exception was my screw up. I don't deny that at all. yes I know I made a change that was crap and threw it on a machine and just ran it. And at no time did I ever say that my screw up was TRWTF. It's just that other people like you are fixated on me for reasons that are totally mystifying.

    And BTW .. perhaps you should go back and re-read the thread on Troll Management.



  • @OzPeter said:

    the machine on my desk *is* the clients machine.
     

    Then turn the service off and STFU then.

    @OzPeter said:

    You shouldn't go around making assumptions about thing you don't know.

    I guess we are just 'following your lead'.

    @OzPeter said:

    It's just that other people like you are fixated on me for reasons that are totally mystifying.

    Because you are 100% of the WTF here. The service is performing as expected. Your code however, well that is a different story.

    @OzPeter said:

    yes I know I made a change that was crap and threw it on a machine and just ran it.

    Yes but not have the base exception handler to fall back on is a whole different WTF. Everyone makes changes that have exceptions, but the UnhandledException event should be catching them. Therefore you double fail.

    @OzPeter said:

    And BTW .. perhaps you should go back and re-read the thread on Troll Management.

    Why? So we can block you? I don't think so, I would rather hear the ignorant shit coming out of you so I can correct the ignorance and not have other people reading this thread thinking that you know what you are talking about.



  • @MasterPlanSoftware said:

    The service is performing as expected.

    So if Microsoft has decided that it's ok to receive your error messages one week later, then they can't be wrong?


    I know that they haven't made a single mistake ever before but maybe, just maybe, they didn't think this one entirely through?



  • @MasterPlanSoftware said:

    blah blah repetitive blah blah angry blah blah my penis is bigger blah blah can't help stroking it blah

    There .. summed up your post for all the other people reading this thread



  • @julmu said:

    So if Microsoft has decided that it's ok to receive your error messages one week later
     

    You might almost be right... if they were reporting errors to the user.


Log in to reply