Bricked Firefox when language pack is updated while the browser is open

VERIFIED FIXED in Firefox 62

Status

()

defect
P1
normal
VERIFIED FIXED
8 months ago
6 months ago

People

(Reporter: mkaply, Assigned: mkaply)

Tracking

62 Branch
mozilla64
Points:
---

Firefox Tracking Flags

(firefox62+ verified, firefox63 fixed, firefox64 fixed)

Details

Attachments

(3 attachments, 4 obsolete attachments)

(Assignee)

Description

8 months ago
If a Firefox language pack is updated while Firefox is open and then you restart Firefox, you end up with a yellow <window screen and Firefox is bricked.

The jsconsole comes up blank as well so you can't read it.

So far I've only been able to recreate this with acer builds. I'm working on recreating it elsewhere.

For now, I want to turn off acer update (acer-001 and acer-002).
Also, I get 
1536186800603	addons.xpi	WARN	Ignoring distribution: not an XPI: C:\Program Files (x86)\Mozilla Firefox\distribution
\extensions\partnerdefaults@mozilla.com
when starting up win32 62.0 en-US acer-002. See also bug 1488799.
(Assignee)

Comment 2

8 months ago
Yep. They have unpacked extensions preloaded on their machines. I've let them know about that.

At first, I thought it was the source of this problem but it doesn't seem to be.

My current plan is to build a debug version of 62 release so I can see what exactly is erroring out on the console.
Mike, would it be fair to assign this to you?
Flags: needinfo?(mozilla)
Priority: -- → P1
(Assignee)

Comment 4

8 months ago
> Mike, would it be fair to assign this to you?

Probably, but unfortunately I have been unable to recreate it again since I had it happen twice.

I'm still trying.

Right now we've turned off updates to Acer.
Flags: needinfo?(mozilla)
(Assignee)

Comment 5

8 months ago
I've been able to recreate and have a sample profile that is broken. Scenario is:

Install 58 zh-CN with unpacked langpack (that's how Acer preloads)
Upgrade directly to 62.
Wait for Firefox to get the langpack upgrade.
Restart.
Yellow screen.

You have to have a distribution.ini file from Acer to recreate.
(Assignee)

Comment 6

8 months ago
Posted file distribution.ini (obsolete) —
Information on recreation so this can be passed to the addons team.

This is Windows only.

It recreates with Firefox 62 release.

Create a distribution directory where the Firefox executable is located and put the attached distribution.ini into that directory.

Rename your AppData/Local/Mozilla and AppData/Roaming/Mozilla directories.

Unzip 

https://www.dropbox.com/s/2fwlxu4apak23d7/acer_bad_profile.zip?dl=0

into your Users\USERNAME\AppData directory 

Start Firefox. You should see a yellow window with <window id="main-window"
(Assignee)

Comment 7

8 months ago
Posted file acer_bad_profile.zip (obsolete) —
(Assignee)

Updated

8 months ago
Attachment #9007069 - Attachment description: Information on recreation so this can be passed to the addons team. This is Windows only. It recreate with Firefox 62 release. Create a distribution directory where the Firefox executable is locate → distribution.ini
(Assignee)

Updated

8 months ago
Attachment #9007069 - Attachment mime type: application/octet-stream → text/plain
(Assignee)

Comment 8

8 months ago
Posted file Mac profile that fails (obsolete) —
This is zipped in the profile dir, so you'll need to add an entry to profiles.ini

db2jrits.Acer Test
(Assignee)

Comment 9

8 months ago
I've been able to reproduce this on a debug build.

We are not properly switching the chrome registration from unpacked to packed. Errors are below:

Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/browser/chrome/zh-CN/locale/branding/brand.properties
++DOCSHELL 0x123511000 == 2 [pid = 78662] [id = {5a62ea88-b37e-8b45-84f6-74756aa91051}]
++DOMWINDOW == 3 (0x121ea4600) [pid = 78662] [serial = 3] [outer = 0x0]
++DOMWINDOW == 4 (0x119da8000) [pid = 78662] [serial = 4] [outer = 0x121ea4600]
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/global/intl.properties
[78662, Main Thread] WARNING: Could not get the program name for a cubeb stream.: 'NS_SUCCEEDED(rv)', file /Users/michaelkaply/Projects/mozilla-release/dom/media/CubebUtils.cpp, line 351
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/browser/chrome/zh-CN/locale/branding/brand.dtd
[78662, Main Thread] WARNING: Failed to open external DTD: publicId "" systemId "chrome://branding/locale/brand.dtd" base "chrome://browser/content/hiddenWindow.xul" URL "chrome://branding/locale/brand.dtd": file /Users/michaelkaply/Projects/mozilla-release/parser/htmlparser/nsExpatDriver.cpp, line 588
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/global/layout/xmlparser.properties
[78662, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x8000FFFF: file /Users/michaelkaply/Projects/mozilla-release/parser/htmlparser/nsExpatDriver.cpp, line 715
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/browser/chrome/zh-CN/locale/branding/brand.dtd
[78662, Main Thread] WARNING: Failed to open external DTD: publicId "" systemId "chrome://branding/locale/brand.dtd" base "chrome://browser/content/browser.xul" URL "chrome://branding/locale/brand.dtd": file /Users/michaelkaply/Projects/mozilla-release/parser/htmlparser/nsExpatDriver.cpp, line 588
[78662, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x8000FFFF: file /Users/michaelkaply/Projects/mozilla-release/parser/htmlparser/nsExpatDriver.cpp, line 715
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/global/fallbackMenubar.properties
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/global/intl.css
[78662, Main Thread] WARNING: NS_ENSURE_TRUE(root) failed: file /Users/michaelkaply/Projects/mozilla-release/layout/base/nsDocumentViewer.cpp, line 3533
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/global/css.properties
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/global/xbl.properties
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/global/xul.properties
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/global/layout_errors.properties
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/global/layout/HtmlForm.properties
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/global/printing.properties
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/global/dom/dom.properties
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/global/layout/htmlparser.properties
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/global/svg/svg.properties
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/global/commonDialogs.properties
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/global/mathml/mathml.properties
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/global/security/security.properties
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/necko/necko.properties
console.debug: 
  studyUtils has config and variation.name: noshow.
      Ready to send telemetry
console.debug: 
  info {"studyName":"searchNudgesExperiment","addon":{"id":"search-nudges@shield.mozilla.org","version":"1.8.2"},"variation":{"name":"noshow","weight":1},"shieldId":""}
console.debug: 
  Feature start
++DOCSHELL 0x126906800 == 3 [pid = 78662] [id = {5b2f24a3-4d2b-7241-9ab1-03178d3ccf4f}]
++DOMWINDOW == 5 (0x12705d400) [pid = 78662] [serial = 5] [outer = 0x0]
++DOMWINDOW == 6 (0x12734a000) [pid = 78662] [serial = 6] [outer = 0x12705d400]
++DOMWINDOW == 7 (0x123a98800) [pid = 78662] [serial = 7] [outer = 0x12705d400]
[Parent 78662, Main Thread] WARNING: Need TabChild to get the nativeWindow from!: file /Users/michaelkaply/Projects/mozilla-release/widget/PuppetWidget.cpp, line 1212
++DOCSHELL 0x10866f000 == 1 [pid = 78663] [id = {032eeb0f-d195-a045-aab3-25418f9ac260}]
++DOMWINDOW == 1 (0x104960c00) [pid = 78663] [serial = 1] [outer = 0x0]
[Child 78663, Main Thread] WARNING: Fallback to BasicLayerManager: file /Users/michaelkaply/Projects/mozilla-release/dom/ipc/TabChild.cpp, line 2843
++DOMWINDOW == 2 (0x10a770400) [pid = 78663] [serial = 2] [outer = 0x104960c00]
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/browser/chrome/zh-CN/locale/branding/brand.properties
[Child 78663, Main Thread] WARNING: Could not get the program name for a cubeb stream.: 'NS_SUCCEEDED(rv)', file /Users/michaelkaply/Projects/mozilla-release/dom/media/CubebUtils.cpp, line 351
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/global/intl.properties
++DOMWINDOW == 3 (0x10a77f400) [pid = 78663] [serial = 3] [outer = 0x104960c00]
JavaScript error: resource://gre/modules/Schemas.jsm, line 1181: Error: Internal error: Namespace study has invalid type property "defaultReturn" in type "{"defaultReturn":{"firstRunTimestamp":1523968204184,"variation":"styleA"},"name":"onReady","parameters":[{"name":"studyInfo","type":"object"}],"type":"function"}"
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/global/css.properties
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/global/xbl.properties
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/global/xul.properties
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/global/layout_errors.properties
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/global/layout/HtmlForm.properties
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/global/printing.properties
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/global/dom/dom.properties
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/global/layout/htmlparser.properties
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/global/svg/svg.properties
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/global/commonDialogs.properties
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/global/mathml/mathml.properties
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/global/security/security.properties
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/necko/necko.properties
2018-09-07 07:55:53.349 plugin-container[78663:11014941] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x9037, name = 'com.apple.tsm.portname'
See /usr/include/servers/bootstrap_defs.h for the error codes.
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/browser/chrome/zh-CN/locale/branding/brand.properties
[Child 78664, Main Thread] WARNING: Could not get the program name for a cubeb stream.: 'NS_SUCCEEDED(rv)', file /Users/michaelkaply/Projects/mozilla-release/dom/media/CubebUtils.cpp, line 351
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/global/css.properties
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/global/xbl.properties
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/global/xul.properties
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/global/layout_errors.properties
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/global/layout/HtmlForm.properties
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/global/printing.properties
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/global/dom/dom.properties
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/global/layout/htmlparser.properties
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/global/svg/svg.properties
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/global/commonDialogs.properties
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/global/mathml/mathml.properties
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/global/security/security.properties
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/necko/necko.properties
2018-09-07 07:55:54.107 plugin-container[78664:11015008] *** CFMessagePort: bootstrap_register(): failed 1100 (0x44c) 'Permission denied', port = 0x8733, name = 'com.apple.tsm.portname'
See /usr/include/servers/bootstrap_defs.h for the error codes.
--DOMWINDOW == 6 (0x12734a000) [pid = 78662] [serial = 6] [outer = 0x0] [url = about:blank]
1536324982000	addons.xpi-utils	DEBUG	Starting async load of XPI database /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions.json
1536324982001	addons.xpi-utils	DEBUG	Finished async read of XPI database, parsing...
1536324982009	addons.xpi-utils	DEBUG	Successfully read XPI database
1536324982052	addons.xpi-utils	WARN	Add-on abb-acer@amazon.com is not correctly signed.
1536324982054	addons.xpi-utils	WARN	Add-on partnerdefaults@mozilla.com is not correctly signed.
--DOMWINDOW == 2 (0x10a770400) [pid = 78663] [serial = 2] [outer = 0x0] [url = about:blank]
1536324982155	addons.xpi-utils	DEBUG	XPI Database saved, setting schema version preference to 27
Chrome file doesn't exist: /Users/michaelkaply/Projects/mozilla-release/obj-x86_64-apple-darwin16.7.0/tmp/profile-default/extensions/chrome/zh-CN/locale/zh-CN/global/intl.properties
(Assignee)

Updated

8 months ago
Component: General → Add-ons Manager
Product: Firefox → Toolkit
The current theory is that we're not properly handling updates from unpacked to packed extensions (specifically, we're not updating the addon's path property in XPIStates which is stored on disk in addonStartup.json.lz4).
The only hitch is that mkaply reports this is intermittent (ie, sometimes he's able to update to a packed langpack successfully).

I'll write a quick patch for the issue described above, adding a test will take a bit longer.
(Assignee)

Comment 12

8 months ago
The reason this is distro specific is because distros moved from legacy to WebExtensions but didn't switch to packing their extensions.

In the real world, a WebExtension can never be unpacked.
Posted patch first patch (untested) (obsolete) — Splinter Review

Updated

8 months ago
Assignee: nobody → aswan
Status: NEW → ASSIGNED
I didn't actually mean to assign myself, thanks bzexport
Assignee: aswan → nobody
Status: ASSIGNED → NEW
(Assignee)

Updated

8 months ago
Assignee: nobody → mozilla
(Assignee)

Comment 16

8 months ago
The intermittency seems related to other addons being installed as well (maybe system addons or shield addons).

So the correct way to recreate is to let the browser sit for a bit and everything seems to get updated except for the language pack.

Then close. Then restart. Then update language pack.

In my case, once "User search study 1.8.2 search-nudges@shield.mozilla.org" comes in, I restart the browser and then update the language pack and it fails.
(Assignee)

Comment 17

8 months ago
Hurray, recreation scenario.

Setup a Firefox 58 and a Firefox 62 as both being Acer builds using distribution info.
Start Firefox 58
Close Firefox 58.
Start Firefox 62
Wait for full startup.
Close Firefox 62
Start Firefox 62. 
Right click, update Language pack.
Close Firefox 62
Open Firefox 62 - bricked.

The key is closing it once before you update the language pack.
Comment on attachment 9008143 [details]
Bug 1488934. Handle unpacked to packed migration.

Kris Maglione [:kmag] has approved the revision.
Attachment #9008143 - Flags: review+
(Assignee)

Comment 19

8 months ago
OK, here's complete information on how to create.

You need a copy of Firefox 58 and a copy of Firefox 62. The reason it has to be 58 is because that's the langpack in this distribution.zip.

For both 58 and 62, unzip the attached distribution directory where the EXE is on Windows or in Firefox.app/Contents/Resources on Mac.

You must put the distribution directory in both installs.

Start Firefox 58. Verify that it is in Chinese.

Close Firefox 58.

Start Firefox 62 with the same profile you used for 58. You should see a yellow information bar at the top about add-ons being disabled.

Close Firefox 62.

Start Firefox 62.

Go to about:addons

Click on Languages

Right click on the zh-CN langpack and select Find Updates.

After the update is complete, restart the browser.

You should get the yellow screen.
Attachment #9007069 - Attachment is obsolete: true
Attachment #9007078 - Attachment is obsolete: true
Attachment #9007085 - Attachment is obsolete: true
Attachment #9007329 - Attachment is obsolete: true

Comment 20

8 months ago
Pushed by mozilla@kaply.com:
https://hg.mozilla.org/integration/autoland/rev/34aa201bb6a8
Handle unpacked to packed migration. r=kmag
Now that is is fully understood, are there any other partners we should be blocking updates for ?
(Assignee)

Comment 22

8 months ago
(In reply to Nick Thomas [:nthomas] (UTC+12) from comment #21)
> Now that is is fully understood, are there any other partners we should be
> blocking updates for ?

Luckily no.

The other partners that have this problem distribute updates to their add-ons, so they would have already received packed updates.

I've already packed their add-ons for future distributions.

The main reason this was a problem was the langpacks because they don't get updated until the browser is updated.

Comment 23

8 months ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/34aa201bb6a8
Status: NEW → RESOLVED
Last Resolved: 8 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla64
(Assignee)

Comment 24

8 months ago
Comment on attachment 9008143 [details]
Bug 1488934. Handle unpacked to packed migration.

Approval Request Comment
[Feature/Bug causing the regression]: Unpacked extension removal.
[User impact if declined]: In certain cases, unpacked extensions won't be migrated to packed extensions and Firefox is unusable.
[Is this code covered by automated tests?]: No
[Has the fix been verified in Nightly?]: No
[Needs manual test from QE? If yes, steps to reproduce]: In bug
[List of other uplifts needed for the feature/fix]: None
[Is the change risky?]: No
[Why is the change risky/not risky?]: Straightforward one line fix.
[String changes made/needed]:
Attachment #9008143 - Flags: approval-mozilla-release?
Attachment #9008143 - Flags: approval-mozilla-beta?
Flags: qe-verify+
Comment on attachment 9008143 [details]
Bug 1488934. Handle unpacked to packed migration.

Approved for 63 beta 6 as we need to make sure the issue is fixed before uplifting it to release
Attachment #9008143 - Flags: approval-mozilla-beta? → approval-mozilla-beta+

Comment 27

7 months ago
I think there is a missing step in Comment 19. I copied the Distribution folder in the Path where the exe is and the language is not changing. Can you please help me out with that?
Flags: needinfo?(mozilla)
Try setting intl.locale.requested in about:config to zh-CN to enable Chinese.
(Assignee)

Comment 29

7 months ago
The language is set in distribution.ini.

Make sure you are creating a new profile. Distribution.ini is cached, so if you copy over the distribution directory and use an existing profile, it won't be read.

Do you see the zh-CN langpack in about:Addons?
Flags: needinfo?(mozilla)

Comment 30

7 months ago
I created intl.locale.requested preference set to zh-CN and opened a new profile after I copied the distribution.ini, but unfortunately still didn't succeed. I searched in about:addons and did not found any language pack. Am I missing something?
(Assignee)

Comment 31

7 months ago
The language pack should get installed if you create a new profile and have copied the distribution.ini information.
(Assignee)

Comment 32

7 months ago
We're not going to be able to verify this on beta.

We need to old langpack to update to a new langpack in order to recreate, but beta langpacks don't update because they aren't on AMO.

So we can't build a recreation scenario for this.
Comment on attachment 9008143 [details]
Bug 1488934. Handle unpacked to packed migration.

dot release driver for 62.0.2, approved for uplift to m-r.
Attachment #9008143 - Flags: approval-mozilla-release? → approval-mozilla-release+

Comment 35

7 months ago
I didn't manage to reproduce this issue on Firefox 62.0.2, Windows 10 neither. 

I tried the same steps from Comment 19, but instead of using the distribution folder attachment I downloaded the language pack from https://addons.mozilla.org/en-US/firefox/ and didn't manage to reproduce.

Is there another way of reproducing this on 62 or content from Comment 32 is true for 62 also?

Updated

7 months ago
Flags: needinfo?(mozilla)
(Assignee)

Comment 36

7 months ago
To reproduce this, you have to move from an unpacked language pack to a language pack, and it has to be unpacked in the distribution directory.
Flags: needinfo?(mozilla)
I managed to reproduce in Windows 10 with the steps in comment 19, but I'll detail them here:
1. Download Firefox Release v58.0 x32.
2. Apply the acer distribution folder to the build:
   a. Copy the distribution folder into the browser's build folder.
   b. Modify the distribution.ini file from the distribution folder as follow:
     - general.useragent.locale="en-US" ->to-> general.useragent.locale="zh-CN"
     - intl.locale.requested="en-US"    ->to-> intl.locale.requested="zh-CN"
3. Open Firefox v58.0 using a profile that you will remember.
4. Notice that the language used is Chinese.
5. Close Firefox 58.
6. Start Firefox v62.0 with the same profile used in Firefox 58.
7. Notice the yellow information bar at the top, notifying the user that an add-on is disabled.
8. Close Firefox 62.
9. Start Firefox 62 again.
10. Go to about:addons, languages section.
11. Update the Chinese language pack.
12. Restart browser.
Actual: A yellow screen is displayed as Firefox did not start as expected.
Expected: Firefox starts normally.

I have managed to reproduce it with Firefox Release v85.0 and v62.0. How should I proceed in order to verify it?
Flags: needinfo?(mozilla)
I have repeated the steps above with Firefox Release v58.0 and Firefox Release v62.0.3. The issue is verified in the latest release version of Firefox. The browser started normally after step 12 and the Chinese language was applied correctly.

Considering all the above, I am setting the firefox62 tag as verified and I am removing the qe-verify tag.
@Kaply: Please set the bug's general status as verified if this verification is sufficient. 
If not, please provide more details on how we could verify the fix in firefox63 and firefox64.
Flags: qe-verify+
Wouldn't the same STR apply for the Fx63 RC build? Not sure about 64, though.
Considering comment 32, I think not. Maybe for firefox64, in which case the STR would definitely not apply.
Considering that Mike Kaply is on PTO at the moment, is there anyone else that could have an opinion about this?
(Assignee)

Comment 41

6 months ago
This is perfect.
Status: RESOLVED → VERIFIED
Flags: needinfo?(mozilla)
You need to log in before you can comment on or make changes to this bug.