Entries:
Comments:
Posts:

Loading User Information from Channel 9

Something went wrong getting user information from Channel 9

Latest Achievement:

Loading User Information from MSDN

Something went wrong getting user information from MSDN

Visual Studio Achievements

Latest Achievement:

Loading Visual Studio Achievements

Something went wrong getting the Visual Studio Achievements

Processes Gone Wild: Understanding Windows Vista Reliability Mechanics

Download

Right click “Save as…”

Ever wonder about the physiology of a dying process? How, exactly, does an OS, like Windows Vista for example, know when a process is dying or hung or just out of its mind? What does Vista do, exactly, when it encounters a troubled process?

Well, Kinshuman, a Windows core os dev lead, Cornel Lupu, a Windows core os dev mananger, Jeff Braunstein, a reliability PM, and Siamak Ahari, a reliability test lead, will show you exactly how Windows Vista deals with troubled processes. We also dig into what happens with Dr. Watson data and how Dr. Watson has been improved in Vista. Of course, we spend a good deal of time talking about the complexities of operating system reliability in general. Basically, we have a great conversation about a giant topic.

There are some fundamental architectural changes in how Vista detects and deals with processes that need to be dealt with... You can think of processes as cellular units. In biological systems like you and me, we have powerful regulation mechanisms that deal with cells gone bad. Vista has similar constructs and we dig into them in this interview with some of the folks who built them.   

Tags:

Follow the Discussion

  • Joshua RossJoshRoss Niner since 2004
    Charles, you are getting pretty good at these seemingly casual interviews. I say seemingly because it looks like you have been doing your homework prior to the camera rolling. I really like the whiteboard portions of the shows. The visual is a good tie-in. But I was thinking... Thinking that you could add some clarity and a little bit of product promotion, by doing the whiteboard captures using a Windows Tablet PC. You could keep the audio tracks form the camera and switch-in a video feed from the Tablet. People like to talk and people like to draw. You could pass the tablet around like some tribal talking stick. I think that integration would be great! -Josh
  • CharlesCharles Welcome Change
    Actually, the only "preparation" I do comes in the form of knowledge aquired from all the other interviews I've done... That is, I actually listen to what's being said in the conversations I've had over the years. As a result of my work on Channel 9, I now have a very broad understanding of several technologies, especially Windows (which is my favorite).

    Your tablet idea is interesting. Hmm.

    C
  • Joshua RossJoshRoss Niner since 2004
    No preparation? Then I must say that you are becoming the Microsoft reverse osmosis system! Around 40:45 there is some talk about about application data recovery in Word. And, it sounded like some of that framework is now in Vista? I'm not even sure what to look for to find this.
  • CharlesCharles Welcome Change
    The recovery mechanism is part of a public Windows API that apps can hook into. I don't think Windows will automatically save data for any application that crashes unless it knows what to save and how (which is programmed by the app developer). I could be wrong, however, but it seems to me that since app data formats are so variable the OS can't be expected to have a priori knowledge of all possible application data constructs... So, rather than rolling your own data state recovery mechanism (like Word did for XP), you can tell Vista to do it for you, but it's an explicit ask and requires app-specific information.

    Probably best for the experts to chime in.

    C
  • Zian Choyzian Exploding heads since 1988
    JoshRoss wrote:
    No preparation? Then I must say that you are becoming the Microsoft reverse osmosis system! Around 40:45 there is some talk about about application data recovery in Word. And, it sounded like some of that framework is now in Vista? I'm not even sure what to look for to find this.


    QFT
  • I would like to correct something. This is absolutely wrong to say that processes can just quit or disappear in the mac witout the user knowing what is happening. This is plain wrong and the way you say it in the video sounds just like a big lie. I don't about Linux, but i do know that OS X detects and notifies to the user any process which has crashed or did not terminate properly. No only it does notify to the user that a given application has terminated in an abnormal way but it does also allow the user to send to Apple a complete bug report for any application. So no, please don't assert things that you don't know, not only this is not correct, but don't try to let people believe that Vista is the first OS to do that, i mean the mac start to do such things since Panther, way back to 2003!!! Give credit to it.......be fair.
  • CharlesCharles Welcome Change
    Hakime wrote:
    I would like to correct something. This is absolutely wrong to say that processes can just quit or disappear in the mac witout the user knowing what is happening. This is plain wrong and the way you say it in the video sounds just like a big lie. I don't about Linux, but i do know that OS X detects and notifies to the user any process which has crashed or did not terminate properly. No only it does notify to the user that a given application has terminated in an abnormal way but it does also allow the user to send to Apple a complete bug report for any application. So no, please don't assert things that you don't know, not only this is not correct, but don't try to let people believe that Vista is the first OS to do that, i mean the mac start to do such things since Panther, way back to 2003!!! Give credit to it.......be fair.


    This is not about Vista doing something first or Apple not doing something in their OS at all... This is a general purpose computing problem. This is why I mentioned Mac and Linux in the same sentence with all modern general purpose kernel-based operating systems including Vista. The point is, the OS owns processes and sometimes needs to kill them silently. In Vista, this won't happen since control is passed back to the kernel when a user mode app becomes unresponsive or otherwise horked, which is not the case in XPSP2 or any other MS OS.

    Again, this is about how Vista solves the problem, not about how Mac or any other OS does or doesn't.

    C
  • Joshua RossJoshRoss Niner since 2004
    Internally does Watson track Windows bugs, internal application bugs and 3rd party bugs? At what point is something a windows problem verses an application problem? I suppose that it belongs to whomever has the out-of-spec implementation.

    I know that Microsoft releases fixes for 3rd party applications in the form of compatibility updates. For example, take a look at http://support.microsoft.com/kb/929427 . I'm not sure if any other OS vendor releases fixes for 3rd party products. Once you start offering these "updates" does this become a slippery slope, where you become the maintainer of other products?

    There are a bunch of technologies that can be put together to make the best of a crashed application. Hibernation + Snapshots + Application crash detection gives us something cool. AutoStateSave! Image your application crashes, Windows asks hey, do you want to go back five minutes ago before your Application lost control? ***Windows 7 feature request***
  • Chris PietschmannCRPietschma​nn Chris Pietschmann
    JoshRoss wrote:
    There are a bunch of technologies that can be put together to make the best of a crashed application. Hibernation + Snapshots + Application crash detection gives us something cool. AutoStateSave! Image your application crashes, Windows asks hey, do you want to go back five minutes ago before your Application lost control? ***Windows 7 feature request***


    This would make for an interesting, awesome crash recovery feature. But, it's not completely feasable, since there are so many variables that would need to be kept track of.

    Just think if your app modifies a file, then another app does something with the file, then your app crashes. Now if we rollback the app, what happens to the other app and the file? The entire system state would have to be rolled back to reliably rollback the problem app to a reliable state.

    The System Restore built into Windows basically does this by taking a snashot of the drives in the PC, but it doesn't do the in-process memory in real time as you're using it.
  • Joshua RossJoshRoss Niner since 2004
    If I had a application running in a some type of sandbox, I wonder if I could see if and when it reached outside the box? I'm sure that there a plenty of applications that do not interact with (write to) system services like mailslots, named pipes, shared memory, the registry, shared files, etc. Maybe it is better for the application to have a SaveState api to use. Where is that again?
  • MassifMassif aim stupidly high, expect to fail often.
    I've not had a chance to watch the video yet, but I'm hoping it may provide insight into my one recurring problem with Vista.

    That is: when I close a program, occasionally it's picked up incorrectly as a crash (it's occurred to me that it's correctly picked up, and the program is crashing as it closes, but I'm going to assume that's not happening.) and I get the whole dialogue about collecting data.

    It happens often with IE, and occasionally when I cancel out of installations.
  • Documentation on the Vista Application Recovery APIs is available at the following links:

    Vista Application Crash Recovery in C#
    http://www.codeproject.com/useritems/VistaApplicationRecovery.asp

    Application Recovery and Restart
    http://msdn2.microsoft.com/en-us/library/aa373340.aspx

    Also, the Vista Restart Manager API is useful for saving/restoring app state in the event that your app needs to be shutdown to avoid a system restart.
    http://msdn2.microsoft.com/en-us/library/aa373654.aspx
  • Joshua RossJoshRoss Niner since 2004
    Thanks n4cer!
  • Charles wrote:
    The recovery mechanism is part of a public Windows API that apps can hook into. I don't think Windows will automatically save data for any application that crashes unless it knows what to save and how (which is programmed by the app developer).


    Sounds completely reasonable, but the fact is Internet Explorer needs to add such capability soon.

    I have been using IE on Vista for a couple of weeks and it keeps crashing while executing JavaScript code (or maybe Vista just keeps killing it). Very often I lose dozens of tabs I had opened!

    Sorry if this is a little off topic, but by comparison Firefox crashes less often and it is usually able to recover from a crash very gracefully by recovering all open tabs and sessions from disk.

  • Great stuff. Great site. Than you.

Remove this comment

Remove this thread

close

Comments Closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums,
or Contact Us and let us know.