Closed Bug 452272 Opened 16 years ago Closed 15 years ago

Implement process-per-tab

Categories

(Core :: General, defect)

defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 516752
Future

People

(Reporter: jimm, Unassigned)

References

Details

(Keywords: meta, Whiteboard: [Keep comments limited to patch discussion])

General goals are better stability (single tab crash does not bring down the app) and facilitating "protected mode" support on Windows which requires tabs running at different integrity levels.
Is there any number of processes which should be used at maximum? I think about users having about 100 open tabs. How should this be handled? This could result in switching between a huge amount of processes.

Do you really mean process or rather thread?
This bug is in its infancy and those decisions will be made as more is known... it is for processes and not threads
as for the processes in the case of over 100 tabs you may have 2 tabs per procces or whatever 

and the more ram you have the more max processes you have

eg 1 gig ram 3 process max
or if you have 4 gig make it 10
Dup of bug 40848 / bug 356484?
Please don't dup this. It is a tracking bug for a mozilla2-style architectural rework experiment. For the most part, comments should go in m.d.platform, as soon as we can get some preliminary docs/proposals up for discussion.
naming to process, would it be advisable for someone to forward dupe bug 40848 to this one?
Alias: process
Alias: process
Similar/same: bug 102474, bug 156493, bug 253117, bug 266533, bug 384115. 

This approach would have the potential to boost both performance and security.
I support adding this feature (at least with an option) to Firefox. Chrome and IE8 are both implementing this.

I think this feature is actually the only advantage Chrome has to Firefox.
Liam K. and others who may post "me too" style comments:

Please refrain from making such comments.  This is not a "suggestion" bug, this is on the schedule.  Saying "You should do this" is unnecessary as it is already planned.  If you feel you MUST state something along those lines, you can vote for this bug here:
https://bugzilla.mozilla.org/votes.cgi?action=show_user&bug_id=452272#vote_452272

Thanks.
Whiteboard: [Keep comments limited to patch discussion]
The first 3 bugs from comment #8 make sense since it would make the browser more stable and hopefully hang less with long loading plugins.

A process to load extensions would be nice although I think it may too much.

As for the process per tab, having a process per domain or sub domain would balance out memory issues with lots of tabs and having a process crash would only affect a few tabs.
Product: Firefox → Core
QA Contact: general → general
I don't think that it's a good idea to have a process per domain/sub domain. because when I faced a browser crash, it is usually when I opened quite a few tabs navigating a single site. 

So, having a process per domain would simply be no helpful for me to improve my experience when I meet crashes. 

thanks. 

(In reply to comment #12)
> The first 3 bugs from comment #8 make sense since it would make the browser
> more stable and hopefully hang less with long loading plugins.
> 
> A process to load extensions would be nice although I think it may too much.
> 
> As for the process per tab, having a process per domain or sub domain would
> balance out memory issues with lots of tabs and having a process crash would
> only affect a few tabs.
Flags: blocking1.9.2?
Flags: blocking1.9.2? → blocking1.9.2-
One suggestion I have for when we implement it is to create a main process that, when killed in Task Manager, will close Firefox completely. This is one of the main problems with Chrome, where when it stops responding you need to end processes one-by-one.
(In reply to comment #15)
> One suggestion I have for when we implement it is to create a main process
> that, when killed in Task Manager, will close Firefox completely. This is one
> of the main problems with Chrome, where when it stops responding you need to
> end processes one-by-one.

That is not exactly the truth. There is a main process it's just hard to find out which one it is. E.g. in Chrome there is always a separate process for Flash, but you cannot tell which one it is (not by name at least) - when this process is killed Flash is killed on all pages/tabs until reloading.

That is why processes of different type should have different names but should have the same prefix e.g.: firefox.exe, firefox-flash.exe, firefox-tab.exe and so on. Only problem is that I'm not sure if this is doable ;-).
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → DUPLICATE
No longer blocks: 266533
Sounds like a waste of time to me. I've been using chrome (dev channel) in Linux for over 6 months. Yes, its unstable sometimes, and when the UI freezes up, you simply drop to a shell and execute:

$killall -9 chromium-browser

Restart the application and all tabs are restored. Problem solved. 

The real deficiency here is that Windows does not have a similar way kill groups of processes. Perhaps someone should make a request to the Process Explorer team for that feature :D
@ comment #18

Windows provides a similar command called taskkill ex:

taskkill /F /IM chrome.exe /T
You need to log in before you can comment on or make changes to this bug.