Mozilla previews new feature to guard against Flash crashes

Mozilla has released preview builds of Firefox that allow users to start …

Adobe CTO Kevin Lynch claims that the company's ubiquitous Flash plug-in doesn't ship with any known crash bugs. One can only assume that he has never used the software. As Adobe representatives exhibit an increasinglydismissive attitude about Flash's technical deficiencies, the browser vendors have stepped up to address the problems and are finding ways to insulate their users from Flash's poor security and lack of stability.

Several mainstream browsers isolate Flash and other plug-ins in separate processes in order to prevent an unstable plug-in from crashing the entire browser. Mozilla is preparing to introduce a similar feature in the next version of Firefox. A developer preview that was recently made available to users offers an early look at the new plugin crash protection.

It's part of a broader Mozilla project called Electrolysis that seeks to eventually bring full support for multiprocess browsing to Firefox. Electrolysis will make it possible for a browser crash to be isolated to a tab or group of tabs rather than affecting the entire browser. Similar functionality is already available in Internet Explorer and Chrome. Although Mozilla has already taken major steps towards implementing holistic multiprocess browsing, the plugin isolation is the only part that will land in the next release.

As we explained last year when we first covered Electrolysis, Mozilla has adopted parts of Chrome's interprocess-communication (IPC) implementation. In the latest developer preview build, it is used to facilitate interaction between the isolated plugins and the rest of the browser. Mozilla created its own protocol, called IPDL, that is used to define the messages that are passed between the processes through the IPC layer. For more details about IPDL, you can refer to the introductory tutorial that has been published at the Mozilla developer website.

In the developer preview, a plug-in that crashes will be replaced with a warning message. It will automatically transmit a crash report to Mozilla. You can resurrect the crashed plug-in by reloading the page. In the current implementation, each plug-in operates in its own process that runs separately from the rest of the browser. For example, when you load up pages that have Flash and Silverlight content, Flash and Silverlight will each have their own process. Individual plug-in instances are not isolated from each other.

A crashed Flash instance in the Firefox developer preview

As a result of this design, a single crashed plug-in instance will cause all other instances of the same plug-in to terminate, but will not affect content that is rendered by other plug-ins. A Flash crash will not affect running Silverlight content, and vice versa. For example, if I have a Silverlight demo in my first tab, a Flash video of the Internet's latest fad in my second tab, and I load Matthew Dempsky's Flash Crash demo in a third tab, both instances of the Flash plug-in will terminate but the Silverlight demo will continue running. The trololo man's magnificent song of ineffable wordless joy will be brutally silenced by Flash's ignominious inadequacy. Oh the humanity!

In soviet Russia, Flash trolololos you

Mozilla is looking for users to help test the new feature and make sure that it works reliably. You can download builds of the developer preview from Mozilla's website.

Google has certainly done what it said it would do (in that Chrome comic, that is): allow innovation across all browsers. Firefox's way of isolating the bad plugin from the actual webpage is one of the many innovations that Chrome has started. I can't wait until Firefox incorporates the isolated tabs with their own system processes.

Why are we ignoring that Safari on a 64-bit Mac does the same thing with running Flash (or Silverlight … or QuickTime!) in a separate process. And it does have a separate process for each instance of the plugin.

Why are we ignoring that Safari on a 64-bit Mac does the same thing with running Flash (or Silverlight … or QuickTime!) in a separate process. And it does have a separate process for each instance of the plugin.

I don't think anyone is ignoring it, but Firefox is used by hundreds of millions of people, right? It's a big deal when they move to isolate flash like this, it affects a lot of users.

Why are we ignoring that Safari on a 64-bit Mac does the same thing with running Flash (or Silverlight … or QuickTime!) in a separate process. And it does have a separate process for each instance of the plugin.

This is hilarious. All the browsers are expending/wasting boatloads of time and energy working around one vendors basic problem of quality control, while that vendor is busy begging to have their software added to devices that end-users expect to never crash.

I can see the next iPhone fanboi meme, when Android (eventually) gets flash: "Flash sucks, just go to this site and watch what happens to your 'Droid! See, my iPhone doesn't crash!"

But then again I'm thinking a pretty good response will be: "Dude, that sucks! I won't go there again! Anyway, I got some farming to do. So how does Farmville work for you on that iPhone?"

I hate Flash, and I'm impatiently waiting for Flash to die the miserable slow death that it deserves. But at the same time I'm looking forward to having flash on the Droid since it is so pervasive. I hope that Google has the foresight to place some sort of sandboxing around the Flash plugin that will be available (eventually) for the Android mobile browsers.

This is hilarious. All the browsers are expending/wasting boatloads of time and energy working around one vendors basic problem of quality control, while that vendor is busy begging to have their software added to devices that end-users expect to never crash.

In life one of the things you learn is that you can only control things you have control over.

It's simply a fact that if your making a browsesr and you want people to use it on the web then it's going to have to support Flash one way or the other. It's not a 'standard', it's bad, it's crash happy, and it is controlled by a single proprietary software company. But that does not matter because you need it to view online videos and play online games... 2 things which are absolutely critical functionality for most people on the internet nowadays.

Until that changes then Firefox is going to have to support flash one way or the other. Mozilla has control over their browser and can change what happens when Flash crashes, but they cannot stop flash from crashing and they cannot replace it at this time.

Was the bug in question fixed in flash player 10.1? I'm running the latest (beta 3) version of it, and I see no crash.

Oh and ++ to safari 64bits thread isolation. As a flash developer I see many crashes a day. Now with snow leopard, safari 64bit and flash player 10.1 the crashes are much more.. graceful

Also, to anyone who had CRAZY slow flash in safari in snow leopard, flash player 10.1 seems to totally fix that. The old solution was to tick 'run in 32bit mode', then flash in safari performed much better. No longer!

Flash is certainly crashy, but 10.1 is already feeling more stable and faster

Rather than hearing that Mozilla are working on mitigating Flash's shitness, I'd rather hear that Flash was going to die off quicker because Mozilla refused to mitigate its shitness.

Some days I'm pragmatic, but you can only watch your CPU usage climb into the sky and feel your pootah slow to a crawl so often before you become unreasonably enraged.

I personally think Mozilla should concentrate more on getting their Javascript engine up to V8-esque levels, although I'm sure they're working hard on that too.

SOOOO.... Fuck flash. Everyone who can should change their settings on Youtube to HTML5 to show Google the strong support for that platform over Flash. If HTML5 takes over Youtube properly, then the rest of the web is only a matter of time.

I personally think Mozilla should concentrate more on getting their Javascript engine up to V8-esque levels, although I'm sure they're working hard on that too.

Yep! Mozilla's next-generation JavaScript engine uses a combination of tracing optimization and the native code generator from Apple's JSCore to deliver significantly better performance. We will have an article about it tomorrow.

Everyone who can should change their settings on Youtube to HTML5 to show Google the strong support for that platform over Flash. If HTML5 takes over Youtube properly, then the rest of the web is only a matter of time.

That's pretty funny. Do you really think Google is pushing HTML5 so that the web can be an open platform? The only thing Google cares about is advertising $, and good luck blocking ads rendered with html, especially if websites make it go through a proxy so that you have no clue where the content is coming from.

How exactly do you think your ad blocker will know what is an ad or not if everything is just HTML? At least now you can block flash.

I can't count the number of times flash has crashed on me... but only because counting implies that you're going to get to a number higher than 0. Seriously, I can't recall a single instance of this ever happening, and it's not like I avoid flash-powered sites or the like. Right now, for example, Dempsky's Flash Crash site is persistently not crashing.

MPEG-4 is an open industrial standard (which, nonetheless, is not free as in beer, but is free as in speech, as much as a standard can be).

Flash is completely proprietary.

H.264 is neither free as in beer nor free as in speech. You cannot "speak" H.264 without buying a licence to do so from the MPEG-LA. The web is built on open, royalty-free formats. In this regard, both Flash and H.264 are the absolute antithesis of the web's design and the web's ideals.

How exactly do you think your ad blocker will know what is an ad or not if everything is just HTML? At least now you can block flash.

This makes no sense whatsoever. By having all advertising specified in human-readable HTML formats, it will be even easier to exclude certain types of elements such as the wiggling, noisy ones you are talking about. Youtube already advertises through their flash videos, and blocking flash advertisement is an all-or-nothing affair. With HTML replacements the browser will have even more fine-grained control over what should or should not be shown.

Is it really much better for Flash to crash in all tabs using Flash? Is this just a trick to make users more upset at Flash because they'll have to reload every page and will see Flash is the reason rather than blaming Firefox for crashing? This is a half-assed solution to the unstable plug-in problem. Unimpressive.

Thats pretty cool feature. Adobe needs to get their shit together. Not just for stability and bloat but for the porous security. Flash Ads are becoming one of the biggest methods for spreading malware without a user even having to click on anything. Unfortunately html5 will be no saviour for streaming video for a long time. There are too many issues around supported codecs, patents related to H.264 etc.

MPEG-4 is an open industrial standard (which, nonetheless, is not free as in beer, but is free as in speech, as much as a standard can be).

Flash is completely proprietary.

H.264 is neither free as in beer nor free as in speech. You cannot "speak" H.264 without buying a licence to do so from the MPEG-LA. The web is built on open, royalty-free formats. In this regard, both Flash and H.264 are the absolute antithesis of the web's design and the web's ideals.

And this is the point at which a normal person's eyes begin to glaze over in sheer boredom.

Really, insofar as any of this is even true, no one cares -- except staring-eyed ideologues.

Is this more nonsensical grousing about Theora?

Quote:

Theora is a seriously hard sell to most companies, given its compression is much worse than x264’s and H.264 has no royalties for web video; as before, it’s hard to market something with at most nebulous benefits.

According to the developer I cite above, Flash is not "completely proprietary; as previously mentioned, the spec is public."

However, he also points out there is no:

Quote:

good free software Flash client

Now that's a real problem. An open ISO standard that has multiple implementations, some of which are good, and some of which have their code available publicly is not in the same ballpark as Flash to anyone rational.

And, as for Theora, it won't fly. Technically it's not as good as H.264 (even though some H.264 implementations are not good). That would rule it out for Apple: since when did Apple make technical compromises? Besides, no-one knows who might make a claim on royalties for Theora and just how much they might want if anyone with deep pockets were to start using it. That's not something people like Apple and Nokia are about to walk into. They know who to pay for MP4 and it's relatively cheap. And, as if that were not enough, Theora doesn't go into Flash -- so content providers can't provide the same movie to those with HTML5 browsers and those with Flash. It won't fly.

In any case, the video element in HTML5 may be the one arousing the obsessional, but is only ONE of several standards-based technologies that threaten Flash.

Besides, this article isn't about Flash -- although it must have amused it's writer to make a bit of thing about Flash (given Adobe's annoying attitudes) -- but about Firefox's progress towards tab-isolation.

I can't count the number of times flash has crashed on me... but only because counting implies that you're going to get to a number higher than 0. Seriously, I can't recall a single instance of this ever happening, and it's not like I avoid flash-powered sites or the like. Right now, for example, Dempsky's Flash Crash site is persistently not crashing.

Same here, and I was scanning through the comments trying to see if I'm the only person that doesn't experience Flash crashes, using all "stock parts" (non-beta versions). Seriously. I don't understand why everyone is getting Flash crashes. Sure, Flash videos play kinda goofy on my PC unless I move the mouse around the video at times (usually only on battery - also using Win7 32-bit), but other than that, I've never had Flash kill the browser (NEVER) except for that one flashcrash page. It was rather strange, almost like a half-malicious proof-of-concept. Considering how rare an occurrence a flash crash is for me, it would've been nice to have a "test it now" link or something, where I could still read the page...

Either way, Flash works JUST FINE for me. And for the people that are in my boat (clearly more than just me), it would be nice to have a way to make this multithreading RAM-gobbling "feature" disabled. Because for that once-in-a-lifetime opportunity when Flash actually DOES crash, it wouldn't bother me to have to reload all my tabs if it means I can still have... um... 7..8..9 tabs open (as sort of my "dynamic bookmarks" - most I only refresh once a day) and not worry about memory usage.

Flash isn't that big a deal to me. Honestly, if anyone's having crash issues with Flash, seriously, check the sites you're going to, or maybe drivers, or something. But I doubt it's really Flash itself to blame. That's almost like blaming C++ (or whatever) for Windows crashing.

Ever make a major electronics purchase just weeks before the manufacturer announces some spiffy new model? That happened to me when I bought a new TiVo HD about a month before they announced the new Series 4 line.

Then I found out the new models had a completely revamped UI based on...Flash. Somehow I don't feel so bad anymore.

I can't count the number of times flash has crashed on me... but only because counting implies that you're going to get to a number higher than 0. Seriously, I can't recall a single instance of this ever happening, and it's not like I avoid flash-powered sites or the like. Right now, for example, Dempsky's Flash Crash site is persistently not crashing.

Same here, and I was scanning through the comments trying to see if I'm the only person that doesn't experience Flash crashes, using all "stock parts" (non-beta versions). Seriously. I don't understand why everyone is getting Flash crashes. Sure, Flash videos play kinda goofy on my PC unless I move the mouse around the video at times (usually only on battery - also using Win7 32-bit), but other than that, I've never had Flash kill the browser (NEVER) except for that one flashcrash page. It was rather strange, almost like a half-malicious proof-of-concept. Considering how rare an occurrence a flash crash is for me, it would've been nice to have a "test it now" link or something, where I could still read the page...

Either way, Flash works JUST FINE for me. And for the people that are in my boat (clearly more than just me), it would be nice to have a way to make this multithreading RAM-gobbling "feature" disabled. Because for that once-in-a-lifetime opportunity when Flash actually DOES crash, it wouldn't bother me to have to reload all my tabs if it means I can still have... um... 7..8..9 tabs open (as sort of my "dynamic bookmarks" - most I only refresh once a day) and not worry about memory usage.

Flash isn't that big a deal to me. Honestly, if anyone's having crash issues with Flash, seriously, check the sites you're going to, or maybe drivers, or something. But I doubt it's really Flash itself to blame. That's almost like blaming C++ (or whatever) for Windows crashing.

i get flash crashes from a chat website i go to all the time. once i have more than 3 cams open its only a matter of time before firefox grey screens on me (i use ubuntu). flash sucks period but for now its needed.

I did a test before on the same video streaming site , I keep getting crash when using firefox while on Chrome , I don't have any problem.

so who fault is this ?

That's an interesting question. If an application crashes an OS, do you blame the OS or the application maker? Most people will blame the OS. Likewise I think most people would blame Firefox when the browser crashes.