Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

i was working on a website with FF4 and while resizing an element with Firebug, FF4 just crashed my nVidia Display Driver. Fortunately Windows 7 was able to help me by recovering from this serious error and i was able to completely recover my work again.

So my question is, should those browser developers get into low level hardware intricacies, something that was reserved only for game developers and complex graphic software?

share|improve this question
4  
Why are you blaming a program that your driver crashed? –  user1249 Apr 2 '11 at 7:52
    
I have a nVidia GT220 and Windows7 Ultimate with full Aero enabled, so yeah, the only culprit is FF4 since no other programs were running at the time –  mahen23 Apr 2 '11 at 8:11
    
You're suggesting only GameDevs/"OS dudes"/"hardware guys"/etc are "allowed" to do this? Do you have any proof that FF4's source goes as "low-level" as you say? –  muntoo Apr 2 '11 at 8:51
3  
@mahen23 - I think you missed the point. An application cannot make a driver crash, a bug in the driver caused the driver to crash, the app just found the bug. There is nothing an app should be able to do to make an OS or driver crash if it's written correctly. Instead, if the app is doing something wrong, the OS should abend the app. –  Erik Funkenbusch Apr 2 '11 at 9:51
2  
@mahen23 - So you think it should be possible for an application to crash the OS or a driver? That's a biased observation. I don't even use Mozilla or Firefox. I'm an IE guy. A driver crash is always a flaw in the driver, or the OS itself. It cannot be a flaw in an application. Crashes in kernel mode (Where drivers run) are security vulnerabilities. If you can make a driver crash reliably, you can use it to elevate your privileges and bypass security. That's why it's not allowed. If an app causes a driver to crash, its because the driver has a bug. –  Erik Funkenbusch Apr 2 '11 at 10:33
show 12 more comments

3 Answers

up vote 4 down vote accepted

First of all, when a driver crashes, that's a security risk, and so drivers should never, ever, crash. Others have pointed this out. It's an OS or driver bug you ran across, not a firefox one.

Now, to the other question: why does only firefox trigger this bug? There's a multipast answer to that:

  • Most apps use the old 2d graphics api's, which have been tested thoroughly during the driver development. This includes gimp and photoshop, which don't actually use accelerated graphics, but are normal windows apps no different from e.g. microsoft office.
  • Most games share one of a handful of separately developed game engines, because writing a game directly on top of the low-level driver is too much work. Game engines are tested endlessly to ensure they don't trigger any bug in the graphics hardware. Ghost recon's engine was actually developed in close cooperation with nvidia.
  • Firefox 4, like IE9, uses the Microsoft Direct2D api to support accelerated graphics. This api is new and uses the existing graphics drivers in ways they didn't foresee. That's why you trigger driver bugs with firefox 4 and not with any of your other software.

Finally, is it a good thing these browsers are using accelerated graphics? Sure, it's a very good thing. It means we're all getting faster web browsing. Once the driver bugs get shaken out by these new api's, we'll all have a better experience for it.

share|improve this answer
add comment

I think that more and more, browsers are becoming first-class citizens in today's systems. Chrome OS is the promise of a future where the browser will replace the OS as the user's primary interface. Among software standards, HTML seems to be the most widely implemented as well as one of the most flexible and powerful. So, with an eye toward the future, I would say that the changes in the rendering engines of the browsers are very useful and required.

Of course, one might argue that Chrome OS does not represent the future after all. Or even if it does, on traditional OSes like Windows and Linux, using these new technologies is a significant effort and introduces complications. But I think that given the amount of use the browser sees these days, such arguments are not very valid in terms of cost-value.

share|improve this answer
    
Reason for downvote, please? –  apoorv020 Apr 2 '11 at 7:57
    
@apoorv020 I haven't downvoted (yet :P), but your question seems to digress from the original question a bit. We're not talking about Chrome OS. –  muntoo Apr 2 '11 at 8:48
1  
@muntoo : I used Chrome OS as an example to show the importance of browsers in today's world. –  apoorv020 Apr 2 '11 at 8:56
    
@apoorv020 Importance doesn't mean they get to do whatever they want. –  muntoo Apr 2 '11 at 8:59
    
@muntoo - It does mean that it's important to improve user experience, and that includes improving rendering speeds for Videos, HTML5 games etc. –  apoorv020 Apr 2 '11 at 9:09
show 1 more comment

First of all, you working with Firefox at the moment of the crash does not mean that Firefox was the reason for the crash.

You might have run into some delicate Aero issue which just happened to be triggered at that time. A typical example is that something else a while back caused some data structure to be corrupted - then later that structure is needed, the data is incorrect and cause an illegal memory access, which then brings things down.

A car analogy might be that the engine breaking down when you turned on the left blinking light, does not necessarily mean that the blinking light is to blame. The oil might have gone too low...

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.