Closed Bug 452770 Opened 12 years ago Closed 11 years ago

"Firefox is already running, but is not responding." could be improved - give option to terminate process

Categories

(Toolkit :: Startup and Profile System, enhancement)

x86
Windows XP
enhancement
Not set

Tracking

()

RESOLVED DUPLICATE of bug 286355

People

(Reporter: andrewcrowe_uk, Unassigned)

References

Details

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1 (.NET CLR 3.5.30729)
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1 (.NET CLR 3.5.30729)

If the firefox process stops responding and you try to run a new instance the dialogue box
"Firefox is already running, but is not responding. To open a new window, you must first close the existing Firefox process, or restart your system." opens.

The feedback on what's happening is good but it would improve usability even more if it gave the option to terminate the process and then continue to load firefox. This would be good for people who don't know their way around task manager.

Looking at the existing bugs that mention the dialogue it seems to be often caused by some extensions, so maybe we could mention the the possible causes in the dialogue text so non technical users will have an idea on what's going on.


Reproducible: Sometimes

Steps to Reproduce:
1. Quit firefox
2. Attempt to load firefox
I think it's not a good idea to end the process. In most cases it is still writing valuable data to the profile files.
It actually seems like a pretty good idea to me. It happens quite regularly to me now (Firefox 3+) and having to open a terminal to kill all processes is a lot of extra work. 

killall (or pkill) firefox only kills one of 3 processes, need to kill one other to get rid of the remaining 2.

Sure, I could write a script that I can simply start. But why not let Firefox fix itself not nicely closing. Especially for the people that don't know what to do. and then probably resolve it by rebooting.
I am having this problem constantly (Vista, Firefox 3.0.4).  Need to use task manager to close Firefox. I noticed that Firefox was always using 50% CPU in the hung mode.
In my opinion, this feature would greatly improve the usability of Firefox, especially for newbies. Moreover, it shouldn't be too complicated to add the option to terminate the Firefox process.
Two things could improve this:
- if the "hung" process is really shutting down correctly, then after a while it will die: in this case the alert box informing the user that firefox is not responding should go away automatically, and firefox should start correctly.
- if the hung process is really hung, not doing anything useful (I often see hung firefox processes fully using one of the four cores on my box, but not writing anything to disk, going on for hours until I kill them), give the option to kill it, or kill automatically.

if I understand correctly right now the startup sequence for a firefox process goes like this:

if a firefox process already is running
    if it is correctly responding
        ask it to open a new window
        exit this process
    else
        show the "firefox is already running but not responding" alert
        exit this process
    end
else
    start up normally
end

IMHO, this should become something like

if a firefox process already is running
    if it is correctly responding
        ask it to open a new window
        exit this process
    else
        while it is running and it looks like it is not hung*
            wait 
        end
        // at this point either the process has died or it has been declared "hung"
        if the original process is still running
            show the "firefox is already running but not responding" alert and prompt to kill it
            if user says to kill it
                kill it and start up normally
            else
                exit this process
            end
        else
            start up normally
        end
    end
else
    start up normally
end

the question now could be "how do we declare the process really hung"? a naive way would be to check how long it has been hung, or if it is really reading or writing from disk.
Component: General → Startup and Profile System
Product: Firefox → Toolkit
QA Contact: general → startup
This is a dup of bug 286355 (windows) or if you like a new bug about implementing nsIProfileUnlocker on other platforms. See bug 253950 for details.

The hard problem is not figuring out whether a process is hung: the hard problem is figuring out *which* process is holding the lock. I haven't found any documented Windows APIs which can give that information.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 286355
Duplicate of this bug: 504285
Duplicate of this bug: 558005
You need to log in before you can comment on or make changes to this bug.