Mozilla girds Firefox with 'hang detector'

The next version of Firefox will include a "hang detector" that automatically terminates plug-ins that quit talking to the outside world.

Set to arrive next week - after a bit of a delay – Firefox 3.6.4 is designed to minimize crashes by running Flash, Silverlight, Java, and other plug-ins as processes separate from the core browser. Mozilla calls this OOPP, for out-of-process plug-ins, and as part of this effort, says Firefox man Benjamin Smedberg in a blog post, the open sourcers have also included their hang detector.

If a plug-in process takes more than 10 second to respond to a call, Firefox will terminate the process and display the OOPP "crash" UI that gives the user the opportunity to reload the plug-in. This UI also pops up when a plug-in process, well, crashes. The plug-in will not relaunch unless you reload the page.

"Web page scripts often have state associated with a plugin," Smedberg said in an earlier blog post on OOPP. "If we reload the plugin without reloading the entire page, those scripts will have an unexpected state and can get very confused. Overall, it causes fewer problems for the user to simply refresh the page."

The hang detector takes care of plug-ins when a script gets caught in an infinite loop or if Firefox's own OOPP tech causes a plug-in deadlock. If you're developer doing debug work, you can change the hang-detector's timeout period or disable it entirely here by visiting "about:config" via the Firefox address bar and changing the preference "dom.ipc.plugins.timeoutSecs." Setting the value to -1 disables the hang detector. ®