Closed Bug 1770174 Opened 3 years ago Closed 2 years ago

Two profiles created on first startup, <something>.default-release and <something>.default

Categories

(Toolkit :: Startup and Profile System, defect)

Firefox 93
defect

Tracking

()

RESOLVED FIXED
115 Branch
Tracking Status
firefox115 --- fixed

People

(Reporter: Spampot, Assigned: pierov)

References

Details

Attachments

(1 file, 1 obsolete file)

After a fresh install, without any pre-existing user profiles, Firefox creates TWO profiles (instead of only one) upon first startup:

(1.) One is named "<something>.default-release". This is the only one mentioned in installs.ini, and is the one that is actually used by Firefox.

(2.) The second profile is named "<something>.default". This is obviously not used (although marked as "Default=1" in profiles.ini), as it only contains a single "times.json" file.

(Note: The same bug is also present in Thunderbird.)

Firefox 67 and later use a dedicated profile for each of the Firefox update channels (release, beta, nightly etc.) and lock the profile, so it can only be used by Firefox in a specific installation folder. Previous Firefox versions used .default in place of .default-release which was converted and copied to default-release profile when a new profile was created.
There are two profiles default and .default-release because a previous Firefox version was installed before version 67.

Status: UNCONFIRMED → RESOLVED
Closed: 3 years ago
Resolution: --- → INVALID

(In reply to Ina Popescu from comment #1)

[...] There are two profiles default and .default-release because a previous Firefox version was installed before version 67.

Please read my report. I explicitly referred to a fresh install of Firefox 93 and above (way after version 67) on a "clean" machine without any prior Firefox installations and without any pre-existing user profiles. Such an install newly creates two profiles "<something>.default" and "<something>.default-release".

So no old/pre-existing profile is converted or copied.
Or am I missing something?

Status: RESOLVED → UNCONFIRMED
Resolution: INVALID → ---

Setting the component to make it visible to developers since you confirmed that both profiles were created upon installing Firefox for the very first time on your computer.
If this is not the correct component, please feel free to change it to a more appropriate one.

Component: General → Startup and Profile System
Product: Firefox → Toolkit

This was an intentional choice as part of the profile per installs work to stop older versions of Firefox from attempting to use the profiles from newer installs. The scenario it covers is this:

  1. A user on a fresh computer installs a current version of Firefox and starts using it.
  2. Later they install a pre-67 version of Firefox and try to use it.

If there is only one profile present on the computer then the pre-67 version will automatically select it as its default and start using it when we would prefer it use its own profile. So we create this empty dummy profile marked as default for pre-67 versions.

It has been quite some time since 67 though so I suspect this scenario is now quite rare and in fact I started working on a patch to stop doing this a few weeks ago. Romain, do you think this is a scenario we no longer need to care about? I don't know if we can measure the number of cases, we could look at new profile pings from pre-67 versions but that doesn't also tell us if a more modern Firefox exists on the computer.

Flags: needinfo?(rtestard)

Unfortunately volumes are still pretty high it seems https://sql.telemetry.mozilla.org/queries/86122/source#213274
I think we need to investigate why such high volumes of older versions happen to then make the right call. I craised https://mozilla-hub.atlassian.net/browse/DO-785 with DS to investigate the source of these new profiles.

Flags: needinfo?(rtestard)

The severity field is not set for this bug.
:mossop, could you have a look please?

For more information, please visit auto_nag documentation.

Flags: needinfo?(dtownsend)
Severity: -- → S4
Flags: needinfo?(dtownsend)
Summary: Two profiles created on first startup → Two profiles created on first startup, <something>.default-release and <something>.default
Status: UNCONFIRMED → NEW
Ever confirmed: true

Hi! Would you be interested in a patch that keeps this behavior enabled, but allow to disable it at build time?

Like the patch you attached, but controlled with something like --enable-legacy-profile-creation (true by default).

Flags: needinfo?(dtownsend)

(In reply to Pier Angelo Vendrame from comment #9)

Hi! Would you be interested in a patch that keeps this behavior enabled, but allow to disable it at build time?

Like the patch you attached, but controlled with something like --enable-legacy-profile-creation (true by default).

I'd say that I would be fine with adding some check there, whether that is a build config flag is something you'd have to get the build config peers to review. I would also accept an environment variable check, not sure if that is helpful though.

Flags: needinfo?(dtownsend)
Assignee: nobody → pierov
Status: NEW → ASSIGNED
Attachment #9278096 - Attachment is obsolete: true

Is there anything else I can do for this patch? Otherwise, could someone land it for me?
Thanks in advance!

Pushed by dtownsend@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/131a6c94a0e0 Add a flag to disable the creation of a legacy profile at compile time r=firefox-build-system-reviewers,nalexander
Status: ASSIGNED → RESOLVED
Closed: 3 years ago2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 115 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: