Firefox Lorentz Keeps Plugin Crashes Under Control
pastababa writes "A beta of the Firefox Lorentz project is now available for download and public testing. Eming reports Firefox 'Lorentz' provides uninterrupted browsing for Windows and Linux users when there is a crash in plugins. Plugins run in a separate process from the browser. If a plugin crashes it will not crash the browser, and unresponsive plugins are automatically restarted. The process-isolation feature has been in Google's Chrome from the beginning. Chrome sandboxes individual tabs, and the crash of one tab does not affect the running of the rest of Chrome browser. Firefox currently isolates only Adobe Flash, Apple Quicktime, and Microsoft Silverlight, but will eventually isolate all plugins running on a page. Mozilla encourages users to test Firefox 'Lorentz' on their favorite websites. Users who install Firefox 'Lorentz' will eventually be automatically updated to a future version of Firefox 3.6 in which this feature is included."
Versions of Gnash have frequently segfaulted on my Linux box (the segfault is reported by dmesg), yet I've never had a browser crash because of it. I had thought that plugins were already isolated enough from the application as a whole.
No, this has not been the normal plugin architecture. When Linux moved to 64-bit, firefox was ported to 64-bit but all of the proprietary plugins were still 32-bit. The solution to this problem was to create nspluginwrapper which would run the apps in a separate process. It had some bugs of it's own, wasn't always reliable about letting you restart crashed plugins, and has itself crashed the browser on me, but it largely prevented plugins from crashing the browser as a side effect.
Older 32-bit versions of firefox on linux, and all versions on windows did not have this capability.
I have a dream that one day even on Slashdot, a site sweltering with the heat of trolls, sweltering with the heat of flame wars, will be transformed into an oasis of rationality and logic.
have a dream that software will one day exist in a world where it will not be judged by the version number or release status, but by the functionality it presents to the user.
I have a dream today!
Does this mean that, when "Lorentz" covers all plugins, we can install and update plugins without having to restart Firefox?
That would be a worthwhile feature. It's annoying having to restart the browser for any plugin changes.
We are working on that.
https://wiki.mozilla.org/Plugins:PlatformIndependentNPAPI
It will require the plugins to be re-written to not use any system APIs but here is work on that as well.
Can anyone please explain to me why there's a need for completely new processes, as opposed to using threads?
I'm curious as to what's the difference, and where the thread mechanism "fails" here.
Crashes are a hassle for sure, but if you're lucky and don't have an unstable plugin installed, you rarely crash. What I tend to see is runaway memory and CPU usage that forces me to close the browser and start again.
These posts express my own personal views, not those of my employer