gecko-dev/dom
Doug Thayer 6ca8fd27f5 Bug 1594577 - Record hangs which precede forced shutdowns r=froydnj
In short - if a user forcibly terminates the browser because it seems
to be permanently hung, we currently do not get a change to record the
hang. This is unfortunate, because these likely represent the most
egregious hangs in terms of user frustration. This patch seeks to
address that.

If a hang exceeds 8192ms (the current definition of a "permahang" in
existing BHR terms), then we decide to immediately persist it to disk,
in case we never get a chance to return to the main thread and
submit it. On the next start of the browser, we read the file from
disk on a background thread, and just submit it using the normal
mechanism.

Regarding the handling of the file itself, I tried to do the simplest
thing I could - as far as I can tell there is no standard simple
serialization mechanism available directly to C++ in Gecko, so I just
serialized it by hand. I didn't take any special care with endianness
or anything as I can't think of a situation in which we really care
at all about these files being transferable between architectures. I
directly used PR_Write / PR_Read instead of doing something fancy
like memory mapping the file, because I don't think performance is a
critical concern here and it offers a simple protection against
reading out of bounds.

Differential Revision: https://phabricator.services.mozilla.com/D52566

--HG--
extra : moz-landing-system : lando
2019-11-14 21:35:42 +00:00
..
abort
animation Bug 1576946 - Remove nsStackFrame platform code. r=mats 2019-11-12 19:50:19 +00:00
audiochannel
base Backed out changeset 0478d1bf6e32 (bug 1596209) on request from emilio. CLOSED TREE 2019-11-15 19:11:06 +01:00
battery
bindings Bug 1468789 - Part 1: Add window id inside realm creation options. r=jandem,bzbarsky 2019-11-14 12:26:25 +00:00
broadcastchannel Bug 1594981 - improve BUG_COMPONENT in various moz.build files r=mccr8 2019-11-14 15:44:32 +00:00
browser-element Bug 1584998: Make x-frame-options work with fission enabled. r=jkt,farre,johannh,flod 2019-10-31 08:28:35 +00:00
cache Bug 1591491. Add more use of FakeString::ShareOrDependUpon. r=froydnj 2019-10-28 20:41:59 +00:00
canvas Bug 1593860 - Correct error reporting when createImageBitmap() fails, r=smaug 2019-11-12 17:08:17 +00:00
chrome-webidl Bug 1593487 - tighten up registerWindowActor's handling of nonsensical actor specifications and remove cruft, r=nika,mconley 2019-11-08 11:59:37 +00:00
clients Bug 1583859 - ExecutionReadyPromise should not be exclusive. r=perry 2019-10-23 17:55:38 +00:00
commandhandler Bug 1594981 - update Core::DOM* and Core::Storage* bugzilla product and component meta data in moz.build files after reorganization in bug 1594717. r=annevk 2019-11-08 12:17:57 +00:00
console Bug 1582892. Expose the number of strings in a Web IDL enum in a nice way. r=edgar 2019-10-23 03:54:39 +00:00
credentialmanagement
crypto Bug 1596547 - be more specific in CryptoBuffer::Assign parameter types; r=jcj 2019-11-15 13:12:58 +00:00
debugger
docs Bug 1595048 - move JSWindowActor notes into Fission.rst document, r=mconley 2019-11-08 19:42:02 +00:00
encoding Bug 1586358 - Replace existing instances of GENERATED_FILES with references to the GeneratedFile template r=firefox-build-system-reviewers,mshal 2019-10-07 21:15:19 +00:00
events Bug 1596768 - Remove GetBindingParent usage in EventStateManager. r=smaug 2019-11-15 17:36:13 +00:00
fetch Bug 1593162 - Remove the expired telemetry probes added in bug 1127552; r=edgar 2019-11-01 13:43:15 +00:00
file Bug 1593560 - Make sure IPCBlobInputStream::ReadSegments is always supported, regardless of which inner async stream type gets created. r=baku 2019-11-07 19:02:21 +00:00
filehandle Bug 1594981 - improve BUG_COMPONENT in various moz.build files r=mccr8 2019-11-14 15:44:32 +00:00
filesystem Bug 1585284 - Use nsIGlobalObject in any Blob/File CTOR, r=smaug 2019-10-21 05:33:33 +00:00
flex
gamepad
geolocation Bug 1594306 - Rename nsGeo* files to match the WebIDL interfaces r=marcosc 2019-11-14 04:18:04 +00:00
grid
html Backed out changeset 0f20566c7b2f (bug 1593739) for causing assertion in StateWatching.h CLOSED TREE 2019-11-15 14:07:06 +02:00
imptests Bug 1194860 - Remove dom/imptests; r=jgraham 2019-10-15 08:22:15 +00:00
indexedDB Bug 1168606 - Set flag to invalidate in-flight responses as well. r=asuth 2019-11-14 16:14:02 +00:00
interfaces Bug 1586144 - Factor dynamic toolbar max height into layout metrics. r=emilio,botond 2019-11-14 06:00:05 +00:00
ipc Bug 1594577 - Record hangs which precede forced shutdowns r=froydnj 2019-11-14 21:35:42 +00:00
jsurl Backed out 6 changesets (bug 1552176) for causing Hazard bustages CLOSED TREE 2019-11-11 12:11:36 +02:00
l10n Bug 1593475 - Ensure FluentDOM does not localize elements in template. r=bgrins 2019-11-06 18:18:14 +00:00
locales Bug 1594874, remove xbl.properties and instances r=zbraniecki 2019-11-11 19:31:08 +00:00
localstorage Bug 1594981 - update Core::DOM* and Core::Storage* bugzilla product and component meta data in moz.build files after reorganization in bug 1594717. r=annevk 2019-11-08 12:17:57 +00:00
manifest Bug 1562642 - add missing license in dom/manifest r=sebastian 2019-11-13 08:26:32 +00:00
mathml Bug 1575870. Remove support for XLink on MathML elements. r=emilio 2019-10-05 21:47:38 +00:00
media Bug 1596064 - Remove any access on the database when pref is off. r=jya 2019-11-15 10:59:50 +00:00
messagechannel Bug 1594981 - improve BUG_COMPONENT in various moz.build files r=mccr8 2019-11-14 15:44:32 +00:00
midi
network
notification Bug 1592959 - Warn about non-user interaction Notification requests. r=Ehsan 2019-11-01 09:55:06 +00:00
offline Bug 1575934 - Create the channels used to download and verify appcache entries with the cookie settings belonging to the document which created the appcache; r=baku 2019-10-15 17:32:54 +00:00
payments Bug 1587162 - Fix UBSAN complaints about pref callbacks. r=erahm 2019-11-01 02:57:20 +00:00
performance Bug 1571219 - Refactor PerformanceMeasure to avoid double-reducing timestamps r=baku 2019-10-23 11:42:10 +00:00
permission Bug 1583142 - Remove third-party "persistent-storage" prompting support r=baku 2019-11-07 14:29:02 +00:00
plugins Bug 1470510 - Rename nsXULWindow and nsIXULWindow to AppWindow and nsIAppWindow. r=smaug 2019-11-05 17:56:28 +00:00
power
presentation Backed out 6 changesets (bug 1552176) for causing Hazard bustages CLOSED TREE 2019-11-11 12:11:36 +02:00
prio
promise Bug 1594304. Add deprecation notes to methods that allow throwing a bare nsresult with no useful message. r=smaug 2019-11-14 22:51:21 +00:00
prototype Bug 1593119 - Remove dom/xbl and the MOZ_XBL build option r=bzbarsky 2019-11-07 00:35:32 +00:00
push Bug 1592699 - Fix test_serviceworker_lifetime.html r=asuth 2019-10-30 17:23:53 +00:00
quota Bug 1592204 - P2 - Ignore the unknown files in repositories; r=janv 2019-11-12 07:52:14 +00:00
reporting Bug 1585119 - Re-enable many more mochitests on Android; r=geckoview-reviewers,snorp 2019-10-18 14:35:20 +00:00
res
script Bug 1588899 - P1. Move classification flags related method to nsIClassifiedChannel. r=Ehsan,baku 2019-10-19 04:30:24 +00:00
security Bug 1596421 - Disable eval restrictions if the web extension process is disabled r=ckerschb 2019-11-15 15:36:42 +00:00
serviceworkers Bug 1588975 - Replace ShellExecuteExW with mozilla::ShellExecuteByExplorer. r=aklotz,asuth 2019-11-14 19:47:29 +00:00
simpledb
smil Bug 1587142 - Remove most XBL tests in dom/ r=bzbarsky 2019-10-25 22:38:08 +00:00
storage Bug 1558420 - Part 5: Remove an invalid assertion; r=baku 2019-11-12 15:40:16 +00:00
svg Bug 1596511 - Remove binding parent usage from SVGSVGElement. r=smaug 2019-11-15 10:19:55 +00:00
system Bug 1594306 - Rename nsGeo* files to match the WebIDL interfaces r=marcosc 2019-11-14 04:18:04 +00:00
tests Bug 1580961, disable intermittently failing part of the pointerlock test, leaving the main part that tests the original bug fix, as is, r=Gijs 2019-11-13 14:15:52 +00:00
u2f
url Bug 824857: Support IDL stringifier attributes r=bzbarsky 2019-10-23 04:55:54 +00:00
vr Bug 1592713 - Avoid to update VR HMD sensor states when pages are not in the presenting mode. r=kip 2019-10-31 22:10:43 +00:00
webauthn Bug 1582892. Expose the number of strings in a Web IDL enum in a nice way. r=edgar 2019-10-23 03:54:39 +00:00
webbrowserpersist Bug 1591891 - Make the fix for bug 1536468 work with session history in the parent turned off. r=annyG 2019-10-28 09:46:50 +01:00
webgpu Bug 1594182 - Move wgpu stuff under gfx/wgpu r=jgilbert,remote-protocol-reviewers 2019-11-15 00:29:53 +00:00
webidl Bug 1591892 - Expose {window, self}.crossOriginIsolated r=bzbarsky 2019-11-15 12:25:57 +00:00
websocket Bug 1594981 - improve BUG_COMPONENT in various moz.build files r=mccr8 2019-11-14 15:44:32 +00:00
workers Bug 1468789 - Part 1: Add window id inside realm creation options. r=jandem,bzbarsky 2019-11-14 12:26:25 +00:00
worklet Bug 1593766 relax assertion to handle case of no CycleCollectedJSContext created r=baku 2019-11-06 12:36:41 +00:00
xhr Bug 1594147 - prevent possible null dereference in MaybeDispatchPrematureAbortEvents, r=smaug 2019-11-08 22:28:07 +00:00
xml Bug 1596463 - Remove GetBindingParent usage in the XML pretty printer. r=smaug 2019-11-14 16:41:24 +00:00
xslt Bug 1596768 - Remove GetBindingParentUsage in xpath. r=smaug 2019-11-15 17:09:15 +00:00
xul Bug 1596506 - Remove special-case for <xul:label> accesskey. r=smaug 2019-11-14 22:03:00 +00:00
jar.mn
moz.build Bug 1594907 - Fix some duplicate URL segments in firefox-source-docs, r=sylvestre 2019-11-07 23:07:20 +00:00