Closed Bug 1780403 Opened 2 months ago Closed 2 months ago

Crash investigation for pref synchronization in Nightly

Categories

(Core :: Preferences: Backend, defect)

defect

Tracking

()

RESOLVED FIXED
105 Branch
Tracking Status
firefox-esr91 --- unaffected
firefox-esr102 --- unaffected
firefox102 --- unaffected
firefox103 --- unaffected
firefox104 blocking disabled
firefox105 --- fixed

People

(Reporter: tjr, Assigned: tjr)

References

(Regression)

Details

(Keywords: crash, regression, topcrash)

Crash Data

Attachments

(10 files)

48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review

This bug is to watch for crashes in Nightly and land patches to address things, if needed.

The first and only crash so far is on 'services.settings.preview_enabled' which is a dynamic boolean pref, which means that user had set it to a string.

Summary: Crash investigation for pref syncronization in Nightly → Crash investigation for pref synchronization in Nightly
Component: Printing → Preferences: Backend
Product: Toolkit → Core

We also have someone generating crashes on media.decoder-doctor.MediaPlatformDecoderNotFound.formats which is a dynamic pref that seems to be involved here: https://searchfox.org/mozilla-central/search?q=media.decoder-doctor.&path=&case=false&regexp=false

Keywords: leave-open
Pushed by tritter@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/9ac2887f5514
Allowlist media.decoder-doctor. r=freddyb
Crash Signature: mozilla::Preferences::GetType PrefWrapper::GetValue
Blocks: 1772345
No longer blocks: 1708798
Crash Signature: mozilla::Preferences::GetType PrefWrapper::GetValue → [@ mozilla::Preferences::GetType] [@ PrefWrapper::GetValue]

I found a userchromeJS pref, which we are not going to support; but I tried to let that community know here. https://github.com/xiaoxiaoflood/firefox-scripts/issues/162

It looks like there is an undocumented pdfjs.defaultZoomValue pref that can only be set via about:config and is a string (although it seems like it could be a number?)

Locally, I'm also crashing on browser.region.update.updated. In Visual Studio debugger, I can see quite clearly:

DumpJSStack()
0 XPCU_defineLazyPreferenceGetter(aObject = "[object Object]", aName = ""lastUpdated"", aPreference = ""browser.region.update.updated"", aDefaultValue = "0") ["resource://gre/modules/XPCOMUtils.sys.mjs":289:36]
    this = [object Object]
1 <TOP LEVEL> ["resource://gre/modules/Region.jsm":72:11]
2 get DEFAULT_REGION() ["resource://autofill/FormAutofill.jsm":82:4]
    this = [object Object]
3 _isSupportedRegion(available = ""detect"", supportedCountries = ""US,CA"") ["resource://autofill/FormAutofill.jsm":106:0]
    this = [object Object]
4 get isAutofillAddressesAvailable() ["resource://autofill/FormAutofill.jsm":135:16]
    this = [object Object]
5 get isAutofillAddressesEnabled() ["resource://autofill/FormAutofill.jsm":156:0]
    this = [object Object]
6 get isAutofillEnabled() ["resource://autofill/FormAutofill.jsm":116:4]
    this = [object Object]
7 handleEvent(evt = [cross-compartment wrapper]) ["resource://autofill/FormAutofillChild.jsm":119:12]
    this = [object JSWindowActorChild]

<void>

There's a large list of dynamic preferences in the ui. tree
but none of them should contain personally identifiable data.

Pushed by nalexander@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/0ae4582b58c5
Remove browser.region.update.updated from the blocklist r=nalexander

Tom, this is turning into a top crash for our nightly population this morning, I think that if the patch on autoland doesn't reduce the crash volume, we should back out bug 1772345 while you work on this bug so as that we don't loose users on the channel.

Flags: needinfo?(tom)
Type: task → defect

agibson hit this with Should not access the preference 'browser.uitour.testingOrigins' in the Content Processes.

I've hit this multiple times in debug builds testing Photoshop on the Web; both the update.updated bug and gfx.blacklist.webrtc.hw.acceleration.h264.failureid (and I would assume all or most of the gfx.blacklist prefs are likewise).

I would also take a look at all the prefs in GetPrefNameForFeature() in GfxInfoBase.cpp in conjunction with a gfx person.

Duplicate of this bug: 1780384

(In reply to Pascal Chevrel:pascalc from comment #14)

Tom, this is turning into a top crash for our nightly population this morning, I think that if the patch on autoland doesn't reduce the crash volume, we should back out bug 1772345 while you work on this bug so as that we don't loose users on the channel.

I've submitted a patch to disable it - we've gotten a lot of reports, and while I'm landing fixes as fast as I can, people only get the update so fast. Especially since I'll be away for the weekend, we should turn this off and let the reports die down and land all the fixes we see coming in from the tail of reports from un-updated users.

Unfortunately, we ran the full test test suite and ran an opt-in trial via dev-platform that failed to yield the results we're seeing here. I will take another look at some code patterns these reports surfaced, but when we re-enable it there will probably be another stream of reports. I may need to re-architecture this to use Telemetry Events or possibly some code I had written that was designed to limit a crash to a single instance. (Unfortunately it was parent-process only, so it may not work.)

Flags: needinfo?(tom)

:tjr, since this bug is a regression, could you fill (if possible) the regressed_by field?
For more information, please visit auto_nag documentation.

Flags: needinfo?(tom)

Copying crash signatures from duplicate bugs.

Crash Signature: [@ mozilla::Preferences::GetType] [@ PrefWrapper::GetValue] → [@ mozilla::Preferences::GetType] [@ PrefWrapper::GetValue] [@ PrefWrapper::GetValue(mozilla::PrefValueKind, nsTSubstring<char>&) const]
Pushed by tritter@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/6a54d8487859
Allowlist the ui. pref branch r=emilio
Crash Signature: [@ mozilla::Preferences::GetType] [@ PrefWrapper::GetValue] [@ PrefWrapper::GetValue(mozilla::PrefValueKind, nsTSubstring<char>&) const] → [@ mozilla::Preferences::GetType] [@ PrefWrapper::GetValue] [@ PrefWrapper::GetValue(mozilla::PrefValueKind, nsTSubstring<char>&) const]
Flags: needinfo?(tom)
Regressed by: 1772345

I've pressed the lando button several times in a row on un-attached-but-dependent revisions, but always in the correct landing order, so hopefully it works...

Pushed by tritter@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/70bce5a0540b
Disable pref sanitization in Nightly temporarily r=Gijs
Pushed by tritter@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/a67cf746c61f
Allowlist browser.uitour.testingOrigins r=agibson
https://hg.mozilla.org/integration/autoland/rev/fe97b39c2a97
Allowlist the entire gfx.blacklist pref tree r=gfx-reviewers,jrmuizel
Pushed by tritter@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/ba45504aa0d6
Allowlist some more preferences to avoid crashes r=ckerschb
See Also: → 1780609
Pushed by tritter@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/cbebd35de4a1
Allowlist the undocumented pdfjs.defaultZoomValue pref r=calixte
Duplicate of this bug: 1780435
Pushed by tritter@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/24872f212643
Allowlist capability.policy.policynames r=mkaply
Pushed by tritter@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/78c46fea5a7d
Allowlist a few browser preferences r=ckerschb

Set release status flags based on info from the regressing bug 1772345

Blocks: 1782444

We're not going to do any more work in this bug.

No longer blocks: 1782444
Status: NEW → RESOLVED
Closed: 2 months ago
Resolution: --- → FIXED
Blocks: 1782444
Target Milestone: --- → 105 Branch
You need to log in before you can comment on or make changes to this bug.