Firefox/Win64: Difference between revisions

(→‎Schedule: Mark some tasks as done)
m (→‎History: March 7 - Google Hangouts will be broken until Google launches plugin-free WebRTC Hangouts)
 
(52 intermediate revisions by the same user not shown)
Line 3: Line 3:
Make 64-bit Firefox the default version for new and existing eligible users to reduce our OOM crash rate, increase performance, and improve security (ASLR).
Make 64-bit Firefox the default version for new and existing eligible users to reduce our OOM crash rate, increase performance, and improve security (ASLR).


Users are eligible for a 64-bit default if they are running 64-bit Windows 7+. 32-bit Firefox running on 64-bit Windows can access about 3,800 MiB of virtual address space (4 GiB minus overhead from physical memory reserved for the OS and BIOS). For users with less than 4 GiB of physical memory, there is a trade-off between the larger virtual address space and the overhead of 64-bit code. We have decided to remove any minimum memory requirement for 64-bit Firefox because we don't want to withhold the security benefits of ASLR. Also, 2 GiB RAM is Microsoft's minimum memory requirement for [https://support.microsoft.com/en-us/help/10737/windows-7-system-requirements Windows 7] through [https://www.microsoft.com/en-US/windows/windows-10-specifications#sysreqs 10].
Users are eligible for a 64-bit default if they are running 64-bit Windows 7+ and have strictly more than 2 GB RAM (so 3 GB is effectively the minimum memory requirement). For users with less than 4 GB of physical memory, there is a trade-off between the larger virtual address space and the overhead of 64-bit code. 2 GB RAM is Microsoft's minimum memory requirement for [https://support.microsoft.com/en-us/help/10737/windows-7-system-requirements Windows 7] and [https://www.microsoft.com/en-US/windows/windows-10-specifications#sysreqs 10].


= Schedule =
Which Firefox versions will be migrated to 64-bit?
* 32-bit Firefox <= 55.0.3 will be updated to 32-bit 56.0, a watershed release for all users on all platforms.
* 32-bit Firefox 56.0 will be migrated to the latest 64-bit release (currently 56.0.2). Only users running ''exactly'' 56.0 are eligible for migration.
* 32-bit Firefox >= 56.0.1 will be updated to the latest 32-bit release (currently 56.0.2), but will ''not'' be migrated. If you were migrated to 64-bit but want 32-bit, you can install 32-bit 56.0.1 or later and not be re-migrated.


= History =
* '''2014 Q2'''
** {{mdone|}} '''June 27''' - Google Hangouts adds WebRTC support (Chrome only): [https://plus.google.com/103171586947853434456/posts/39TCW3PcLye Hangouts in an instant: Video chat without downloading a plugin].
* '''2014 Q3'''
** {{mdone}} '''August 8''' - Chrome's 64-bit announcements: [http://blog.chromium.org/2014/08/mac-chrome-when-im-sixty-four-bits.html Mac] and [http://blog.chromium.org/2014/08/64-bits-of-awesome-64-bit-windows_26.html Windows]
* '''2015 Q2'''
* '''2015 Q2'''
** {{mdone|}} '''May 4''' - Firefox 41: [https://blog.mozilla.org/addons/2015/05/04/dropping-support-for-binary-components/ Drop support for binary XPCOM components]
** {{mdone|}} '''May 4''' - Firefox 41: [https://blog.mozilla.org/addons/2015/05/04/dropping-support-for-binary-components/ Drop support for binary XPCOM components]
Line 20: Line 29:
** {{mdone|}} '''October''' - Drop support for non-Flash NPAPI plugins in Nightly 52 ({{bug|1269807}})
** {{mdone|}} '''October''' - Drop support for non-Flash NPAPI plugins in Nightly 52 ({{bug|1269807}})
** {{mdone|}} '''October''' - Create [https://sql.telemetry.mozilla.org/dashboard/win64-indicators dashboards for 64-bit rollout criteria]
** {{mdone|}} '''October''' - Create [https://sql.telemetry.mozilla.org/dashboard/win64-indicators dashboards for 64-bit rollout criteria]
** {{mdone|}} '''November 24''' - Make 64-bit Firefox the default in the stub installer for all eligible users in Nightly 53 ({{bug|797208}})
** {{mdone|}} '''November 24''' - Make 64-bit the stub installer's default in Nightly 53 ({{bug|797208}}). The 64-bit default did not ride the trains with 53. The 64-bit installer option shipped in 54.
* '''2017 Q1'''
* '''2017 Q1'''
** {{mdone|}} '''January 14''' - Announce ctypes deprecation for Firefox 53: [https://blog.mozilla.org/addons/2017/01/24/preventing-add-ons-third-party-software-from-loading-dlls-into-firefox/ Preventing Add-ons & Third-party Software From Loading DLLs Into Firefox]
** {{mdone|}} '''January 14''' - Announce ctypes deprecation for Firefox 53: [https://blog.mozilla.org/addons/2017/01/24/preventing-add-ons-third-party-software-from-loading-dlls-into-firefox/ Preventing Add-ons & Third-party Software From Loading DLLs Into Firefox]
** {{mdone|}} '''January''' - [https://github.com/mozilla/amo-validator/issues/467 Forbid ctypes in AMO's add-on validator] (for Firefox 53)
** {{mdone|}} '''January''' - [https://github.com/mozilla/amo-validator/issues/467 Forbid ctypes in AMO's add-on validator] (for Firefox 53)
** {{mdone|}} Fix [https://bugzilla.mozilla.org/buglist.cgi?status_whiteboard_type=allwordssubstr&status_whiteboard=sbwn1&resolution=---&query_format=advanced Flash sandbox bugs]
** {{mdone|}} Fix [https://bugzilla.mozilla.org/buglist.cgi?status_whiteboard_type=allwordssubstr&status_whiteboard=sbwn1&resolution=---&query_format=advanced Flash sandbox bugs]
** {{mdone|}} '''March 7''' - Firefox 52 release
** {{mdone|}} '''March 7''' - '''Firefox 52 release'''
** {{mdone|}} '''March 7''' - [https://gsuiteupdates.googleblog.com/2017/02/google-hangouts-temporary-issues-with-firefox.html Google Hangouts will be broken] until Google launches plugin-free WebRTC Hangouts.
** {{mdone|}} '''March''' - Change Aurora 54's installer default back to 32-bit ({{bug|1342347}})
** {{mdone|}} '''March''' - Change Aurora 54's installer default back to 32-bit ({{bug|1342347}})
** {{mdone|}} '''March''' - [https://gsuiteupdates.googleblog.com/2017/02/google-hangouts-temporary-issues-with-firefox.html Google Hangouts will be broken] until Google launches plugin-free WebRTC Hangouts. ETA = "soon".
* '''2017 Q2'''
* '''2017 Q2'''
** {{mrisk|}} '''April''' - TBD: Let Flash async drawing ride to Beta 54?
** {{mdone|}} '''April 12''' - Enabled Flash async drawing in Aurora 54 ({{bug|1340934}})
** {{mok|}} '''April 18''' - Firefox 53 release
** {{mdone|}} '''April 18''' - '''Firefox 53 release (with 64-bit installer option)'''
** {{mprop|}} '''April''' - Google will upgrade 32-bit Chrome users starting in April.
** {{mdone|}} '''May 2''' - Google began migrating 32-bit Chrome users (with more than 4GB RAM) to [https://chromereleases.googleblog.com/2017/05/stable-channel-update-for-desktop.html 64-bit Chrome 58].
** {{mok|}} '''June 13''' - Firefox 54 release
** {{mdone|}} '''May 8''' - Flash release with fix for acceleration regression {{bug|1359886}}.
** {{mprop|}} '''June''' - Run [https://docs.google.com/document/d/139X1Xm0F8mjPsHPENG9r8Tofpg3lNyLp9tJUwYbeed8/ Funnelcake test] to compare 32-bit vs 64-bit for eligible Release 54 users
** {{mdone|}} '''June 13''' - '''Firefox 54 release'''
* '''2017 H2'''
** {{mdone|}} '''June 13''' - Flash 26 (York) release should fix zero-sized Flash {{bug|1348629}}.
** {{mok|}} '''August 8''' - Firefox 55 release '''(with 64-bit default)'''
** {{mdone|}} '''June 22''' - Started [https://docs.google.com/document/d/139X1Xm0F8mjPsHPENG9r8Tofpg3lNyLp9tJUwYbeed8/ Funnelcake experiment] to compare 32-bit vs 64-bit for eligible Release 54 users: 120K users in de, es-ES, fr, pt-BR, and ru. ({{bug|1309844}} and {{bug|1309847}})
** {{mprop|}} '''August ~10''' - TBD: Announce 64-bit default for new installs of Firefox 55? (Talk to Fabio Rios and Justin Crawford about blog post)
** {{mdone|}} '''June''' - Write technical blog post about 64-bit installer default in 55.
** {{mok|}} '''October 3''' - Firefox 56 release
* '''2017 Q3'''
** {{mprop|}} '''October''' - Upgrade existing eligible 32-bit Firefox users to 64-bit ({{bug|1274659}}) in 56? TBD: Should we blog about this 32-bit upgrade?
** {{mdone|}} '''July''' - Added section about 64-bit migration to Ryan's 56 release announcement.
** {{mdone|}} '''August 8''' - '''Firefox 55 release (with 64-bit installer default)'''
** {{mdone|}} '''August 14''' - Published technical blog post after 54 Funnelcake experiment: [https://blog.mozilla.org/firefox/firefox-64-default-64-bit-windows/  64-bit Firefox is the new default on 64-bit Windows]
** {{mdone|}} '''September 5''' - Migrated 100% of eligible 32-bit Firefox Beta users to 64-bit Firefox 56.0b9. We found and fixed some 64-bit crashes like Kaspersky {{bug|1268470}}, Quick Heal {{bug|1347867}}, and Lenovo {{bug|1369361}}. Beta users who skipped 56.0b9 did not get migrated and will need to be migrated later.
* '''2017 Q4'''
** {{mdone|}} '''October 3''' - '''Firefox 56 release'''
** {{mdone|}} '''October 9''' - Started migrating 1% of eligible 32-bit Firefox 56.0 users to 64-bit Firefox 56.0.1. {{bug|1274659}}
** {{mdone|}} '''October 12''' - Started migrating 5% of eligible 32-bit Firefox 56.0 users to 64-bit Firefox 56.0.1. {{bug|1274659}}
** {{mdone|}} '''October 19''' - Started migrating 20% of eligible 32-bit Firefox 56.0 users to 64-bit 56.0.1. {{bug|1274659}}
** {{mdone|}} '''October 23''' - Started migrating 100% of eligible 32-bit Firefox 56.0 users to 64-bit 56.0.1. {{bug|1274659}}
** {{mdone|}} '''October 26''' - Started migrating 100% of eligible 32-bit Firefox 56.0 users to 64-bit 56.0.2. {{bug|1274659}}
** {{mdone|}} '''November 14''' - '''Firefox 57 release'''
** {{mdone|}} '''December 12''' - Tried to migrate 32-bit Beta users (who missed the 56.0b9 migration) to 64-bit Beta 58.0b11. For some reason, this second migration appears to have migrated very few users. 39% of Beta users are currently running 64-bit, so we have decided that is good enough and will not attempt a third migration.
* '''2018 Q2'''
** {{mdone|}} '''May 9''' - '''Firefox 60 release'''
** {{mdone|}} '''May 22''' - Google Hangouts now works in Firefox 60 without plugins: [https://blog.mozilla.org/webrtc/firefox-is-now-supported-by-google-hangouts-and-meet/ Firefox is now supported by Google Hangouts and Meet]


= Release Criteria =
= Release Criteria =


* [https://sql.telemetry.mozilla.org/dashboard/win64-roll-out-on-nightly-indicators Firefox 53 Win64 indicators dashboard]
* [https://sql.telemetry.mozilla.org/dashboard/win64-release-criteria---release Win64 release criteria dashboard: Release channel]
* [https://sql.telemetry.mozilla.org/queries/1764#3138 Win64 total URIs loaded should be greater than or equal to WOW64]
* [https://sql.telemetry.mozilla.org/dashboard/win64-release-criteria---beta Win64 release criteria dashboard: Beta channel]
* [https://sql.telemetry.mozilla.org/queries/1762#3136 Win64 total domains loaded should be greater than or equal to WOW64]
* [https://sql.telemetry.mozilla.org/dashboard/win64-release-criteria---nightly Win64 release criteria dashboard: Nightly channel]
* [https://sql.telemetry.mozilla.org/queries/1763#3137 Win64 total tabs opened should be greater than or equal to WOW64]
* Win64 total URIs loaded should be greater than or equal to WOW64
* [https://sql.telemetry.mozilla.org/queries/1765#3139 Win64 crash rate should be less than or equal to WOW64]
* Win64 total domains loaded should be greater than or equal to WOW64
* Win64 total tabs opened should be greater than or equal to WOW64
* Win64 crash rate should be less than or equal to WOW64
** The frequency of new users experiencing any Firefox or content crash in the first two weeks of using Firefox should be lower than or equal to WOW64 (WIP to visualize this)
** The frequency of new users experiencing any Firefox or content crash in the first two weeks of using Firefox should be lower than or equal to WOW64 (WIP to visualize this)
** The percentage of Firefox users who experience more than one crash per week of active usage should be greater than or equal to WOW64 (WIP to visualize this)
** The percentage of Firefox users who experience more than one crash per week of active usage should be greater than or equal to WOW64 (WIP to visualize this)
* [https://sql.telemetry.mozilla.org/queries/773 Win64 engagement ratio should be greater than or equal to WOW64 engagement ratio] (TODO: copy [https://sql.telemetry.mozilla.org/dashboard/e10s-client-count-beta-e10scontrol%2D e10s dashboard])
* [https://sql.telemetry.mozilla.org/queries/773 Win64 engagement ratio should be greater than or equal to WOW64 engagement ratio]
* [https://dataviz.mozilla.org/views/FirefoxDesktopCohortAnalysis-UT_0/ByChannel#1 Win64 3 week user retention should be greater than or equal to WOW64] (part of funnelcake experiment)
* [https://dataviz.mozilla.org/views/FirefoxDesktopCohortAnalysis-UT_0/ByChannel#1 Win64 3 week user retention should be greater than or equal to WOW64] (part of funnelcake experiment)
* [https://sql.telemetry.mozilla.org/queries/2417#4478 Stub installer success rate with Win64 should be greater than or equal to WOW64]
* Stub installer success rate with Win64 should be greater than or equal to WOW64
* Win64 performance benchmarks should be faster than or equal to WOW64
* Win64 performance benchmarks should be faster than or equal to WOW64
= Migration Opt-Out =
Users running 32-bit Firefox on Win64 OS with at least 2 GB RAM will be automatically upgraded/migrated to 64-bit Firefox 56.0.1. 32-bit Firefox users that do not wish to be migrated to 64-bit Firefox can opt-out of the migration setting a Windows registry key (added in {{bug|1386176}}) as described below.
If you have already been migrated to 64-bit Firefox 56.0.1 but prefer to run 32-bit Firefox, you can [https://www.mozilla.org/firefox/all/ download 32-bit Windows Firefox 56.0.1] and re-install. Firefox will not attempt to migrate 32-bit users running version 56.0.1 or later!
Instructions for creating the migration opt-out registry key:
* To disable migration for''' all Firefox installations''' on a client system '''for all users''', create the following registry entry:
** Path: '''HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Firefox\32to64DidMigrate'''
** Value Type: '''DWORD (32 bit) Value'''
** Value Name: '''Never'''
** Value: '''1'''
* To disable migration for '''all Firefox installations''' on a client system only '''for the current user''', create the following registry entry:
** Path: '''HKEY_CURRENT_USER\SOFTWARE\Mozilla\Firefox\32to64DidMigrate'''
** Value Type: '''DWORD (32 bit) Value'''
** Value Name: '''Never'''
** Value: '''1'''
* To disable migration for a '''single Firefox installation''' on a client system '''for all users''', create the following registry entry:
** Path: '''HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Firefox\32to64DidMigrate'''
** Value Type: '''DWORD (32 bit) Value'''
** Value Name: ''<Windows path to the installation directory without a trailing backslash>'' '''(Important: do NOT include a trailing backslash!)'''
*** example: '''C:\Program Files (x86)\Mozilla Firefox'''
** Value: '''1'''
* To disable migration for a '''single Firefox installation''' on a client system only '''for the current user''', create the following registry entry:
** Path: '''HKEY_CURRENT_USER\SOFTWARE\Mozilla\Firefox\32to64DidMigrate'''
** Value Type: '''DWORD (32 bit) Value'''
** Value Name: ''<Windows path to the installation directory without a trailing backslash>'' '''(Important: do NOT include a trailing backslash!)'''
*** example: '''C:\Program Files (x86)\Mozilla Firefox'''
** Value: '''1'''


= Links =
= Links =


* Win64 crash queries
** [https://data-missioncontrol.dev.mozaws.net/#/release/windows/main_crashes?timeInterval=172800&percentile=99&normalized=1&disabledBuildIds= 56.0.x main process crash rates]
** [https://data-missioncontrol.dev.mozaws.net/#/release/windows/content_crashes?timeInterval=172800&percentile=99&normalized=1&disabledBuildIds= 56.0.x content process crash rates]
** [https://mozilla.github.io/stab-crashes/scomp.html?common=product%3DFirefox%26version%3D56.0%26version%3D56.0.1%26version%3D56.0.2%26platform%3DWindows&p1=cpu_arch%3Dx86&p2=cpu_arch%3Damd64 32- vs 64-bit 56.0.x top crashes]
** [https://mozilla.github.io/stab-crashes/scomp.html?common=product%3DFirefox%26platform%3DWindows%26cpu_arch%3Damd64&p1=version%3D56.0&p2=version%3D56.0.1 56.0 vs 56.0.1 64-bit top crashes]
** [https://mozilla.github.io/stab-crashes/scomp.html?common=product%3DFirefox%26platform%3DWindows%26cpu_arch%3Damd64&p1=version%3D58.0b10&p2=version%3D58.0b11 64-bit 58.0b10 vs 58.0b11 top crashes]
** [https://mozilla.github.io/stab-crashes/scomp.html?common=product%3DFirefox%26platform%3DWindows%26version%3D58.0b11&p1=cpu_arch%3Dx86&p2=cpu_arch%3Damd64 32-bit 58.0b11 vs 64-bit 58.0b11 top crashes]
** [https://crash-stats.mozilla.com/search/?cpu_arch=amd64&signature=~.dll&product=Firefox&version=56.0.1&platform=Windows&_sort=-date&_facets=signature&_facets=cpu_arch&_facets=platform_pretty_version&_columns=date&_columns=signature&_columns=product&_columns=version&_columns=build_id&_columns=platform#facet-signature DLL crashes in 56.0.1]
** [https://crash-stats.mozilla.com/search/?cpu_arch=amd64&signature=~.dll&product=Firefox&version=56.0.2&platform=Windows&_sort=-date&_facets=signature&_facets=cpu_arch&_facets=platform_pretty_version&_columns=date&_columns=signature&_columns=product&_columns=version&_columns=build_id&_columns=platform#facet-signature DLL crashes in 56.0.2]
** [https://crash-stats.mozilla.com/search/?signature=~atok1&signature=~atok2&email=%21__null__&product=Firefox&_sort=-date&_facets=signature&_facets=cpu_arch&_facets=version&_facets=platform_pretty_version&_facets=email&_columns=date&_columns=signature&_columns=product&_columns=version&_columns=build_id&_columns=platform#facet-email ATOK crashes]
** [https://crash-stats.mozilla.com/search/?signature=~guard64.dll&signature=~guard32.dll&email=%21__null__&product=Firefox&_sort=-date&_facets=signature&_facets=platform_version&_facets=version&_facets=email&_facets=cpu_arch&_columns=date&_columns=signature&_columns=version&_columns=email#facet-email Comodo crashes]
** [https://crash-stats.mozilla.com/search/?cpu_arch=amd64&signature=~klsihk64.dll&email=%21__null__&product=Firefox&platform=Windows&_sort=-date&_facets=signature&_facets=platform_version&_facets=version&_facets=email&_facets=platform_pretty_version&_columns=date&_columns=signature&_columns=version&_columns=email#facet-email Kaspersky crashes]
** [https://crash-stats.mozilla.com/search/?cpu_arch=amd64&signature=~acrt_RtlGenRandom&email=%21__null__&platform_pretty_version=%3DWindows%207&product=Firefox&platform=Windows&page=1&_sort=-date&_facets=signature&_facets=version&_facets=email&_facets=platform_pretty_version&_columns=date&_columns=signature&_columns=version&_columns=email#facet-email Lenovo crashes]
** [https://crash-stats.mozilla.com/search/?cpu_arch=amd64&signature=~CrashReporter%3A%3AOOPInit&email=%21__null__&product=Firefox&_sort=-date&_facets=signature&_facets=platform_version&_facets=version&_facets=email&_facets=cpu_arch&_columns=date&_columns=signature&_columns=version&_columns=email#facet-email Quick Heal crashes]
** [https://crash-stats.mozilla.com/search/?cpu_arch=amd64&signature=~libvoikko&email=%21__null__&product=Firefox&platform=Windows&_sort=-date&_facets=signature&_facets=platform_version&_facets=version&_facets=email&_facets=platform_pretty_version&_columns=date&_columns=signature&_columns=version&_columns=email#facet-email Voikko crashes]
* [https://docs.google.com/document/u/1/d/1_b3SuHiMZn141jM_MHw9sclm8nkn_COrlbHF44NIWKY/ Meeting notes]
* [https://docs.google.com/document/u/1/d/1_b3SuHiMZn141jM_MHw9sclm8nkn_COrlbHF44NIWKY/ Meeting notes]
* [https://trello.com/b/wHGcJaeM/64-bit-firefox Trello board]
* [https://wiki.mozilla.org/QA/x64StubInstaller Stub Installer test plan]
* [https://wiki.mozilla.org/QA/x64StubInstaller Stub Installer test plan]
* [https://crash-stats.mozilla.com/search/?cpu_arch=!amd64&product=Firefox&version=53.0a2&platform=Windows&date=%3E%3D2017-01-20T16%3A52%3A20.000Z&_sort=-date&_facets=signature&_columns=date&_columns=signature&_columns=product&_columns=version&_columns=build_id&_columns=platform#facet-signature 32-bit crash stats]
* 32/64-bit share:
* [https://crash-stats.mozilla.com/search/?cpu_arch=amd64&product=Firefox&version=53.0a2&platform=Windows&date=%3E%3D2017-01-20T16%3A52%3A20.000Z&_sort=-date&_facets=signature&_columns=date&_columns=signature&_columns=product&_columns=version&_columns=build_id&_columns=platform#facet-signature 64-bit crash stats]
* % Win32/WOW64/Win64 Firefox users:
** [https://wiki.mozilla.org/Firefox/win64/meetingarchive 2015]
** [https://wiki.mozilla.org/Firefox/win64/meetingarchive 2015]
*** 32.3% Win32 (32-bit Firefox on Win32 OS)
*** 32.3% Win32 (32-bit Firefox on Win32 OS)
Line 70: Line 139:
*** 72% WoW64 (32-bit Firefox on Win64 OS)
*** 72% WoW64 (32-bit Firefox on Win64 OS)
*** 3% Win64 (64-bit Firefox on Win64 OS)
*** 3% Win64 (64-bit Firefox on Win64 OS)
* [https://sql.telemetry.mozilla.org/queries/1009/source#1768 Proportion of Win64 OS users by RAM]:
** [https://sql.telemetry.mozilla.org/queries/1009/source#1768 Proportion of Win64 OS users by RAM]:
** > 3 GiB = 91.21%
*** > 3 GiB = 91.21%
** > 3.8 GiB = 80.73%
*** > 3.8 GiB = 80.73%
** > 4 GiB = 37.86%
*** > 4 GiB = 37.86%
** [https://sql.telemetry.mozilla.org/queries/1049/source#1830 Graph]
*** [https://sql.telemetry.mozilla.org/queries/1049/source#1830 Graph]
* Chrome's 64-bit announcements: [http://blog.chromium.org/2014/08/mac-chrome-when-im-sixty-four-bits.html Mac] and [http://blog.chromium.org/2014/08/64-bits-of-awesome-64-bit-windows_26.html Windows] (August 2014)
** 2017
*** [https://hardware.metrics.mozilla.com/#goto-os-and-architecture Firefox Hardware Report]
*** [https://sql.telemetry.mozilla.org/dashboard/win64-release-criteria---release Release Telemetry Dashboard]
*** [https://sql.telemetry.mozilla.org/dashboard/win64-release-criteria---beta Beta Telemetry Dashboard]


= Bugs =
= Bugs =
Line 90: Line 162:
</bugzilla>
</bugzilla>


* [https://bugzilla.mozilla.org/showdependencytree.cgi?id=1340934&hide_resolved=1 Flash async drawing bug 1340934]
* [https://bugzilla.mozilla.org/showdependencytree.cgi?id=1274659&hide_resolved=1 Win64 migration bug 1274659]
 
<bugzilla>
{
  "blocked": "1274659",
  "resolution": "---",
  "include_fields": "id, priority, summary, whiteboard, keywords, assigned_to",
  "order": "priority"
}
</bugzilla>
 
* Bugs blocking [https://bugzilla.mozilla.org/showdependencytree.cgi?id=1340934&hide_resolved=1 Flash async drawing bug 1340934]. These bugs '''do not''' block the 64-bit rollout.


<bugzilla>
<bugzilla>

Latest revision as of 19:52, 25 May 2018

Objective

Make 64-bit Firefox the default version for new and existing eligible users to reduce our OOM crash rate, increase performance, and improve security (ASLR).

Users are eligible for a 64-bit default if they are running 64-bit Windows 7+ and have strictly more than 2 GB RAM (so 3 GB is effectively the minimum memory requirement). For users with less than 4 GB of physical memory, there is a trade-off between the larger virtual address space and the overhead of 64-bit code. 2 GB RAM is Microsoft's minimum memory requirement for Windows 7 and 10.

Which Firefox versions will be migrated to 64-bit?

  • 32-bit Firefox <= 55.0.3 will be updated to 32-bit 56.0, a watershed release for all users on all platforms.
  • 32-bit Firefox 56.0 will be migrated to the latest 64-bit release (currently 56.0.2). Only users running exactly 56.0 are eligible for migration.
  • 32-bit Firefox >= 56.0.1 will be updated to the latest 32-bit release (currently 56.0.2), but will not be migrated. If you were migrated to 64-bit but want 32-bit, you can install 32-bit 56.0.1 or later and not be re-migrated.

History

  • 2014 Q2
  • 2014 Q3
    • [DONE] August 8 - Chrome's 64-bit announcements: Mac and Windows
  • 2015 Q2
  • 2015 Q4
  • 2016 Q3
    • [DONE] July 20 - Announced NPAPI to be removed in Firefox 52: Reducing Adobe Flash Usage in Firefox
    • [DONE] August 29 - Web team will start redesigning download page redesign for 64-bit
    • [DONE] September 23 - Web team will start A/B test of new download page
  • 2016 Q4
    • [DONE] October 7 - Web team will complete A/B test of new download page
    • [DONE] October - Drop support for non-Flash NPAPI plugins in Nightly 52 (bug 1269807)
    • [DONE] October - Create dashboards for 64-bit rollout criteria
    • [DONE] November 24 - Make 64-bit the stub installer's default in Nightly 53 (bug 797208). The 64-bit default did not ride the trains with 53. The 64-bit installer option shipped in 54.
  • 2017 Q1
  • 2017 Q2
    • [DONE] April 12 - Enabled Flash async drawing in Aurora 54 (bug 1340934)
    • [DONE] April 18 - Firefox 53 release (with 64-bit installer option)
    • [DONE] May 2 - Google began migrating 32-bit Chrome users (with more than 4GB RAM) to 64-bit Chrome 58.
    • [DONE] May 8 - Flash release with fix for acceleration regression bug 1359886.
    • [DONE] June 13 - Firefox 54 release
    • [DONE] June 13 - Flash 26 (York) release should fix zero-sized Flash bug 1348629.
    • [DONE] June 22 - Started Funnelcake experiment to compare 32-bit vs 64-bit for eligible Release 54 users: 120K users in de, es-ES, fr, pt-BR, and ru. (bug 1309844 and bug 1309847)
    • [DONE] June - Write technical blog post about 64-bit installer default in 55.
  • 2017 Q3
    • [DONE] July - Added section about 64-bit migration to Ryan's 56 release announcement.
    • [DONE] August 8 - Firefox 55 release (with 64-bit installer default)
    • [DONE] August 14 - Published technical blog post after 54 Funnelcake experiment: 64-bit Firefox is the new default on 64-bit Windows
    • [DONE] September 5 - Migrated 100% of eligible 32-bit Firefox Beta users to 64-bit Firefox 56.0b9. We found and fixed some 64-bit crashes like Kaspersky bug 1268470, Quick Heal bug 1347867, and Lenovo bug 1369361. Beta users who skipped 56.0b9 did not get migrated and will need to be migrated later.
  • 2017 Q4
    • [DONE] October 3 - Firefox 56 release
    • [DONE] October 9 - Started migrating 1% of eligible 32-bit Firefox 56.0 users to 64-bit Firefox 56.0.1. bug 1274659
    • [DONE] October 12 - Started migrating 5% of eligible 32-bit Firefox 56.0 users to 64-bit Firefox 56.0.1. bug 1274659
    • [DONE] October 19 - Started migrating 20% of eligible 32-bit Firefox 56.0 users to 64-bit 56.0.1. bug 1274659
    • [DONE] October 23 - Started migrating 100% of eligible 32-bit Firefox 56.0 users to 64-bit 56.0.1. bug 1274659
    • [DONE] October 26 - Started migrating 100% of eligible 32-bit Firefox 56.0 users to 64-bit 56.0.2. bug 1274659
    • [DONE] November 14 - Firefox 57 release
    • [DONE] December 12 - Tried to migrate 32-bit Beta users (who missed the 56.0b9 migration) to 64-bit Beta 58.0b11. For some reason, this second migration appears to have migrated very few users. 39% of Beta users are currently running 64-bit, so we have decided that is good enough and will not attempt a third migration.
  • 2018 Q2

Release Criteria

Migration Opt-Out

Users running 32-bit Firefox on Win64 OS with at least 2 GB RAM will be automatically upgraded/migrated to 64-bit Firefox 56.0.1. 32-bit Firefox users that do not wish to be migrated to 64-bit Firefox can opt-out of the migration setting a Windows registry key (added in bug 1386176) as described below.

If you have already been migrated to 64-bit Firefox 56.0.1 but prefer to run 32-bit Firefox, you can download 32-bit Windows Firefox 56.0.1 and re-install. Firefox will not attempt to migrate 32-bit users running version 56.0.1 or later!

Instructions for creating the migration opt-out registry key:

  • To disable migration for all Firefox installations on a client system for all users, create the following registry entry:
    • Path: HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Firefox\32to64DidMigrate
    • Value Type: DWORD (32 bit) Value
    • Value Name: Never
    • Value: 1
  • To disable migration for all Firefox installations on a client system only for the current user, create the following registry entry:
    • Path: HKEY_CURRENT_USER\SOFTWARE\Mozilla\Firefox\32to64DidMigrate
    • Value Type: DWORD (32 bit) Value
    • Value Name: Never
    • Value: 1
  • To disable migration for a single Firefox installation on a client system for all users, create the following registry entry:
    • Path: HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Firefox\32to64DidMigrate
    • Value Type: DWORD (32 bit) Value
    • Value Name: <Windows path to the installation directory without a trailing backslash> (Important: do NOT include a trailing backslash!)
      • example: C:\Program Files (x86)\Mozilla Firefox
    • Value: 1
  • To disable migration for a single Firefox installation on a client system only for the current user, create the following registry entry:
    • Path: HKEY_CURRENT_USER\SOFTWARE\Mozilla\Firefox\32to64DidMigrate
    • Value Type: DWORD (32 bit) Value
    • Value Name: <Windows path to the installation directory without a trailing backslash> (Important: do NOT include a trailing backslash!)
      • example: C:\Program Files (x86)\Mozilla Firefox
    • Value: 1

Links

Bugs

No results.

0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);


Full Query
ID Priority Summary Whiteboard Keywords Assigned to
1420251 P2 Firefox crashes at startup with Lenovo OneKey Theater on 64-bit Windows 7 crash
1347867 P3 Crash in CrashReporter::OOPInit (Quick Heal Antivirus SCDETOUR.DLL) inj+ [AV:Quick Heal] crash, regression

2 Total; 2 Open (100%); 0 Resolved (0%); 0 Verified (0%);


No results.

0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);


Team

Role Contact
Product Management Romain Testard
Engineering David Parks (Flash sandbox), Matt Howell and Robert Strong (installer), Stéphanie Ouillon (Flash sandbox review)
QA Ryan VanderMeulen
UX Michael Verdi (Firefox), Jon Petto (Mozilla.org)
Release Management Sylvestre Ledru
Release Engineering Chris AtLee
Firefox Program Management Chris Peterson
Mozilla.org Program Management Jennifer Bersch
Add-ons Jorge Villalobos