Open Bug 459638 Opened 16 years ago Updated 2 years ago

Improve warning messages for multiple profile handling (was: Confusing "already running, but is not responding" error when "profile is in use"/"non-existent profile name in -P" in multi-instance environment with -no-remote)

Categories

(Toolkit :: Startup and Profile System, defect)

defect

Tracking

()

REOPENED

People

(Reporter: bugzilla, Unassigned)

References

Details

User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1b2pre) Gecko/20081012 Minefield/3.1b2pre
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1b2pre) Gecko/20081012 Minefield/3.1b2pre

I have several different profiles for different purposes, e.g. one with only few selected addons and lots of security restrictions and one with "almost anything".
Some of the profiles use a proxy in order to access certain pages, others don't, etc. etc.
Instead of changing the preferences and addons every few minutes, I often need two instances of firefox running - each with a different profile of course.


Reproducible: Always

Steps to Reproduce:
1. Start firefox with an existing profile "default"
2. Start firefox with an existing profile "second" using 'firefox -P second'

Actual Results:  
The running firefox instance using the profile "default" opens another window


Expected Results:  
The started firefox instance should check whether any of the running firefox instances uses this profile already.
If there is an instance of firefox with the same (specified) profile running, it should open a new window
If there is no instance of firefox with the same (specified) profile running, it should startup one with the specified profile

Starting another firefox instance can be done by
 firefox -P second -no-remote
but there is no way to e.g. open a firefox window with a specified profile and a given url from e.g. command line or from other programs that allow to specify the browser command.
Running that very same command again if there is already a firefox instance using the profile "second" shows a dialog with the (only partially correct) message "Firefox is already running, but is not responding. [..]"
Component: General → Startup and Profile System
Product: Firefox → Toolkit
QA Contact: general → startup
Version: unspecified → 1.9.0 Branch
> Steps to Reproduce:
> 1. Start firefox with an existing profile "default"
> 2. Start firefox with an existing profile "second" using 'firefox -P second'
> Actual Results:  
> The running firefox instance using the profile "default" opens another window

> Starting another firefox instance can be done by
>  firefox -P second -no-remote
> but there is no way to e.g. open a firefox window with a specified profile
> and a given url from e.g. command line or from other programs
> that allow to specify the browser command.

Design/Behaviour of "Remote mode" and "NoRemote mode" is same as current since initial of Mozilla family. Simply, command line parameter for the mode is changed  to one used by MS Win version from one used by Mozilla on Linux(Called "Mozilla Application Suite" after release of Fx/Tb).
(Before change on Linux)
  "Remote mode"    : Started with    -remote
  "NoRemote mode"  : Started without -remote
(After change on Linux.)
  "Remote mode"    : Started without -no-remote
  "NoRemote mode"  : Started with    -no-remote
And, "-P prof_name" has meaning only when (A) start of first instance of Firefox of "Remote mode", (B) start of new Firefox instance of "No-Remote mode".
See Bug 308076 Comment #19 for brief history of "-remote" switch, MOZ_NO_REMOTE=1 environment variable, and "-no-remote" switch.
See also Bug 459535(same report/claim of same behaviour of Seamonkey trunk on Linux).
Do you really think that enhancement(==Design change around "Remote/NoRemote mode") has to be done?
Please note that usual/average users never use multiple profiles. Further, many of usual/average users don't know about existence of profile manager, because Firefox developers(Mozilla Company) eager to hide existence of profile manager.
See following Bug.
> Bug 214675 Remove Profile Manager UI

> "Firefox is already running, but is not responding. [..]"

Which version of Firefox is the "unresponsive" Firefox?
How the "unresponsive" Firefox is started before the "unresponsive" problem?
Similar problem on Linux to Bug 427118 on MS Win(DUP of Bug 395891 on MS Win)?  
Anyway, the "unresponsive" problem is different from your enhancement request, although the enhancement will be possibly a solution of the "unresponsive" problem. I recommend you to open separate bug for the "unresponsive" problem.
> Do you really think that enhancement(==Design change around "Remote/NoRemote
> mode") has to be done?
> Please note that usual/average users never use multiple profiles. 

That's a point.

> Further, many of usual/average users don't know about existence 
> of profile manager, because Firefox developers(Mozilla Company) 
> eager to hide existence of profile manager.
> See following Bug.
> > Bug 214675 Remove Profile Manager UI

That would be the logical consequence. On the other hand it would force me to run a second browser other than firefox in order to accomplish a strict separation of the several things (proxy, passwords, bookmarks, etc.).

And it would make it unnecessarily difficult testing development versions of firefox with a fresh profile.

> > "Firefox is already running, but is not responding. [..]"
> Which version of Firefox is the "unresponsive" Firefox?
> How the "unresponsive" Firefox is started before the "unresponsive" problem?
Steps:
1) firefox -P profile1
2) firefox -P profile1 -no-remote

> Similar problem on Linux to Bug 427118 on MS Win(DUP of Bug 395891 on MS Win)? 
Not quite, since there are no other programs than firefox (and command line) involved.

> Anyway, the "unresponsive" problem is different from your enhancement request,
> although the enhancement will be possibly a solution of the "unresponsive"
> problem. I recommend you to open separate bug for the "unresponsive" problem.

Hmm. The main reason I posted this bug is the same:
There are several profiles that are handled independently.
Using two profiles at the same time should be made "possible" simply by specifying the profile to use.
I don't want that "-no-remote" switch, it's just a workaround to open a second instance of firefox with another profile.
The no-remote swith is unnecessary imho, the distinction should be done according to the profile name, if given, otherwise it should use the default profile.
If no firefox instance using that profile is running, start a new one, otherwise open another window (or tab, depending on the configuration).
(In reply to comment #2)
> > How the "unresponsive" Firefox is started before the "unresponsive" problem?
> Steps:
> 1) firefox -P profile1
> 2) firefox -P profile1 -no-remote

Problem was re-created very easily, with Fx Trunk on MS Win-XP SP3.
(I have multiple profiles, so only "multiple profile exist" case is tested)
> Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1b1pre) Gecko/20080910043000 Minefield/3.1b1pre
Following dialog was issued when "2) firefox.exe -no-remote -P profile1" is kicked after "1)".
> 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.
This dialog was displayed even when "2) firefox.exe -no-remote -P profileX", where profileX doen't exist.
If profile name is not supplied("2) firefox.exe -no-remote -P" is used), profile manager's profile selection window is displayed.

I set "firefox.exe -P"(currently same behavior as "firefox.exe -ProfileManager"),  because I want to choose profile manually always, so I couldn't meet the phenomenon.
If both are "Remote Mode"(without -no-remote), behaviour looks to be "as desinged".
See 459535 Comment #5 for Fx 3's behaviour when both are "Remote Mode"(without -no-remote switch).
This is possibly next problem:
  If -P "profile_name" is specified, "-no-remote" works only when already
  running Fx instance without -no-remote(Fx with Remote mode) doesn't exists.
I guess that this is because "-no-remote" is a circumvention of inconvenience due to design change of "kill -remote switch and force use of MOZ-NOREMOTE=1".
Tested some cases.

> BAT files to start Firefox. -no-remote can be replaced by "SET MOZ_NO_REOTE=1".
> Multiple profiles exist when tested.
> (A) Start in Remote_Mode
>   (A-1) Remote_Mode_Existent_Prof        : firefox.exe            -P "Existent_Prof"
>   (A-2) Remote_Mode_Non_Existent_Prof    : firefox.exe            -P "Non_Existent_Prof"
>   (A-3) Remote_Mode_No_Prof              : firefox.exe            -P
> (B) Start in No_Remote_Mode
>   (B-1) No_Remote_Mode_Existent_Prof     : firefox.exe -no-remote -P "Existent_Prof"
>   (B-2) No_Remote_Mode_Non_Existent_Prof : firefox.exe -no-remote -P "Non_Existent_Prof"
>   (B-3) No_Remote_Mode_No_Prof           : firefox.exe -no-remote -P

(Case-1) First kick of Firefox
  In any first kick of Firefox, 
     (A-1)/(B-1)              : Fx starts using specified profile
     (A-2)/(A-3)/(B-2)/(B-3)  : Profile selection dialog is displayed

(Case-2) Start second Firefox

(Case-2-1) Already started Firefox : (A-1) Remote_Mode_Existent_Prof
(Case-2-1-1) Second Fx : (B-1) No_Remote_Mode_Existent_Prof
             => Firefox is already running, but is not responding
(Case-2-1-2) Second Fx : (B-2) No_Remote_Mode_Non_Existent_Prof
             => Firefox is already running, but is not responding
(Case-2-1-3) Second Fx : (B-3) No_Remote_Mode_No_Prof
             => Profile selection dialog is displayed

(Case-2-2) Already started Firefox : (B-1) No_Remote_Mode_Existent_Prof
(Case-2-2-1) Second Fx : (A-1) Remote_Mode_Existent_Prof
             => Firefox is already running, but is not responding
(Case-2-2-2) Second Fx : (A-2) Remote_Mode_Non_Existent_Prof
             => Profile selection dialog is displayed
(Case-2-2-3) Second Fx : (A-3) No_Remote_Mode_No_Prof
             => Profile selection dialog is displayed
(Case-2-2-4) Second Fx : (B-1) Remote_Mode_Existent_Prof
             => Firefox is already running, but is not responding
(Case-2-2-5) Second Fx : (B-2) Remote_Mode_Non_Existent_Prof
             => Firefox is already running, but is not responding
(Case-2-2-6) Second Fx : (B-3) No_Remote_Mode_No_Prof
             => Profile selection dialog is displayed

When profile selection dialog is displayed, and if already used profile is chosen, warning of "profile is in use" is issued.
Warning of "..., but is not responding" looks for me to be wrong(then misleading) warning problem when parent.lock exists or specified profile is not found.
In any case of "profile is in use" or "profile not found", I think profile selection dialog is kind for user if multiple profiles exist, but I think proper warning is sufficient.
Following bug are found by search for "profile already running".
> Bug 278860 confusing "profile in use"/"already running" error when profile is missing (not found)
> Bug 381139 Confusing "Thunderbird is already running..." message when profile is read-only.
> Bug 459991 "Already running" message if profile directory doesn't exist

Your case is 4-th case : "profile is in use".
No longer blocks: 459991
FYI.
If without "MOZ_NO_REMOTE=1" and without "-no-remote", and if Fx of "Remote Mode" is already running, -ProfileManager is also ignored.
> Bug 99828 -profilemanager just opens a new window if Firefox is already running
It's same as ignored -P when already running Fx of "Remote Mode" exists.
Summary: Profile handling and using several firefox instance at the same time should be improved → Profile handling and using several firefox instance at the same time should be improved (Confusing "already running, but is not responding" error when "profile is in use" in multi-instance environment with -no-remote)
Confirming, and changing to Severity=major
Severity: enhancement → major
Status: UNCONFIRMED → NEW
Ever confirmed: true
OS: Linux → All
Version: 1.9.0 Branch → Trunk
Summary: Profile handling and using several firefox instance at the same time should be improved (Confusing "already running, but is not responding" error when "profile is in use" in multi-instance environment with -no-remote) → Profile handling and using several firefox instance at the same time should be improved (Confusing "already running, but is not responding" error when "profile is in use"/"non-existent profile name in -P" in multi-instance environment with -no-remote)
"profile is missing" of Bug 278860 means "profile is defined in profiles.ini, but pointed profile directory is not found".
To avoid loss of "non-existent profile name in -P with -no-remote" case (user error, profile manager is usually invoked), I added description of this case in bug summary in addition to main "(existent/correct) profile is in use" case.
This is certainly not a major loss of functionality
Severity: major → minor
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → DUPLICATE
Closing as DUP of bug 441422 is incorrect action. Re-opening. Benjamin, please don't play around close code.
Status: RESOLVED → REOPENED
Resolution: DUPLICATE → ---
FYI.
Bug 491295 is for problem of incorrect handling of -P "<prof_name>" switch.
It'll probably resolve issue in some cases on Linux. (The bug is currently only for Linux). Setting dependency to Bug 491295
(In reply to comment #0)
> Starting another firefox instance can be done by
>  firefox -P second -no-remote
> but there is no way to e.g. open a firefox window with a specified profile and
> a given url from e.g. command line or from other programs that allow to specify
> the browser command.
> Running that very same command again if there is already a firefox instance
> using the profile "second" shows a dialog with the (only partially correct)
> message "Firefox is already running, but is not responding. [..]"

I think above your case is same as Bug 491295. But your result is different from one reported by Bug 491295. Simly because different build? (6 months, so big difference)
Frank-Ralph Reiser, can you reproduce "Firefox is already running, but is not responding. [..]" with newest Fx trunk nightly?
OS: All → Linux
I think a fundamental re-examination of the design is in order for profiles.  

Comment #1 stated "Please note that usual/average users never use multiple profiles."  My belief is that they don't use it because they don't know it's there.  The usual/average user doesn't know about command line options and requires a GUI.  Using my own parents as an example, my father refused to convert from IE to Firefox because he didn't like my mother's extensions and it took me 2 months of convincing that (after I setup profiles for them) her stuff would not mix with his (that and configuring IE tab to support Remote Access automatically but I digress).  

Design Choices:
#1) While installing you're given limited options to "import" from other browsers but not any configuration options.

Options:
a) Keep as is, assume KISS.
b) Prompt the user "Is there more than one person using this computer? If so, would you like to setup a profile for each? Yes||No.  If Yes-> How many? ::gather required information.

#2) Upon install, Firefox just goes.

Options: 
a) It's easy and friendly to "just get started", KISS
b) Take the user through some basic configuration.  Note: KISS - only the most basic of options as not to overwhelm the user.  Also note that this should not include "default browser", only options unique to the profile.  Ideally the default browser prompt should come up prior to profile manager and include the Firefox logo and a basic description for those who don't know what that means.

#3) Additional options.  "no-remote" flag is currently very limiting or unfriendly to average user.

Examples of user scenarios currently unsupported:
- Profile A user is browsing, Profile B user comes and wants to check email.  Profile A user doesn't want to close their session (say, in the middle of a flash video they can't resume position - or - privacy options enabled will lose session).  Average user won't know about no-remote.

- Developer running 1 default profile (a), 1 developer profile (b), receives an email in Thunderbird with a link - clicks link and receives inexplicable/confusing "not responding" error message.

- Taking previous scenario, user/developer wants link opened in a specific profile, lets say profile C.

With examples like these in mind:  

i) Prompt 'default browser' prior to Profile Manager (if flag set)
ii) Depreciate no-remote in favour of new implementation
iii) Add profile specific "Tools->Options->Application style" option for what to do with external links (when multiple profiles exist).  *Note: this does present the problem of what to do when multiple profiles are open with conflicting instructions.  Possible resolutions: if conflicting default to "Always ask". or about:config option of default to: always ask, use first open, use last open, use last active.
iv) Add Manage Profiles option with appropriate GUI to "Tools" tab
v) Pipe Dream: Ensure profiles can be switched *after* load/addon support for profiles.
Bug 491295 was WONTFIX'ed by Benjamin Smedberg. Reason why WONTFIX was; 
> (Copy of Bug 491295 Comment #12) 
> From  Benjamin Smedberg
> I really do not want to support remoting in any form with multiple profiles.

If spec of command line parameters is changed from former version, behaviour after spec change should be one which is resonable and consistent and acceptable.
Even if user specified paramaters which Benjamin Smedberg dislikes, behaviuour shouldn't be one like current. Proper warning/error message should be issued or some  parameters should be ignored appropriately.
I wish the dialog says:

Firefox is already running but not responding, do you want to kill previous process and restart it? (Yes/No)

And I can click yes to restart my firefox, instead of opening another terminal to killall firefox-bin.

Thank you.
It effects Windows as well, changing it to all platform.

Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.3a1pre) Gecko/20090816 Minefield/3.7a1pre (.NET CLR 3.5.30729) ID:20090816045208
OS: Linux → All
Hardware: x86 → All
Bug 458369 is found. Setting dependency for ease of track.
Depends on: 458369
I can confirm this bug since I use multiple profiles using --no-remote. Usually, when I click on a link in thunderbird when I have multiple profiles open, it is the first profile that was opened that gets to open that link.

Recently (in firefox 3.5.5 on ubuntu 9.10) I have been getting "already running, but is not responding" error when "profile is in use. There is a meta-bug open on Launchpad about this issue: https://bugs.edge.launchpad.net/ubuntu/+source/firefox-3.5/+bug/308605
This is pure comment but the profile manager is one of the few reasons I'm still using Firefox on a day to day basis.  As a developer I must have a profile for development and one for browsing because often the dev plugins will cause issues with browsing (slowdowns, memory leaks, etc).  It's ridiculous to think that people would have to do multiple installs to accomplish this behaviour.  If anything, spin it off into a plugin so it's development can be moved forward to include features like:

- GUI access
- open multiple profiles simultaneously
- "open in" context item for profiles and other programs (dev tools, other browsers, word, etc)

Those are just a few types of things I used to expect from Mozilla - not removing useful features and **** UI changes (Firefox 4). /end rant
This bug still is "valid" imho:

Steps to reproduce:
1) Start firefox using a profile "xyz"
2) Start firefox with the options "firefox -P xyz -no-remote"

Result:
I dialog appears stating
"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."

Environments used:
Ubuntu Linux, Gentoo Linux
Firefox 7.0.1
can confirm in FF 10
Why does this keep getting closed/re-opened?  It's not resolved unless it's wontfix
Bug 278860 has been fixed on 2012-05-04.
That bug is for following issue and for "without -no-remote" case.
  confusing "profile in use"/"already running" error when profile is not found
Do you see this bug's problems in latest trunk build?
(a) non-existent profile name, "without -no-remote" case
(b) non-existent profile name, "with    -no-remote" case
(c) other than "non-existent profile name", "without -no-remote" case
(d) other than "non-existent profile name", "with    -no-remote" case
I am confirming this bug occurrences as well. Just:
1. Create some profile in FF profile manager and set is as default
2. Close FF and delete profile folder
3. Try to start FF
and you get "Firefox is already running but is not responding" error message instead of expected "Default profile is deleted" message
a good start would be to apply the improved warning of bug 278860 multiple profile handling to the case of -no-remote when profile is already in use. IOW, that patch in bug 278860 is incomplete
Summary: Profile handling and using several firefox instance at the same time should be improved (Confusing "already running, but is not responding" error when "profile is in use"/"non-existent profile name in -P" in multi-instance environment with -no-remote) → Improve warning messages for multiple profile handling (was: Confusing "already running, but is not responding" error when "profile is in use"/"non-existent profile name in -P" in multi-instance environment with -no-remote)
Severity: minor → S4

The severity field for this bug is relatively low, S4. However, the bug has 17 votes.
:mossop, could you consider increasing the bug severity?

For more information, please visit auto_nag documentation.

Flags: needinfo?(dtownsend)

The last needinfo from me was triggered in error by recent activity on the bug. I'm clearing the needinfo since this is a very old bug and I don't know if it's still relevant.

Flags: needinfo?(dtownsend)
You need to log in before you can comment on or make changes to this bug.