gecko-dev/gfx/ipc
Jamie Nicol 6e07140f91 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-13 16:52:12 +00:00
..
CanvasManagerChild.cpp Bug 1875528 - Part 2: Break the strong reference cycle between WebGPUChild and CanvasManagerChild, r=webgpu-reviewers,nical 2024-04-22 17:13:23 +00:00
CanvasManagerChild.h Bug 1875528 - Part 2: Break the strong reference cycle between WebGPUChild and CanvasManagerChild, r=webgpu-reviewers,nical 2024-04-22 17:13:23 +00:00
CanvasManagerParent.cpp Backed out changeset e22428605dbb (bug 1875661) for causing bp-nu bustages in RefPtr.h and for causing mochitests assertion failures in WeakPtr.h. CLOSED TREE 2024-01-24 21:11:11 +02:00
CanvasManagerParent.h Bug 1871467 - Remove unused ReplayTexture support. r=aosmond CLOSED TREE 2023-12-22 04:58:16 +00:00
CanvasRenderThread.cpp Bug 1888338 - Use a single SharedContextWebgl. r=aosmond 2024-03-28 17:33:58 +00:00
CanvasRenderThread.h Bug 1875661 - Refactor shutdown for remote canvas. r=gfx-reviewers,lsalzman 2024-01-25 22:22:49 +00:00
CanvasShutdownManager.cpp Bug 1769913 - P3 Remove WorkerRunnable::mWorkerPrivate. r=dom-worker-reviewers,asuth 2024-04-19 09:41:58 +00:00
CanvasShutdownManager.h Bug 1887729 - Implement context lost/restored support for CanvasRenderingContext2D. r=webidl,gfx-reviewers,smaug,lsalzman 2024-03-28 14:50:20 +00:00
CompositorOptions.h
CompositorSession.cpp
CompositorSession.h
CompositorWidgetVsyncObserver.cpp
CompositorWidgetVsyncObserver.h
CrossProcessPaint.cpp Bug 1870970 - Ensure we call DrawEventRecorder::DetachResources to avoid memory leaks. r=gfx-reviewers,lsalzman 2023-12-20 12:59:26 +00:00
CrossProcessPaint.h
D3DMessageUtils.cpp
D3DMessageUtils.h
FileHandleWrapper.cpp Bug 1861605 - Use IDXGIResource1::CreateSharedHandle() instead of IDXGIResource::GetSharedHandle() r=gfx-reviewers,lsalzman 2023-12-19 09:23:21 +00:00
FileHandleWrapper.h Bug 1861605 - Use IDXGIResource1::CreateSharedHandle() instead of IDXGIResource::GetSharedHandle() r=gfx-reviewers,lsalzman 2023-12-19 09:23:21 +00:00
GfxMessageUtils.h Bug 1866412 - Add FenceD3D11 for wrapping ID3D11Fence r=gfx-reviewers,jrmuizel 2023-12-09 11:55:15 +00:00
GPUChild.cpp Bug 1880503 - Generate paired minidump when GPU process is killed following IPC timeout. r=aosmond,gsvelto 2024-05-13 16:52:12 +00:00
GPUChild.h Bug 1880503 - Generate paired minidump when GPU process is killed following IPC timeout. r=aosmond,gsvelto 2024-05-13 16:52:12 +00:00
GPUParent.cpp Bug 1892516 - part5 : report Glean probe from the chrome process. r=media-playback-reviewers,padenot 2024-04-29 17:46:29 +00:00
GPUParent.h Bug 1851736 - Enable NVIDIA RTX Video Super Resolution for video overlay on Windows only during power charge r=gfx-reviewers,ahale 2024-03-01 04:00:59 +00:00
GPUProcessHost.cpp Bug 1880503 - Generate paired minidump when GPU process is killed following IPC timeout. r=aosmond,gsvelto 2024-05-13 16:52:12 +00:00
GPUProcessHost.h Bug 1880503 - Generate paired minidump when GPU process is killed following IPC timeout. r=aosmond,gsvelto 2024-05-13 16:52:12 +00:00
GPUProcessImpl.cpp
GPUProcessImpl.h
GPUProcessListener.h
GPUProcessManager.cpp Bug 1880503 - Generate paired minidump when GPU process is killed following IPC timeout. r=aosmond,gsvelto 2024-05-13 16:52:12 +00:00
GPUProcessManager.h Bug 1880503 - Generate paired minidump when GPU process is killed following IPC timeout. r=aosmond,gsvelto 2024-05-13 16:52:12 +00:00
GraphicsMessages.ipdlh
InProcessCompositorSession.cpp Bug 1874740: Make callers to NotifyCompositorSessionLost hold a reference to widget. r=gfx-reviewers,jrmuizel 2024-01-23 19:27:26 +00:00
InProcessCompositorSession.h
moz.build Bug 1886022 - Refactor canvas shutdown to account for process crashes. r=gfx-reviewers,lsalzman 2024-03-19 14:09:13 +00:00
OverlayInfo.h
PCanvasManager.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
PGPU.ipdl Bug 1851736 - Enable NVIDIA RTX Video Super Resolution for video overlay on Windows only during power charge r=gfx-reviewers,ahale 2024-03-01 04:00:59 +00:00
PVsyncBridge.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
RemoteCompositorSession.cpp Bug 1874740: Make callers to NotifyCompositorSessionLost hold a reference to widget. r=gfx-reviewers,jrmuizel 2024-01-23 19:27:26 +00:00
RemoteCompositorSession.h
VsyncBridgeChild.cpp
VsyncBridgeChild.h
VsyncBridgeParent.cpp
VsyncBridgeParent.h
VsyncIOThreadHolder.cpp Bug 1624819 - Remove TaskCategory and other quantum dom remnants. r=smaug,media-playback-reviewers,credential-management-reviewers,cookie-reviewers,places-reviewers,win-reviewers,valentin,mhowell,sgalich,alwu 2023-10-10 08:51:12 +00:00
VsyncIOThreadHolder.h