Closed Bug 2047449 Opened 4 months ago Closed 4 months ago

Crash in [@ core::option::expect_failed | l10nregistry_ffi::env::impl$2::locales]

Categories

(Thunderbird :: General, defect)

Thunderbird 149
Desktop
All
defect

Tracking

(thunderbird152 affected, thunderbird153? fixed)

RESOLVED FIXED
153 Branch
Tracking Status
thunderbird152 --- affected
thunderbird153 ? fixed

People

(Reporter: welpy-cw, Assigned: welpy-cw)

References

(Regression)

Details

(Keywords: crash, regression, topcrash-thunderbird)

Crash Data

Attachments

(1 file, 1 external file)

Crash report: https://crash-stats.mozilla.org/report/index/1c4ed56c-9afd-4769-ba71-639020260205

MOZ_CRASH Reason:

Failed to retrieve app locales

Top 10 frames:

0  xul.dll  MOZ_Crash(char const*, int, char const*)  mfbt/Assertions.h:375
0  xul.dll  RustMozCrash(char const*, int, char const*)  mozglue/static/rust/wrappers.cpp:18
1  xul.dll  mozglue_static::panic_hook(std::panic::PanicHookInfo*)  mozglue/static/rust/lib.rs:99
2  xul.dll  core::ops::function::FnOnce::call_once(void (*)(std::panic::PanicHookInfo*), ...  /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/function.rs:253
2  xul.dll  core::ops::function::FnOnce::call_once<void (*)(ref$<std::panic::PanicHookInf...  /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/function.rs:80
3  xul.dll  std::panic::PanicHookInfo::new()  library/alloc/src/boxed.rs:1985
3  xul.dll  std::panicking::rust_panic_with_hook()  library/std/src/panicking.rs:841
4  xul.dll  std::panicking::begin_panic_handler::closure$0()  library/std/src/panicking.rs:706
5  xul.dll  std::sys::backtrace::__rust_end_short_backtrace<std::panicking::begin_panic_h...  library/std/src/sys/backtrace.rs:174
6  xul.dll  std::panicking::begin_panic_handler()  library/std/src/panicking.rs:697

During ~nsMsgCopyService() (XPCOM shutdown), ClearRequest() was notifying
listeners of failure. nsMsgFilterAfterTheFact::OnStopCopy() responded by
calling ContinueExecutionPrompt(), which uses mozilla::intl::Localization
(Fluent) to localize a dialog string. The Rust L10nRegistry panics with
"Failed to retrieve app locales" because locale services are already torn
down at this point — a regression from the Fluent migration in bug 2012697.

Null the listener before ClearRequest() in the destructor so no
notification is sent. No useful work can be done by listeners during
teardown anyway.

Assignee: nobody → h.w.forms
Status: NEW → ASSIGNED
Target Milestone: --- → 153 Branch

Pushed by martin@humanoids.be:
https://hg.mozilla.org/comm-central/rev/015a41a5d0af
Don't notify copy service listeners during XPCOM shutdown. r=mkmelin

Status: ASSIGNED → RESOLVED
Closed: 4 months ago
Resolution: --- → FIXED

v153 beta after 10 days has no crashes, which is good but ...

... there is a 30% increase in crashes starting May 26, so apparently starting with 151.0.1.

It may be worth uplifting this patch to 152, so we can see if there's still something left to be fixed for 153. Unless we know of the reason for the increase and know that it is also fixed.

Flags: needinfo?(h.w.forms)
Flags: needinfo?(corey)
Duplicate of this bug: 2051104
Crash Signature: [@ core::option::expect_failed | l10nregistry_ffi::env::impl$2::locales] → [@ core::option::expect_failed | l10nregistry_ffi::env::impl$2::locales] [@ core::option::expect_failed | <l10nregistry_ffi::env::GeckoEnvironment as fluent_fallback::env::LocalesProvider>::locales ]
Flags: needinfo?(h.w.forms)
Flags: needinfo?(corey)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: