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
Перейти к файлу
Bill McCloskey 9862d9c932 Bug 1359245 - Remove some tracing callbacks at shutdown (r=mccr8)
When we just had CycleCollectedJSContext (and no CycleCollectedJSRuntime) a
weird thing happened at shutdown:
1. We would call JS_DestroyContext from ~CycleCollectedJSContext. By that time,
   the ~XPCJSContext destructor had already finished.
2. Destroying the context runs a final GC. That GC would call back into various
   GC callbacks, such as TraceBlackJS and TraceGrayJS.
3. These callbacks would do a virtual method call:
   http://searchfox.org/mozilla-central/rev/876c7dd30586f9c6f9c99ef7444f2d73c7acfe7c/xpcom/base/CycleCollectedJSRuntime.cpp#791
4. Normally this method call would call into
   XPCContext::TraceNativeBlackRoots. However, C++ changes the vtable for an
   object during destruction. So we would only call CycleCollectedJSContext's
   version of TraceNativeBlackRoots, which is empty. So we never traced anything.

When I moved this code into the runtime, we actually do call into
XPCJSRuntime::TraceNativeBlackRoots at that time. So the behavior changed, and
that was causing crashes once I nulled out the TLS as you asked. So I removed
these callbacks for the last GC.

MozReview-Commit-ID: 3do13bjpwQj
2017-04-27 15:34:46 -07:00
.cargo
.vscode Bug 1341585 - Ignore Visual Studio Code workspace settings and add a recommended extensions file. r=gps,jya 2017-02-22 12:57:57 +01:00
accessible Bug 1310056: Compatibility hack for mitigating RPC_E_CANTCALLOUT_ININPUTSYNCCALL; r=davidb 2017-04-20 15:30:28 -06:00
addon-sdk Backed out changeset 88c2a0b2dde5 (bug 1319111) for crashing Talos. r=backout 2017-04-28 00:16:39 +02:00
browser Backed out changeset 88c2a0b2dde5 (bug 1319111) for crashing Talos. r=backout 2017-04-28 00:16:39 +02:00
build Merge m-c to inbound, a=merge 2017-04-27 13:29:07 -07:00
caps Bug 1344170: set firstPartyDomai on blob: URI. r=smaug 2017-04-24 14:12:03 +08:00
chrome Backed out changeset 88c2a0b2dde5 (bug 1319111) for crashing Talos. r=backout 2017-04-28 00:16:39 +02:00
config Bug 1358597 - always make Cargo verbose in automation; r=ted.mielczarek 2017-04-21 22:25:59 -04:00
db Bug 1352260 - Upgrade to SQLite 3.18.0. r=mak 2017-04-01 15:08:18 -04:00
devtools Backed out changeset 88c2a0b2dde5 (bug 1319111) for crashing Talos. r=backout 2017-04-28 00:16:39 +02:00
docshell Backed out changeset 88c2a0b2dde5 (bug 1319111) for crashing Talos. r=backout 2017-04-28 00:16:39 +02:00
dom Bug 1359245 - Get rid of CycleCollectedJSRuntime::MainContext (r=mccr8) 2017-04-27 15:34:46 -07:00
editor Backed out changeset 1f9d0f8e65b9 (bug 1351548) 2017-04-26 13:13:05 +02:00
embedding Bug 1356569 - Remove notifyObservers' last parameter when it is falsy, r=jaws. 2017-04-14 21:51:39 +02:00
extensions Bug 1355608 - Part 1: Add tools to nsPermissionManager to await permissions becoming avaliable, r=baku 2017-04-27 13:41:13 -04:00
gfx Make PLayerTransaction's constructor async. (bug 1350634, ipc_r=billm, r=mattwoodrow,kats) 2017-04-26 10:32:57 -07:00
gradle/wrapper
hal Bug 1357323 - Remove the gonk code that was referenced by the build system. r=gps 2017-04-18 17:46:39 +09:00
image Bug 1359415 - move threadsafety checks inside nsAutoOwningThread; r=erahm 2017-04-26 11:41:32 -04:00
intl Bug 1358275 - Preliminary cleanup: refactor nsTextFragment::UpdateBidiFlag(), moving its logic into nsBidiUtils function HasRTLChars() and making that function more precise in the process. r=dholbert 2017-04-26 23:25:48 +01:00
ipc Make PLayerTransaction's constructor async. (bug 1350634, ipc_r=billm, r=mattwoodrow,kats) 2017-04-26 10:32:57 -07:00
js Bug 1359245 - Remove some tracing callbacks at shutdown (r=mccr8) 2017-04-27 15:34:46 -07:00
layout Merge m-c to inbound, a=merge 2017-04-27 13:29:07 -07:00
media Merge m-c to inbound, a=merge 2017-04-27 13:29:07 -07:00
memory Bug 1334286 - use MOZ_FORMAT_PRINTF in DMD; r=njn 2017-04-21 15:54:05 -06:00
mfbt Backed out changeset 19ea645f562e (bug 1357799) on request 2017-04-27 15:09:53 +02:00
mobile Backed out changeset 88c2a0b2dde5 (bug 1319111) for crashing Talos. r=backout 2017-04-28 00:16:39 +02:00
modules Merge autoland to central, a=merge 2017-04-27 12:44:03 -07:00
mozglue Merge inbound to central, a=merge CLOSED TREE 2017-04-26 17:30:31 -07:00
netwerk Backed out changeset 88c2a0b2dde5 (bug 1319111) for crashing Talos. r=backout 2017-04-28 00:16:39 +02:00
nsprpub Bug 1358466 - Define pt_sendto only on Linux and fix comments. r=mcmanus 2017-04-24 17:32:23 +02:00
other-licenses Bug 1345530 - add BUG_COMPONENT to other-licenses/* files. r=tbsaunde, mhowell, overholt 2017-04-05 08:31:10 -04:00
parser Backed out changeset 1f9d0f8e65b9 (bug 1351548) 2017-04-26 13:13:05 +02:00
probes Bug 1344878 - add BUG_COMPONENT to probes/* files. r=Ms2ger 2017-03-24 09:50:48 -04:00
python Merge m-c to inbound, a=merge 2017-04-27 13:29:07 -07:00
rdf Bug 1353143 - Part 5: Replace direct usage of PR_LogPrint. r=froydnj 2017-04-04 14:36:21 -07:00
security Merge autoland to central, a=merge 2017-04-27 12:44:03 -07:00
services Backed out changeset 88c2a0b2dde5 (bug 1319111) for crashing Talos. r=backout 2017-04-28 00:16:39 +02:00
servo servo: Merge #16624 - stylo: Make border-spacing animatable (from chenpighead:stylo-make-border-spacing-animatable); r=boris 2017-04-27 09:33:20 -05:00
startupcache Bug 1024669 - Part 1: Annotate crash reports with thread names. r=gsvelto 2017-02-07 18:57:23 +08:00
storage Bug 1334278 - change mozilla::Smprintf to return a UniquePtr; r=froydnj 2017-03-03 08:17:27 -07:00
taskcluster Merge inbound to central, a=merge CLOSED TREE 2017-04-26 17:30:31 -07:00
testing Backed out changeset 88c2a0b2dde5 (bug 1319111) for crashing Talos. r=backout 2017-04-28 00:16:39 +02:00
third_party/rust Merge m-c to graphics 2017-04-25 08:32:48 -04:00
toolkit Backed out changeset 88c2a0b2dde5 (bug 1319111) for crashing Talos. r=backout 2017-04-28 00:16:39 +02:00
tools Merge inbound to central, a=merge 2017-04-27 13:00:07 -07:00
uriloader Bug 1355585 - Streamline the format of "handlers.json", align the implementation, and reorganize tests. r=mak 2017-04-24 11:29:46 +01:00
view Bug 1354933. Assert that the frame pointer is null in the nsView destructor. r=mats 2017-04-18 18:17:35 -05:00
widget Make PLayerTransaction's constructor async. (bug 1350634, ipc_r=billm, r=mattwoodrow,kats) 2017-04-26 10:32:57 -07:00
xpcom Bug 1359245 - Remove some tracing callbacks at shutdown (r=mccr8) 2017-04-27 15:34:46 -07:00
xpfe Merge inbound to m-c a=merge 2017-04-25 13:53:00 -07:00
.clang-format
.clang-format-ignore Bug 1341423 - Integrate OpenVR binding library r=daoshengmu 2017-02-27 16:59:30 -08:00
.clang-tidy
.cron.yml Bug 1357867 - Land in progress OSX cross compile nightly support. r=dustin 2017-04-18 09:36:27 -04:00
.eslintignore Bug 1359541 - Enable eslint on mobile/android/tests; r=standard8,snorp 2017-04-27 07:52:58 -06:00
.eslintrc.js Bug 1358050: Add no-implied-eval rule to eslint config r=standard8 2017-04-20 10:33:22 +02:00
.flake8
.gdbinit
.gdbinit_python
.gitignore Bug 1359427 - Hide top-level gecko.log from VCSes; r=gps 2017-04-25 15:30:38 +01:00
.hgignore Bug 1359427 - Hide top-level gecko.log from VCSes; r=gps 2017-04-25 15:30:38 +01:00
.hgtags No bug - Tagging mozilla-central 6583496f169cd8a13c531ed16e98e8bf313eda8e with FIREFOX_AURORA_54_BASE a=release DONTBUILD CLOSED TREE 2017-03-06 23:43:32 +01:00
.inferconfig Bug 1357629 - Add httpclientandroidlib to .inferconfig ignore list r=nalexander,njpark 2017-04-18 20:05:25 -07:00
.lldbinit
.taskcluster.yml Bug 591688 - Notify when decision task fails r=dustin,gps 2017-04-12 21:01:46 -07:00
.ycm_extra_conf.py
AUTHORS Bug 1349980 - update task generation to support -g in try syntax for running OS X tasks in generic-worker,r=dustin 2017-04-06 18:50:41 +02:00
Android.mk
CLOBBER Bug 1356927 followup, touch CLOBBER for Mac ranlib change 2017-04-18 18:50:48 -07:00
GNUmakefile
LEGAL
LICENSE
Makefile.in bug 1355961 - add some sccache stats to build_metrics. r=gps 2017-04-12 15:06:22 -04:00
README.txt Bug 1349108 - Update links in README.txt to HTTPS r=RyanVM 2017-03-21 00:11:02 -04:00
aclocal.m4
build.gradle
client.mk
client.py
configure.in
configure.py Bug 1316140 - Allow use of multiprocessing from config.status on windows. r=mshal 2016-12-21 16:28:28 -08:00
gradle.properties
gradlew
mach Bug 1316140 - Allow use of multiprocessing from config.status on windows. r=mshal 2016-12-21 16:28:28 -08:00
moz.build Bug 1262241 - Move the definition of the js library to a subdirectory. r=mshal 2017-04-04 11:43:14 +09:00
moz.configure Bug 1355584 Make NSIS an optional requirement for MINGW builds r=glandium 2017-04-12 11:21:13 -05:00
mozilla-config.h.in
npm-shrinkwrap.json Bug 1355776 - Upgrade ESLint to version 3.19.0 to pick up autofix improvements and other fixes. r=mossop 2017-04-12 12:07:01 +01:00
old-configure.in Bug 1353541 Fix rustc in MinGW build r=froydnj,ted 2017-04-26 12:08:59 -05:00
package.json Bug 1355776 - Upgrade ESLint to version 3.19.0 to pick up autofix improvements and other fixes. r=mossop 2017-04-12 12:07:01 +01:00
settings.gradle
test.mozbuild

README.txt

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

    https://developer.mozilla.org/en/Mozilla_Source_Code_Directory_Structure

For information on how to build Mozilla from the source code, see:

    https://developer.mozilla.org/en/docs/Build_Documentation

To have your bug fix / feature added to Mozilla, you should create a patch and
submit it to Bugzilla (https://bugzilla.mozilla.org). Instructions are at:

    https://developer.mozilla.org/en/docs/Creating_a_patch
    https://developer.mozilla.org/en/docs/Getting_your_patch_in_the_tree

If you have a question about developing Mozilla, and can't find the solution
on https://developer.mozilla.org, you can try asking your question in a
mozilla.* Usenet group, or on IRC at irc.mozilla.org. [The Mozilla news groups
are accessible on Google Groups, or news.mozilla.org with a NNTP reader.]

You can download nightly development builds from the Mozilla FTP server.
Keep in mind that nightly builds, which are used by Mozilla developers for
testing, may be buggy. Firefox nightlies, for example, can be found at:

    https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central/
            - or -
    https://nightly.mozilla.org/