Read-only Git mirror of the Mercurial gecko repositories at https://hg.mozilla.org. How to contribute: https://firefox-source-docs.mozilla.org/contributing/contribution_quickref.html
Find a file
James Teh 0e7d0f1dd8 Bug 1888298: If shutdown of the accessibility service is triggered by a document shutting down, shut down the service asynchronously. r=nlapre
When DocAccessibles shut down, they shut down their child documents.
However, shutting down a document can result in shutting down the accessibility service if XPCOM is the only consumer and there are no more cached XPCOM documents.
If this is triggered by a child document, the service will shut down while the parent document is still shutting down, resulting in reentry and a crash.
In bug 1690456, code was added to prevent shutting down the service for a document with a parent.
However, this doesn't address "hanging child documents"; i.e. documents which currently have no parent because their OuterDocAccessible is being destroyed/recreated.

Rather than trying to avoid this specific case and given that we've hit reentry problems here twice before now (bug 1330765 and bug 1690456), I've taken a completely different approach.
Whenever shutdown of the service is triggered by a document shutdown, we now shut down the service asynchronously by dispatching a runnable.
This ensures that the service can't be shut down while shutting down a document.
We do this for both local and remote documents, since although we've never seen this for remote documents, I think this is safer.

In addition:

1. DocAccessible::Shutdown now has a diagnostic assert to hopefully detect such reentry should it occur again in future, making it much easier to debug.
2. Functions related to this have been refactored slightly for readability and consistency.

Differential Revision: https://phabricator.services.mozilla.com/D238143
2025-02-19 03:23:42 +00:00
.cargo Bug 1947780 - build(webgpu): update WGPU to 723abcb1d3d182f9a4bf973f02c6da39a4090f23 r=webgpu-reviewers,supply-chain-reviewers,nical 2025-02-18 21:28:29 +00:00
.github/workflows
.vscode
accessible Bug 1888298: If shutdown of the accessibility service is triggered by a document shutting down, shut down the service asynchronously. r=nlapre 2025-02-19 03:23:42 +00:00
browser Backed out 2 changesets (bug 1947607, bug 1948925) for causing sidebar related bc failures CLOSED TREE 2025-02-19 04:32:59 +02:00
build Backed out changeset 69a3fe71def3 (bug 1947388) for causing py3 failures @ test_mobile_android CLOSED TREE 2025-02-18 18:38:33 +02:00
caps
chrome
config
devtools Bug 1947777 - [devtools] Prevent crashing devtools when a browser element has no active document running. r=devtools-reviewers,nchevobbe 2025-02-18 22:59:36 +00:00
docs Bug 1921095 - set up tests for stylelint-plugin-mozilla r=frontend-codestyle-reviewers,Standard8 2025-02-18 13:55:11 +00:00
docshell Bug 1945252 - Part 1: Use the GeckoView ExternalHelperAppService on iOS, r=glandium 2025-02-18 21:19:18 +00:00
dom Bug 1921084 - feat(webgpu): wire up WGPU's WGSL lang. features to DOM r=webgpu-reviewers,teoxoy 2025-02-19 02:41:39 +00:00
editor Bug 1948527 - Get rid of EditorBase::DeleteSelectionWithTransaction because of used only by TextEditor r=m_kato 2025-02-18 22:34:41 +00:00
extensions
gfx Bug 1921084 - feat(webgpu): wire up WGPU's WGSL lang. features to DOM r=webgpu-reviewers,teoxoy 2025-02-19 02:41:39 +00:00
gradle/wrapper
hal
image
intl Backed out changeset 6a6f56d7cd12 (bug 1947875) for causing gtest failures @AppDateTimeFormat. 2025-02-17 13:44:43 +02:00
ipc Bug 1948736 - Move the global impending shutdown flag to AppShutdown. r=xpcom-reviewers,emilio 2025-02-18 08:18:58 +00:00
js Bug 1948119 - Reword JSMSG_TEMPORAL_MISSING_TEMPORAL_FIELDS error message; r=dminor 2025-02-18 20:07:54 +00:00
layout Bug 1947223 - Bail out from ScrollFrameIntoVisualViewport if the given position:fixed element is outside of the viewport. r=dlrobertson 2025-02-19 01:20:15 +00:00
media Bug 1948436 - Update opus to c79a9bd1dd2898cd57bb793e037d58c937555c2c r=kinetik 2025-02-16 22:40:13 +00:00
memory
mfbt Bug 1948068 - Make ChaosFeature an enum class. r=nika 2025-02-18 18:35:29 +00:00
mobile no bug - Import translations from android-l10n r=release a=l10n CLOSED TREE 2025-02-19 00:19:02 +00:00
modules Bug 1945252 - Part 3: Make some preferences in StaticPrefList.yaml mobile-specific instead of android-specific, r=glandium 2025-02-18 21:19:19 +00:00
mozglue
netwerk Bug 1937367 - Extra proxy logging r=necko-reviewers,kershaw 2025-02-17 17:35:12 +00:00
nsprpub
other-licenses
parser
python Backed out changeset 86f04c8644c2 (bug 1945020) for causing build bustages CLOSED TREE 2025-02-18 14:09:26 +02:00
remote Bug 1948853 - [remote] Skip NavigationManager events from replaced browsing contexts r=webdriver-reviewers,whimboo 2025-02-18 22:36:13 +00:00
security Bug 1945985 - rsclientcerts: only search for new objects when the platform is actually looking for client auth certs r=jschanck 2025-02-18 19:26:59 +00:00
services Bug 1927808: Profiles should remain disabled if BlockAboutProfiles enterprise policy is active. r=mkaply,profiles-reviewers,firefox-desktop-core-reviewers ,Gijs,jhirsch 2025-02-18 11:28:15 +00:00
servo Bug 1946679 - Expose and rename style::value::specified::gecko::IntersectionObserverRootMargin. r=emilio 2025-02-18 09:54:14 +00:00
startupcache
storage
supply-chain Bug 1947780 - build(webgpu): update WGPU to 723abcb1d3d182f9a4bf973f02c6da39a4090f23 r=webgpu-reviewers,supply-chain-reviewers,nical 2025-02-18 21:28:29 +00:00
taskcluster Bug 1943775 - Create a performance test for DoH TRRs r=sparky,necko-reviewers,perftest-reviewers,valentin 2025-02-18 21:32:06 +00:00
testing Bug 1949066 - test(webgpu): add missing expected outcomes for webgpu:api,validation,encoding,cmds,render,dynamic_state:* 2025-02-19 03:05:11 +00:00
third_party Bug 1947780 - build(webgpu): update WGPU to 723abcb1d3d182f9a4bf973f02c6da39a4090f23 r=webgpu-reviewers,supply-chain-reviewers,nical 2025-02-18 21:28:29 +00:00
toolkit Bug 1948664 - Add Bugzilla component information for the UniFFI bindings files. r=bdk 2025-02-18 22:03:11 +00:00
tools Bug 1946446 - Update about:rights r=geckoview-reviewers,desktop-theme-reviewers,fluent-reviewers,dao,flod,m_kato,sessionstore-reviewers,Gijs,nsharpley 2025-02-18 18:27:15 +00:00
uriloader Bug 1945252 - Part 1: Use the GeckoView ExternalHelperAppService on iOS, r=glandium 2025-02-18 21:19:18 +00:00
view
widget Bug 1945252 - Part 11: Improve GfxInfo shimming on iOS, r=mstange 2025-02-18 21:19:22 +00:00
xpcom Bug 1945252 - Part 12: Recover from sysctlbyname failure in nsAvailableMemoryWatcher, r=haik 2025-02-18 21:19:23 +00:00
xpfe/appshell
.arcconfig
.babel-eslint.rc.js
.clang-format
.clang-format-ignore
.cron.yml
.eslintrc-ignores.js
.eslintrc-rollouts.js
.eslintrc-test-paths.js
.eslintrc.js
.git-blame-ignore-revs
.gitattributes
.gitignore Bug 1921095 - set up tests for stylelint-plugin-mozilla r=frontend-codestyle-reviewers,Standard8 2025-02-18 13:55:11 +00:00
.hg-annotate-ignore-revs
.hgignore Bug 1921095 - set up tests for stylelint-plugin-mozilla r=frontend-codestyle-reviewers,Standard8 2025-02-18 13:55:11 +00:00
.hgtags
.lando.ini
.lldbinit
.mailmap
.prettierignore
.prettierrc.js
.rstcheck.cfg
.stylelintignore
.stylelintrc.js
.taskcluster.yml
.trackerignore
.yamllint
.ycm_extra_conf.py
aclocal.m4
AUTHORS
build.gradle
Cargo.lock Bug 1947780 - build(webgpu): update WGPU to 723abcb1d3d182f9a4bf973f02c6da39a4090f23 r=webgpu-reviewers,supply-chain-reviewers,nical 2025-02-18 21:28:29 +00:00
Cargo.toml Backed out changeset 86f04c8644c2 (bug 1945020) for causing build bustages CLOSED TREE 2025-02-18 14:09:26 +02:00
client.mk
client.py
CLOBBER
configure
configure.py
GNUmakefile
gradle.properties
gradlew
gradlew.bat
LICENSE
mach
mach.cmd
mach.ps1
Makefile.in Backed out changeset afe2ba0f432e (bug 1947164) for causing py3 failures @ test_faster_make 2025-02-18 19:09:52 +02:00
mots.yaml
moz.build
moz.configure
mozilla-config.h.in
old-configure.in
package-lock.json
package.json
pyproject.toml
README.txt
settings.gradle
substitute-local-geckoview.gradle
test.mozbuild

An explanation of the Firefox Source Code Directory Structure and links to
project pages with documentation can be found at:

    https://firefox-source-docs.mozilla.org/contributing/directory_structure.html

For information on how to build Firefox from the source code and create the patch see:

    https://firefox-source-docs.mozilla.org/contributing/contribution_quickref.html

If you have a question about developing Firefox, and can't find the solution
on https://firefox-source-docs.mozilla.org/, you can try asking your question on Matrix at chat.mozilla.org in `Introduction` (https://chat.mozilla.org/#/room/#introduction:mozilla.org) channel.


Nightly development builds can be downloaded from:

    https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central/
            - or -
    https://www.mozilla.org/firefox/channel/desktop/#nightly

Keep in mind that nightly builds, which are used by Firefox developers for
testing, may be buggy.