Slashdot Mirror


Microsoft Code at Fault for Half of all Windows Crashes

Flamester writes "In a ZDNet Australia story, Microsoft is claiming that half of all MS Windows crashes are the fault of third party code, not their own. That is, according to Dr. Watson. The article also goes into the 'rigor in which MS tests their products before release'. "

31 of 819 comments (clear)

  1. Uhm, right... by mjmalone · · Score: 5, Insightful

    So they're saying that a poorly designed application can take down the entire operating system? The OS should be resilient enough to handle application crashes and keep on running, who cares who causes the crash? It's the OS's responsibility to handle it.

    Also I would like to see where they got these numbers? If they are using the new 'feature' that notifies microsoft of application crashes then I'd be skeptical... If the OS crashes then the notices won't be sent to Microsoft.

    Also, it is likely that MORE than half of the applications run on a Windows box are non-microsoft applications, that would mean that statistically MS apps crash more often than third party apps.

    1. Re:Uhm, right... by TheSunborn · · Score: 5, Insightful

      I think they are talking about drivers. With the current windows design any driver that crash have a good change of taking the os down with it.

    2. Re:Uhm, right... by Ominous+Coward · · Score: 5, Interesting

      Also, it is likely that MORE than half of the applications run on a Windows box are non-microsoft applications, that would mean that statistically MS apps crash more often than third party apps.

      Not that I really care to defend MS, but playing devil's advocate, MS apps would be more likely to crash than other apps because they're used more. Your average user of a Windows machine will use Outlook, IE, Word, Excel, and Powerpoint. What non-MS apps will the average user want to use? AOL/AIM, WinAmp, and Kazaa. There may be a few others, but none that will be used as often as the MS-created applications. If you never use the app, it can't crash the system.

      --
      Ceci n'est pas une sig.
    3. Re:Uhm, right... by andrewl6097 · · Score: 5, Informative

      Actually OS crashes do get sent. When you boot up, xp will recognize that it had just crashed and will offer to send the info.

    4. Re:Uhm, right... by EnigmaticSource · · Score: 5, Insightful

      ...As with most other 'Modern' OS's... Hell, driver changes on my RSTS/E 10 [PDP-11/79] box would take down the whole system. [[Still having DECNET Nightmares]] Drivers just happen to be one of those things that must be 'just right' otherwise it'll probably take down the entire system for [[what seem to me]] to be obvious reasons.

      --
      The Geek in Black
      I know my BCD's (when I'm Sober)
    5. Re:Uhm, right... by JimDabell · · Score: 5, Informative

      So they're saying that a poorly designed application can take down the entire operating system?

      I suspect that they are referring to drivers and other kernel-space code. The standard Microsoft weenie excuse for instability in the past has been "it's the drivers!", blaming the video drivers is a favourite.

      Remember that Microsoft don't write most Windows drivers, they don't have to because their market share is so great, any hardware manufacturer who doesn't supply Windows drivers is not competitive.

      I believe this is the reason why Microsoft introduced their "Microsoft signed drivers" that are supposed to guarantee Microsoft-level stability (!).

      However, I have to laugh at Microsoft when they claim 50% of crashes aren't their fault. It's like an advert for a diet pill saying "Doesn't cause death in over 90% of people!".

    6. Re:Uhm, right... by aggieben · · Score: 5, Insightful

      I can attest to this; I was a MS developer in the windows division for a while. I had to do stress testing all the time, and I found it quite common for XP to go days at a time during the stress tests, which I thought was pretty impressive. These tests make the system unusable, as it would with any system, but it didn't crash until it just couldn't allocate one more drop of memory or the disk controller just gave up or what have you.

      Also, while looking over bugs in the database they keep, there were vastly more bugs filed as a result of a poorly behaving 3rd party application than because of the windows code itself. Also, most of these didn't cause crashes. XP does a pretty nice job of handling application crashes gracefully. All of this is from inside professional experience.

      My personal expericence (e.g., outside the MS environment) has been than XP is as stable as any other machine I've got at home (Gentoo Linux, OpenBSD). In 2 years time, I've only seen 1 blue screen of death, and I've been using many different computers using with XP on them and I've installed in many times over that two years.

      MS does do a good job of testing their windows code (can't speak for office --- those nerds need to learn a thing or two about threads and finally put clippy out of his pathetic misery). They test their code far more thoroughly than ANYONE who does open source including Red Hat, IBM and others.

      Of course, all of this is not to be a MS zealot because that's not what I am. I'm much more of an OpenBSD guy. It is, however, to make this discussion a little more fair by sharing my inside experience and knowledge.

      --
      Don't become a regular here, you will become retarded. -- Yoda the Retard
    7. Re:Uhm, right... by elphkotm · · Score: 5, Interesting

      Not QNX! QNX drivers run in protected mode. Hell yeah, Microkernel biznatches!

      --

      <Amanda`> I just went out to the parking lot in my bathrobe to exchange warez CDs.
    8. Re:Uhm, right... by Soko · · Score: 5, Insightful

      True enough.

      Unfortunatley for Microsoft, they allow 3rd party drivers into kernel space, even if that driver has never been seen by a Microsoft employee. That is likely what he's saying - "We provide the means to have your code not fuck up our OS, and half of you don't do it!".

      The hardware/system drivers are allowed into kernel space after a user clicks a window that basically says "Microsoft has never seen this driver before - it could blow up your system. Want me to install it anyway?" and the user usually says "Yup, no problem. Them programmers are sooo smart...". It's very much a parallel argument to Windows Security - expecting everyone to know how to be a sysadmin without being a sysadmin.

      If MS should learn anything from Linux development, it's that free, on-line and open collaboration breeds better drivers and a more stable OS.

      Soko

      --
      "Depression is merely anger without enthusiasm." - Anonymous
    9. Re:Uhm, right... by buffer-overflowed · · Score: 5, Insightful

      I've had linux modules fail to load or screw up while loading (custom hardware drivers I wrote for something) and they locked a single terminal/process, w/o affecting the OS. You'd basically have to try to crash the OS to get a module to do so and even then it'd be tough.

      Windows' Problems run deep, very deep, and they won't be fixed w/o a complete rewrite. Drivers should not be able to take down the OS, but in Windows they can because of the Windows Paradigm.

      --
      The key to the enjoyment of pop music is to replace any instance of "love" with "C.H.U.D."
    10. Re:Uhm, right... by tomhudson · · Score: 5, Interesting
      wrong - if you read the article, they're not talking about drivers. They're talking about 3rd-party code, which includes apps, add-ons, etc.

      Here's another stupid quote from the article:

      Charles Sturt University announced they would be offering a Master of Information Systems Security degree including MCSE:Security industry certification.
      Consider this: Microsoft has been ordered not to use the term MSCE in both the United States and Canada because Microsoft does not have the legal right to "certify" people as engineers. This playing fast and loose with terms now extends to:
      1. MCSE == an illegal appropriation of the term Engineer to fool the consumer and anyone stupid enough to pay for it
      2. Security == a fucking joke that isn't funny anymore
      3. Best practices == "we don't know how to fix it", as in "We're following best practices."
      4. Enhanced user experience == Fisher-Price interface
      5. Where do you want to go today == "Where the fuck did my data go!"
      The problem wan't driver crases - their "Dr. Watson" wouldn't get a chance to report back to the mother ship in most of those instances.
    11. Re:Uhm, right... by Nevo · · Score: 5, Interesting

      That's just ignorant. Any device driver running on the system has complete control of the system. To architect an OS otherwise would take such a huge performance hit to make the OS unusable. Any device driver can blue screen a Windows machine. It's the nature of the beast. And it is in no way Microsoft's fault if a third party device driver does something that is clearly illegal according to the DDK. Read the other posts about the same thing being true of Linux kernel modules and PDP systems.

    12. Re:Uhm, right... by passthecrackpipe · · Score: 5, Insightful

      Hrmph. Not withstanding that fact that I use linux on 90% of my machines (i have ten, and 1 is a mac), I would not state that crashing linux is hard work. I have had issues, for example, with a compaq server running KDM, and a connection from a SPARC Debian box to KDM would send the compaq machine in a stupor, with only a blowing fan and slowly blinking numlock led as signs of life. Just one example.

      Every OS can be crashed, and Linux is not significantly harder or easier. It is just that with Open Source, world+dog will see what a tremendous asshole you have been, writing buggy code like that. Now, when coding proprietary stuff at work, you can probably get away with it, shifting the blame on your sacked co-worker, or coming up with a rather technical explanation of the situation to a boss that is probably clueless anyhow. With open source coding however, there are no excuses, and people will just start laughing every time you log on to IRC. You nerd-chick will stop writing you sexy emails and naughty, compromising emoticons, and you'll basically be branded a wannabe MCSD. Nobody would want that to happen, so the motivation to write good code is clearly present and persuasive with open source code... :-)

      --
      People who think they know everything are a great annoyance to those of us who do.
    13. Re:Uhm, right... by DDX_2002 · · Score: 5, Insightful
      The "PE Ponzi scheme"? I hope you're kidding.

      Out of all the professions, engineers have the ability to kill the most people in the least amount of time through incompetence. A doctor can only kill one patient at a time, a lawyer can only get a handful of co-defendants on death row at once, and an accountant can only kill people if they jump out their window because of his bad advice. But, a guy who is an "engineer" and doesn't know hiw head from his ass can design a house/dam/building/bridge/etc. that can kill rather a lot of people. And those people probably weren't the ones who hired the engineer, so they don't really have any way of knowing what his credentials are when they decide if they want to use the bridge, live near the dam, etc.

      --
      MHO. YMMV. Any resemblance between this post and real persons, or reality in general, was accidental.
    14. Re:Uhm, right... by danheskett · · Score: 5, Insightful

      However, there are tons of people who enjoy fixing or finding bugs, and provide hundreds of man hours of testing a day

      That isnt always the case. Code can get into the kernel that hasnt been reviewed by anyone for more than a brief few seconds. And after that it can be an indefinite time before that code is reviewed again. If it is sexy code, yeah, it will get seen. If it is mundane, or routine, chances are no one will look at it until they suspect a problem.

      The OSS world is quickly reaching a conclusion. For a long time, stability was how Linux could eat MS's lunch. But I haven't seen a single person who can straight-face deny the marked and vast improvement in MS products stability. They have for years now been systematically refining and improving Windows and including tools and using methods to improve stability and reliability. 10 years ago NT4 was properly laughed for being an instable piece of crap. Now, Win2003 is so much better it is a *rare* company who will stay away simple for reliability purposes.

      The next big battle is going to be security. MS has been working on that too. These are issues MS is working on taking from the OSS world. People ought not count MS out. They are viciously improving thier product and initiating stategies to remove the issue from the table.

      Take this latest MS worm issue. Way less severe than previous issues, much better patch distribution time, and generally a much more smooth operation.

      But back on topic: about your issues with Win2k crashing with certain apps. I have experienced none of what you talk about, but do not be fooled into thinking that other OS's don't have the same problems. Win2k crashing for legacy apps isn't a good thing, but in the end, its pretty acceptabe considering the level of emulation that must take place to run 16-bit real mode code on a 32-bit protected mode OS. I've crashed Linux with dosemu before as a point of reference. Additionally, it is hard for you to know what caused Windows to crash. In essence, an app that is allowed to write data to devices that run in the kernel could potentially crash the system. The same goes for just about all OS's who run drivers in kernel mode (including how most of the Linuxes work).

      Your experience confirms what MS is saying. The applications you consistently run cause Win2k to crash. It is obvious they simply do not function correctly. Bad apps can cause a system to crash on Windows. It is also true that a bad app can cause Linux and *BSD to panic.

    15. Re:Uhm, right... by EnVisiCrypt · · Score: 5, Informative

      Yup.

      I've done an embedded system with QNX, and it is quite the nice RTOS.

      Under QNX, the devices hang out in the device manager, which is not in the kernel space, and the drivers are handled by the process manager, also not in the kernel. Since the kernel exists just to pass messages, essentially, it is uncrashable.

      --


      *everything* is Orwellian to cats.
    16. Re:Uhm, right... by clary · · Score: 5, Funny
      If you weren't P.E. certified, you couldn't legally call yourself an engineer in Texas. No exceptions.
      Must be a bitch finding qualified dudes to drive the trains. ;-)
      --

      "Rub her feet." -- L.L.

  2. John Dvorak has some interesting crash stats... by sphealey · · Score: 5, Informative
    John Dvorak developed some interesting stats on XP crashes based on information given in a speech by Bill Gates. He works out that there are 25 millions blue screen crashes of XP per day. Interesting read. Also raises the question of exactly what happens to all those "crash reports".

    sPh

  3. Dr. Watson catches OS crashes, not app crashes by Dancin_Santa · · Score: 5, Interesting

    So 50% of all system crashes are caused by 3rd party drivers and the other 50% are caused by Microsoft code.

    Sounds bad, but compared to the number of application crashes, the number of actual OS crashes is infinitesimal.

  4. These numbers lie and are by teamhasnoi · · Score: 5, Funny
    not to be believed! It is well known that Dr. Watson has a weakness for liquor, and fraternizes with a known cocaine addict.

    His conclusions are suspect, and so are his motives. It's elementary, really. Bill G should get Magnum P.I. or Simon and Simon to do this investigation.

  5. Third party code- what kind? by k98sven · · Score: 5, Interesting

    What kind of third-party code are they talking about here?
    Userland applications or device drivers?

    As so many others undoubtedly already have remarked, an application, however shoddily written,
    should not bring down the whole OS.

    If they're talking device drivers.. well, that's a different issue entirely.

    On the other hand, if this is the case, what the heck is that MS certification process for?

  6. So... by useosx · · Score: 5, Funny

    ...Slashdot poll: Is the cup half full or half empty?

  7. Lines of code by rf0 · · Score: 5, Funny

    I was googling for the 4 lines of C code that use to crash windows but came across this

    Rus

  8. Clarification of 'rigor' by Obsequious · · Score: 5, Funny
    'rigor in which MS tests their products before release'.

    Hmm... What kind of 'rigor' is that, again? Rigor mortis?

  9. They should steal better code by bugfixer · · Score: 5, Funny

    So I guess all of the crashes that I have experienced with Inernet Explorer can be blamed on the the third party software they stole from the University of California and Eolas Technologies Inc.

  10. MS Blaster by SpaceRook · · Score: 5, Funny

    I think in the last day, the number of crashes due to Microsoft code has risen to 75%.

  11. In other news... by FattMattP · · Score: 5, Funny

    In other news, the sky is blue.

    --
    Prevent email address forgery. Publish SPF records for y
  12. Scene at MS HQ by guacamolefoo · · Score: 5, Funny

    Scene: Microsoft HQ
    Present: Emporer Gates, DBallmer

    Emporer Gates: Darth Ballmer, it has come to my attention that we do not possess 90% market share in certain aspects of our operation. Your performance diappoints me...

    Darth Balmer: Ook.(1)(2)(3) [Hooo...haaa...hooo...haaa](4)

    Emporer Gates: Our code causes only 50% of crashes, yet we control 95% of desktop computers...can you explain the ineffectiveness of our operation? Why are we lagging in this area?!?!?

    Darth Balmer: Ook. [Hoooo...haaaaa...hoooo...haaaa]

    Emporer Gates: Please put your army of flying monkey dark Jedi to work on this problem immediately. I expect results, Ballmer. You will not fail me in this, or you will be looking for bananas in the sodomy pits of the Hutts!

    Darth Balmer: Ook! [Hoooo...haaaaa...hoooo...haaaa]

    GF.

    (1) Monkeyboy
    (2) Librarian
    (3) I'm aware that it should be "Ape-boy" if the Librarian is an Orangutan, but if you don't tell the Librarian, I won't.
    (4) Darth Vader breathing sound

  13. You Mean The Glass Is Half Full? by istartedi · · Score: 5, Interesting

    Let's see... umm... A MS basher is someone who believes that half the bugs belong to MS. A MS apologist is someone who believes half the bugs belong to somebody else.

    Of course if you want to avoid emotional implications when describing the glass, you say "it's 50% water and 50% air". Likewise for this, except...

    If half the *code* in your system is written by somebody else, and they are responsable for half the bugs, then that tells you that you and the other guy are equally competent.

    Of course, you can spin those statistics anyway you like to suit your needs. Some programs are historicly more difficult to write than others. You could evaluate binary bytes, LOC, or number of binary files to get the spin you want.

    I'm willing to wager that MS and its partners are equally competent, since they draw on similar pools of talent. If there is any significant differential, things will tend to regress to the mean of proportional bugginess. For example, if a given vendor always writes buggy code they will eventually be replaced. If MS can't write something, they will eventually buy a company that can.

    --
    For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
  14. Reality Check... by rmpotter · · Score: 5, Insightful

    Um... where in the article does it say 3rd party code brings down the WHOLE O/S? In my experience the robustness of Windows has improved dramatically with every version (nevermind ME :-) I see individual applications crashing -- about 2 or 3 times a month. In fact, I typically go weeks and months between reboots (generally only when applying patches). There are plenty of things not to like about Windows, but the bad days of blue screens is a fading memory. Of course there are exceptions for odd hardware configurations and out-of-date drivers, but I've seen the same or worse problems with Linux support for oddball hardware.

    BTW -- you may have noticed that sometimes when an app "hangs", and displays a "not responding" message in Task Manager, it is actually still running just fine (though chewing up a ton of CPU). Depending on the problem I may wait it out until the process finishes or simply kill it. One of my gripes with MS is that sometimes I have to use a third-party tool (sysinternals.com) tool to kill runaway processes -- Task Manager is not always able to kill it. Not perfect, but it works.

    I think all of this applies to Windows server configurations also. I run IIS/ASP servers with dozens of users and applications. When configured so each account runs in its own memory space, with CPU utilization limits, NOBODY is able to bring down the whole web server with bad code -- just their own site.

    The fact is, most of us are so bigoted about our O/S of choice, we are unwilling to learn enough about the "enemy" to use it properly.

    --
    Is this sig nificant?
  15. Sorry, Mephisto, that's no excuse by billstewart · · Score: 5, Informative
    There are different kinds of crashing:
    • Individual Apps crashing themselves - that can happen on any OS. It shouldn't happen in major commercial products, but that's reality, and at least most of them are better about saving their state so they fail as safely as possible. I would have said that MS Office is pretty stable about that, except my MS Office has been crashing a lot the last couple of days, and of course there's all the Word Virus and Outlook Virus crap, so maybe I won't say that.
    • Hardware crashes - Unavoidable.
    • Crashes related to third-party device drivers - yeah, fine, you can't escape that, but the OS should be designed to minimize the need for drivers and provide mechanisms for isolating them.
    • The whole box crashing from applications - There's simply no excuse for this. That's why operating systems have kernels, and hardware has memory protection. Unix could pretty much defend itself from this by what, 1979? It wasn't rocket science like Multics or something. The 8086 memory architecture was too baroque, but the real advantage of all the segmentation stuff was that you *could* use it for memory management. Linus delayed at least one kernel release because a root user who opened a disk drive and scribbled on it _could_ cause the OS to crash. NT 3.5x was pretty safe about this, since it still looked VMS-like inside, but in NT 4 they moved a lot of the graphics capability into the kernel for "speed", and opened up the possibility of crashes again.
    • Applications using up some critical resources like disk drive so the machine becomes unusable - yes, this is possible, but the resources that are that critical are very very limited, e.g. a virtual memory system lets you page out or swap out application processes to prevent it.
    • Applications crashing some major subsystem that doesn't take down the OS. Unix has this risk - if you hang X Windows or the graphics system, applications that don't use X can still run fine, but you may need to telnet in to restart the subsystem. But this should also be minimized - keeping separate file systems for the OS's use vs. users' applications helps a lot.
    --

    Bill Stewart
    New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks