fune/dom/ipc
Jamie Nicol 0056a7ee56 Bug 1880503 - Generate paired minidump when GPU process is killed following IPC timeout. r=aosmond,gsvelto
When sync IPC under the top-level PCompositorManager protocol does not
reply within a certain time threshold we purposefully kill the GPU
process. While this allows the user to recover from a stuck GPU
process, we have little visibility about the underlying cause.

This patch makes it so that we generate a paired minidump for the GPU
and parent processes prior to killing the GPU process in
GPUProcessHost::KillHard(). The implementation roughly follows the
equivalent for content processes in ContentParent::KillHard().

As the GPU process can be purposefully killed during normal operation,
and because generating minidumps can be expensive, we are careful to
only do so when the new argument aGenerateMinidump is true. We
additionally remove the aReason argument as it is unused (and
currently innacurate in some places).

As these minidumps may not automatically submitted we limit the
minidumps generation to twice per session in order to avoid
accumulating a large number of unsubmitted minidumps on disk.

Differential Revision: https://phabricator.services.mozilla.com/D202166
2024-05-14 12:58:35 +00:00
..
gtest Bug 1850589 - Migrate worker process selection to use ProcessIsolation as a backend, r=smaug,asuth 2023-09-06 18:48:30 +00:00
jsactor Bug 1889236 - Use TryClone in QueryHandler::ResolvedCallback(). r=nika 2024-04-03 19:57:46 +00:00
tests Bug 1877879 - Add tests for for isActiveInTab. r=smaug 2024-04-08 14:38:32 +00:00
BrowserBridgeChild.cpp Bug 1776339, add a browsing context field that syncs the isUnderHiddenEmbedderElement state, r=emilio 2023-05-31 19:46:49 +00:00
BrowserBridgeChild.h Bug 1776339, add a browsing context field that syncs the isUnderHiddenEmbedderElement state, r=emilio 2023-05-31 19:46:49 +00:00
BrowserBridgeHost.cpp Bug 1814686 - Part 2: Make nsDocShellLoadState not-null, and simplify handling of nsDOMNavigationTiming, r=necko-reviewers,valentin,smaug 2023-03-20 15:40:38 +00:00
BrowserBridgeHost.h
BrowserBridgeParent.cpp Bug 1873035 - Adjust mRefPoint for generated mouse event when sending to content process; r=smaug 2024-01-09 10:31:11 +00:00
BrowserBridgeParent.h Bug 1848357 - Cleanup layer observer handling. r=mconley,gfx-reviewers,bradwerth 2023-09-01 17:09:27 +00:00
BrowserChild.cpp Bug 1895229 - Remove nsIWebBrowserChromeFocus. r=hsivonen,dom-core 2024-05-06 11:30:34 +00:00
BrowserChild.h Bug 1895229 - Remove nsIWebBrowserChromeFocus. r=hsivonen,dom-core 2024-05-06 11:30:34 +00:00
BrowserHost.cpp Bug 1865995 p6. Rename createAboutBlankContentViewer to match nsIDocumentViewer's new name. r=emilio,webdriver-reviewers,devtools-reviewers 2023-11-23 21:35:21 +00:00
BrowserHost.h
BrowserParent.cpp Bug 1892598 - Reuse IPCImage for PBrowser::SetCursor; r=smaug 2024-04-23 06:01:47 +00:00
BrowserParent.h Bug 1892598 - Reuse IPCImage for PBrowser::SetCursor; r=smaug 2024-04-23 06:01:47 +00:00
ClonedErrorHolder.cpp Bug 1866220 - Prevent refcounted non-WrapperCached DOM objects. r=farre,extension-reviewers,rpl 2023-11-24 10:38:18 +00:00
ClonedErrorHolder.h Bug 1866220 - Prevent refcounted non-WrapperCached DOM objects. r=farre,extension-reviewers,rpl 2023-11-24 10:38:18 +00:00
CoalescedInputData.cpp
CoalescedInputData.h
CoalescedMouseData.cpp
CoalescedMouseData.h
CoalescedTouchData.cpp Bug 1887435 - Ensure the isPrimary property of PointerEvent is correctly set for touch input; r=smaug 2024-04-11 21:49:49 +00:00
CoalescedTouchData.h
CoalescedWheelData.cpp
CoalescedWheelData.h
ColorPickerParent.cpp Bug 1846688 - Make ColorPickerShownCallback::mCallback into a RefPtr. r=mccr8 2023-08-14 18:36:40 +00:00
ColorPickerParent.h Bug 1846688 - Make ColorPickerShownCallback::mCallback into a RefPtr. r=mccr8 2023-08-14 18:36:40 +00:00
components.conf
ContentChild.cpp Bug 1889129 - Remove Android codec support probe from content process initialization r=jolin 2024-05-06 19:30:28 +00:00
ContentChild.h Bug 1889129 - Remove Android codec support probe from content process initialization r=jolin 2024-05-06 19:30:28 +00:00
ContentParent.cpp Bug 1880503 - Generate paired minidump when GPU process is killed following IPC timeout. r=aosmond,gsvelto 2024-05-14 12:58:35 +00:00
ContentParent.h Bug 1892231: Add a flag to the page load event indicating whether a webdriver is running. r=smaug 2024-05-09 14:42:16 +00:00
ContentParent_NotifyUpdatedDictionaries.h Backed out changeset ebc075fd132d (bug 1885246) for causing bc failures in /EnumSerializer.h CLOSED TREE 2024-03-23 02:08:24 -04:00
ContentProcess.cpp Bug 1840515 - Step 2: Preload the omnijars in the fork server. r=nika 2023-08-09 21:35:50 +00:00
ContentProcess.h Bug 1799470 - Merge old embedding logic into ContentChild r=nika 2022-12-15 03:06:22 +00:00
ContentProcessManager.cpp
ContentProcessManager.h
CSPMessageUtils.cpp
CSPMessageUtils.h
CustomElementTypes.ipdlh Bug 1556358 - Part 2: Save and restore custom element form data. r=edgar 2023-06-28 04:31:22 +00:00
DocShellMessageUtils.cpp Bug 1538028 - Part 2: Track TriggeringRemoteType through nsDocShellLoadState and LoadInfo, r=smaug,ckerschb,necko-reviewers,valentin 2022-11-29 20:41:45 +00:00
DocShellMessageUtils.h Bug 1865480. Rename nsIContentViewer to nsIDocumentViewer. r=layout-reviewers,emilio 2023-11-21 12:45:59 +00:00
DOMTypes.ipdlh Bug 1781280 - Reuse IPCImage for IPCDataTransferImageContainer; r=nika 2024-04-22 19:09:47 +00:00
EffectsInfo.h Bug 1847929 - Don't throttle zero-size in-viewport OOP iframes. r=smaug 2023-08-10 09:30:02 +00:00
FilePickerMessageUtils.h Bug 1818500 - Fix serialization of nsIFilePicker::Mode. r=ipc-reviewers,mccr8 a=RyanVM 2023-02-23 14:33:57 +00:00
FilePickerParent.cpp Bug 1878401 - part 1 - Pass BrowsingContext to nsIFilePicker::Init instead of mozIDOMWindow r=geckoview-reviewers,win-reviewers,emilio,nika,m_kato,rkraesig 2024-02-28 21:29:37 +00:00
FilePickerParent.h Bug 1878401 - part 1 - Pass BrowsingContext to nsIFilePicker::Init instead of mozIDOMWindow r=geckoview-reviewers,win-reviewers,emilio,nika,m_kato,rkraesig 2024-02-28 21:29:37 +00:00
IdType.h
InProcessChild.h
InProcessImpl.cpp
InProcessParent.h
IPCTransferable.ipdlh Bug 1781280 - Reuse IPCImage for IPCDataTransferImageContainer; r=nika 2024-04-22 19:09:47 +00:00
JSOracleChild.cpp Bug 1826106 - Use JS::FrontendContext in Utility Process. r=sefeng 2023-06-09 11:08:58 +00:00
JSOracleChild.h Bug 1826106 - Use JS::FrontendContext in Utility Process. r=sefeng 2023-06-09 11:08:58 +00:00
JSOracleParent.cpp Bug 1809518 - Recreate JSOracleParent instance when Utility Process crashes r=farre 2023-02-28 19:46:08 +00:00
JSOracleParent.h Bug 1532644 - Implement the initial version of the Javascript Validator for ORB r=farre,smaug 2023-01-09 15:27:18 +00:00
JSValidatorChild.cpp Bug 1857536 - Remove unneeded struct CompilationStorage r=arai 2024-03-11 14:56:01 +00:00
JSValidatorChild.h Bug 1804086 - Make JSValidatorChild decoding the data from other encoding into UTF8 if needed r=smaug 2023-03-22 14:21:40 +00:00
JSValidatorParent.cpp Bug 1276351 - Move away from mozilla::tuple to std::tuple. r=necko-reviewers,sergesanspaille 2023-03-27 07:20:25 +00:00
JSValidatorParent.h Bug 1804086 - Make JSValidatorChild decoding the data from other encoding into UTF8 if needed r=smaug 2023-03-22 14:21:40 +00:00
JSValidatorUtils.cpp Bug 1532644 - Implement the initial version of the Javascript Validator for ORB r=farre,smaug 2023-01-09 15:27:18 +00:00
JSValidatorUtils.h Bug 1532644 - Implement the initial version of the Javascript Validator for ORB r=farre,smaug 2023-01-09 15:27:18 +00:00
LoginDetectionService.cpp Bug 1807618, replace all usage of getAllLogins with the asynchronous version, removing the syncronous version, r=credential-management-reviewers,sync-reviewers,sgalich,skhamis 2023-07-16 20:15:31 +00:00
LoginDetectionService.h
ManifestMessagesChild.sys.mjs Bug 1829617 - Convert (dom/ipc, dom/system, dom/xslt) to ES modules. r=Standard8 2023-05-30 11:01:03 +00:00
MaybeDiscarded.h
MemMapSnapshot.cpp Bug 1855134 - Move existing MOZ_TRY macros to a dedicated header file; r=glandium 2023-09-28 20:46:07 +00:00
MemMapSnapshot.h
MemoryReportRequest.cpp
MemoryReportRequest.h
MemoryReportTypes.ipdlh
MMPrinter.cpp Bug 1886922: Do not dereference a Maybe if it is not Some r=mccr8 2024-03-22 15:32:39 +00:00
MMPrinter.h Bug 1886922: Do not dereference a Maybe if it is not Some r=mccr8 2024-03-22 15:32:39 +00:00
moz.build Backed out changeset ebc075fd132d (bug 1885246) for causing bc failures in /EnumSerializer.h CLOSED TREE 2024-03-23 02:08:24 -04:00
NativeThreadId.h
nsIDOMProcessChild.idl
nsIDOMProcessParent.idl
nsIHangReport.idl Bug 1881863 - Part 1: Standardize on boolean over bool in xpidl, r=xpcom-reviewers,necko-reviewers,valentin,extension-reviewers,application-update-reviewers,media-playback-reviewers,credential-management-reviewers,search-reviewers,anti-tracking-reviewers,places-reviewers,nalexander,emilio,zombie,sgalich,karlt,lina,Standard8 2024-04-04 18:45:21 +00:00
nsILoginDetectionService.idl Bug 1881863 - Part 1: Standardize on boolean over bool in xpidl, r=xpcom-reviewers,necko-reviewers,valentin,extension-reviewers,application-update-reviewers,media-playback-reviewers,credential-management-reviewers,search-reviewers,anti-tracking-reviewers,places-reviewers,nalexander,emilio,zombie,sgalich,karlt,lina,Standard8 2024-04-04 18:45:21 +00:00
PageLoadEventUtils.h Backed out changeset 1ed5eea3a1e1 (bug 1892231) for causing mochitests failures in test_focus.xhtml. 2024-04-26 09:05:08 +03:00
PBrowser.ipdl Bug 1892598 - Reuse IPCImage for PBrowser::SetCursor; r=smaug 2024-04-23 06:01:47 +00:00
PBrowserBridge.ipdl Bug 1848357 - Cleanup layer observer handling. r=mconley,gfx-reviewers,bradwerth 2023-09-01 17:09:27 +00:00
PColorPicker.ipdl Bug 1816740 [6/6] - remove ManualDealloc from ColorPicker and FilePicker r=ipc-reviewers,nika 2023-02-22 21:05:25 +00:00
PContent.ipdl Bug 1889129 - Remove Android codec support probe from content process initialization r=jolin 2024-05-06 19:30:28 +00:00
PContentPermission.ipdlh
PContentPermissionRequest.ipdl
PCycleCollectWithLogs.ipdl
PermissionMessageUtils.cpp Bug 1443925 - Part 5: Make it possible to get the system principal from any thread, r=ckerschb 2022-12-02 00:53:51 +00:00
PermissionMessageUtils.h
PFilePicker.ipdl Bug 1866517 - Part 1: Start implementing close method for file picker r=emilio 2023-12-13 15:10:33 +00:00
PInProcess.ipdl Bug 1867360 - Require toplevel protocols to specify which processes they expect to be bound in, r=decoder,ipc-reviewers,necko-reviewers,media-playback-reviewers,profiler-reviewers,win-reviewers,aosmond,rkraesig,mccr8,kershaw 2024-01-18 23:07:18 +00:00
PJSOracle.ipdl Bug 1867360 - Require toplevel protocols to specify which processes they expect to be bound in, r=decoder,ipc-reviewers,necko-reviewers,media-playback-reviewers,profiler-reviewers,win-reviewers,aosmond,rkraesig,mccr8,kershaw 2024-01-18 23:07:18 +00:00
PJSValidator.ipdl Bug 1804086 - Make JSValidatorChild decoding the data from other encoding into UTF8 if needed r=smaug 2023-03-22 14:21:40 +00:00
PProcessHangMonitor.ipdl Bug 1867360 - Require toplevel protocols to specify which processes they expect to be bound in, r=decoder,ipc-reviewers,necko-reviewers,media-playback-reviewers,profiler-reviewers,win-reviewers,aosmond,rkraesig,mccr8,kershaw 2024-01-18 23:07:18 +00:00
PreallocatedProcessManager.cpp Bug 1819311 - Collect errors on process launch r=nika,geckoview-reviewers,owlish 2023-04-13 08:35:24 +00:00
PreallocatedProcessManager.h
PrefsTypes.ipdlh
ProcessActor.cpp
ProcessActor.h
ProcessHangMonitor.cpp Bug Bug 1882552 - Add logging to QoS signals r=xpcom-reviewers,barret 2024-03-08 17:25:25 +00:00
ProcessHangMonitor.h Bug 1848357 - Cleanup layer observer handling. r=mconley,gfx-reviewers,bradwerth 2023-09-01 17:09:27 +00:00
ProcessHangMonitorIPC.h
ProcessIsolation.cpp Bug 1887719 - More consistently use UTF8String/nsCString for URLs. r=necko-reviewers,webidl,anti-tracking-reviewers,places-reviewers,jari,kershaw,janv,smaug,hsivonen 2024-04-04 11:49:57 +00:00
ProcessIsolation.h Bug 1850589 - Migrate worker process selection to use ProcessIsolation as a backend, r=smaug,asuth 2023-09-06 18:48:30 +00:00
ProcessPriorityManager.cpp Bug 1876306 - Signal to content processes shutting down to raise the QoS priority of their main thread, then ignore all other QoS changes. r=nika 2024-03-08 17:25:24 +00:00
ProcessPriorityManager.h Bug 1770944 - Remove nsIMozBrowserFrame. r=smaug 2024-03-07 13:04:21 +00:00
PropertyBagUtils.cpp
PropertyBagUtils.h
PTabContext.ipdlh Bug 1875822 - Remove a bunch of dead JS plugin code. r=nika 2024-01-25 21:02:21 +00:00
PURLClassifier.ipdl
PURLClassifierInfo.ipdlh
PURLClassifierLocal.ipdl Bug 1814686 - Part 1b: Add nullable annotations to refcounted types in ipdl, r=ipc-reviewers,mccr8 2023-03-20 15:40:37 +00:00
PVsync.ipdl
PWindowGlobal.ipdl Bug 1848406 - Detect stateful bounces for window associated storages. r=bvandersloot,asuth 2024-04-17 20:29:04 +00:00
ReferrerInfoUtils.cpp
ReferrerInfoUtils.h
RefMessageBodyService.cpp
RefMessageBodyService.h
RemoteBrowser.cpp
RemoteBrowser.h
RemoteType.h Bug 1795322 - Update toolkit modules references in dom code. r=mccr8 2022-10-26 08:06:37 +00:00
RemoteWebProgressRequest.cpp
RemoteWebProgressRequest.h
ServiceWorkerConfiguration.ipdlh
SharedMap.cpp Bug 1856795 - ride along: use = default; on some recently modified files r=emilio 2023-10-15 15:29:03 +00:00
SharedMap.h
SharedMapChangeEvent.h
SharedMessageBody.cpp
SharedMessageBody.h
SharedStringMap.cpp Bug 1855134 - Move existing MOZ_TRY macros to a dedicated header file; r=glandium 2023-09-28 20:46:07 +00:00
SharedStringMap.h
StringTable.h
StructuredCloneData.cpp Bug 1815339 - Add missing member to the StructuredCloneData move assignment operator; r=asuth 2023-10-25 22:15:11 +00:00
StructuredCloneData.h Bug 1889650 - Remove mentions of BuildClonedMessageDataFor from comments. r=asuth DONTBUILD 2024-04-04 16:24:50 +00:00
TabContext.cpp Bug 1519636 - Reformat recent changes to the Google coding style r=emilio,media-playback-reviewers,padenot 2024-04-22 16:00:09 +00:00
TabContext.h Bug 1875822 - Remove a bunch of dead JS plugin code. r=nika 2024-01-25 21:02:21 +00:00
TabMessageTypes.h
TabMessageUtils.h Bug 1807687 - Simplify Windows keyboard indicator setting handling. r=NeilDeakin 2023-01-09 18:19:03 +00:00
URLClassifierChild.h
URLClassifierParent.cpp
URLClassifierParent.h
UserActivationIPCUtils.h
VsyncChild.h
VsyncMainChild.cpp Bug 1810975 - remove unused MarkVsyncReceived()/MarkVsyncRan(), r=farre 2023-01-18 14:32:59 +00:00
VsyncMainChild.h
VsyncParent.cpp
VsyncParent.h
VsyncWorkerChild.cpp
VsyncWorkerChild.h
WindowGlobalActor.cpp Bug 1824222 - Add OverriddenFingerprintingSettings to WindowContext. r=nika,tjr 2023-10-17 22:02:29 +00:00
WindowGlobalActor.h
WindowGlobalChild.cpp Bug 1875528 - Part 6: Allow cycle-collecting the strong IPDL Manager reference, r=mccr8 2024-04-22 17:13:24 +00:00
WindowGlobalChild.h Bug 1848783, part 6 - Revoke has storage access when the permission is revoked - r=anti-tracking-reviewers,timhuang 2023-09-21 01:48:49 +00:00
WindowGlobalParent.cpp Bug 1677190 - Introduce SessionStoreFunctions for GeckoView package and move the existing SessionStoreFunctions from toolkit to the browser package. r=geckoview-reviewers,farre,nika,owlish 2024-04-30 11:17:55 +00:00
WindowGlobalParent.h Bug 1848406 - Detect stateful bounces for window associated storages. r=bvandersloot,asuth 2024-04-17 20:29:04 +00:00
WindowGlobalTypes.ipdlh Bug 1814686 - Part 1b: Add nullable annotations to refcounted types in ipdl, r=ipc-reviewers,mccr8 2023-03-20 15:40:37 +00:00