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."
but can it be extended so that plugins are not only run in their separate processes, but separate SELinux sandboxes as well?
Colorless green Cthulhu waits dreaming furiously.
I didn't think it autorestarted plugins. They even provided a reason (probably the same reason Google did it)... current webpages will not expect plugins to restart. And because it's possible for Flash to make JS calls etc this could lead to side effects and page breaking, I think they thought it was just best to reload the page so JS restarts too. Of course I read this on a blog a few weeks back, they could have changed their minds?
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.
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.
Separate address spaces. When a thread crashes, the whole process goes down. If separate process dies, the browser should still be intact.