Closed
Bug 1408514
Opened 7 years ago
Closed 5 years ago
Crash in mozilla::layers::CompositorManagerChild::ProcessingError
Categories
(Core :: Graphics: Layers, defect, P4)
Tracking
()
RESOLVED
WORKSFORME
Tracking | Status | |
---|---|---|
firefox-esr52 | --- | unaffected |
firefox56 | --- | disabled |
firefox57 | --- | disabled |
firefox58 | --- | unaffected |
firefox61 | --- | affected |
People
(Reporter: philipp, Unassigned)
References
(Blocks 1 open bug)
Details
(Keywords: crash, regression, Whiteboard: [wr-reserve])
Crash Data
This bug was filed from the Socorro interface and is
report bp-a65ab7a5-54af-4cb5-9ec1-a82c30171013.
=============================================================
Crashing Thread (0)
Frame Module Signature Source
0 xul.dll CrashStatsLogForwarder::CrashAction(mozilla::gfx::LogReason) gfx/thebes/gfxPlatform.cpp:416
1 xul.dll mozilla::gfx::Log<1, mozilla::gfx::CriticalLogger>::WriteLog(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) gfx/2d/Logging.h:525
2 xul.dll mozilla::gfx::Log<1, mozilla::gfx::CriticalLogger>::Flush() gfx/2d/Logging.h:282
3 xul.dll mozilla::layers::CompositorManagerChild::ProcessingError(mozilla::ipc::HasResultCodes::Result, char const*) gfx/layers/ipc/CompositorManagerChild.cpp:255
4 xul.dll mozilla::ipc::MessageChannel::MaybeHandleError(mozilla::ipc::HasResultCodes::Result, IPC::Message const&, char const*) ipc/glue/MessageChannel.cpp:2522
5 xul.dll mozilla::ipc::MessageChannel::DispatchAsyncMessage(IPC::Message const&) ipc/glue/MessageChannel.cpp:2121
6 xul.dll mozilla::ipc::MessageChannel::DispatchMessageW(IPC::Message&&) ipc/glue/MessageChannel.cpp:2049
7 xul.dll mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::MessageChannel::MessageTask&) ipc/glue/MessageChannel.cpp:1895
8 xul.dll mozilla::ipc::MessageChannel::MessageTask::Run() ipc/glue/MessageChannel.cpp:1928
9 xul.dll nsThread::ProcessNextEvent(bool, bool*) xpcom/threads/nsThread.cpp:1037
10 xul.dll NS_ProcessPendingEvents(nsIThread*, unsigned int) xpcom/threads/nsThreadUtils.cpp:466
11 xul.dll nsWindow::DispatchPendingEvents() widget/windows/nsWindow.cpp:4256
12 xul.dll nsWindow::ProcessMessage(unsigned int, unsigned int&, long&, long*) widget/windows/nsWindow.cpp:5857
13 xul.dll nsWindow::WindowProcInternal(HWND__*, unsigned int, unsigned int, long) widget/windows/nsWindow.cpp:4955
14 xul.dll CallWindowProcCrashProtected xpcom/base/nsCrashOnException.cpp:35
15 xul.dll nsWindow::WindowProc(HWND__*, unsigned int, unsigned int, long) widget/windows/nsWindow.cpp:4907
16 user32.dll InternalCallWinProc
17 user32.dll UserCallWinProcCheckWow
18 user32.dll DispatchMessageWorker
19 user32.dll DispatchMessageW
20 xul.dll nsAppShell::ProcessNextNativeEvent(bool) widget/windows/nsAppShell.cpp:352
21 xul.dll nsBaseAppShell::OnProcessNextEvent(nsIThreadInternal*, bool) widget/nsBaseAppShell.cpp:273
22 xul.dll nsThread::ProcessNextEvent(bool, bool*) xpcom/threads/nsThread.cpp:950
23 xul.dll mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) ipc/glue/MessagePump.cpp:97
24 xul.dll MessageLoop::RunHandler() ipc/chromium/src/base/message_loop.cc:319
25 xul.dll MessageLoop::Run() ipc/chromium/src/base/message_loop.cc:299
26 xul.dll nsBaseAppShell::Run() widget/nsBaseAppShell.cpp:158
27 xul.dll nsAppShell::Run() widget/windows/nsAppShell.cpp:230
28 xul.dll nsAppStartup::Run() toolkit/components/startup/nsAppStartup.cpp:288
29 xul.dll XREMain::XRE_mainRun() toolkit/xre/nsAppRunner.cpp:4694
30 xul.dll XREMain::XRE_main(int, char** const, mozilla::BootstrapConfig const&) toolkit/xre/nsAppRunner.cpp:4856
31 xul.dll XRE_main(int, char** const, mozilla::BootstrapConfig const&) toolkit/xre/nsAppRunner.cpp:4951
32 xul.dll mozilla::BootstrapImpl::XRE_main(int, char** const, mozilla::BootstrapConfig const&) toolkit/xre/Bootstrap.cpp:49
33 firefox.exe do_main browser/app/nsBrowserApp.cpp:231
34 firefox.exe wmain toolkit/xre/nsWindowsWMain.cpp:111
35 firefox.exe __scrt_common_main_seh f:/dd/vctools/crt/vcstartup/src/startup/exe_common.inl:253
36 kernel32.dll BaseThreadInitThunk
37 ntdll.dll __RtlUserThreadStart
38 ntdll.dll _RtlUserThreadStart
this cross-platform crash signature is hanging around in nightly since firefox 56 - all the reports show MOZ_CRASH(GFX_CRASH).
Comment 1•7 years ago
|
||
The GraphicsCriticalError shows a bunch of shader compilation failures:
|[0]CP+[GFX1]: Potential driver version mismatch ignored due to missing DLLs igd10umd32 v= and igd10iumd32 v= (t=7.44569)
|[121]GP+[GFX1-]: wr_renderer_render: Shader(Compilation("ps_rectangle", "")) (t=8.11849)
|[122]GP+[GFX1-]: wr_renderer_render: Shader(Compilation("ps_border_corner", "")) (t=8.11849)
|[123]GP+[GFX1-]: wr_renderer_render: Shader(Compilation("ps_border_edge", "")) (t=8.11849)
|[124]GP+[GFX1-]: wr_renderer_render: Shader(Compilation("ps_image", "")) (t=8.11849)
|[125]GP+[GFX1-]: wr_renderer_render: Shader(Compilation("ps_text_run", "")) (t=8.11849)
|[126]GP+[GFX1-]: wr_renderer_render: Shader(Compilation("ps_blend", "")) (t=8.11849)
|[127]GP+[GFX1-]: wr_renderer_render: Shader(Compilation("ps_text_run", "")) (t=8.11849)
|[128][GFX1 35]: Processing error in CompositorBridgeChild: 6 (t=8.11849)
|[114]GP+[GFX1-]: wr_renderer_render: Shader(Compilation("ps_gradient", "")) (t=8.11849)
|[115]GP+[GFX1-]: wr_renderer_render: Shader(Compilation("ps_rectangle", "")) (t=8.11849)
|[116]GP+[GFX1-]: wr_renderer_render: Shader(Compilation("ps_image", "")) (t=8.11849)
|[117]GP+[GFX1-]: wr_renderer_render: Shader(Compilation("ps_image", "")) (t=8.11849)
|[118]GP+[GFX1-]: wr_renderer_render: Shader(Compilation("ps_rectangle", "")) (t=8.11849)
|[119]GP+[GFX1-]: wr_renderer_render: Shader(Compilation("ps_image", "")) (t=8.11849)
|[120]GP+[GFX1-]: wr_renderer_render: Shader(Compilation("ps_box_shadow", "")) (t=8.11849)
Presumably we should try to repro on similar hardware?
Comment 2•7 years ago
|
||
Which is (taken from the telemetry environment on the crash report):
"adapters": [
-
{
"description": "Intel(R) Q35 Express Chipset Family",
"vendorID": "0x8086",
"deviceID": "0x29b2",
"subsysID": "2819103c",
"RAM": null,
"driver": "igdumdx32",
"driverVersion": "8.15.10.1930",
"driverDate": "9-23-2009",
"GPUActive": true
}
],
Updated•7 years ago
|
Whiteboard: [wr-mvp] [triage]
We need blocklisting for webrender (bug 1409022)
Updated•7 years ago
|
Priority: P3 → P2
Whiteboard: [wr-mvp] [triage] → [wr-mvp]
Comment 4•7 years ago
|
||
Webrender error log was added by Bug 1390138.
Updated•7 years ago
|
Comment 5•7 years ago
|
||
(In reply to Sotaro Ikeda [:sotaro] from comment #4)
> Webrender error log was added by Bug 1390138.
Webrender error log output does not directly related to CompositorManagerChild::ProcessingError(). For example, if I set "gfx.webrender.force-angle;false" on my one pc, I saw shader related error logs, but CompositorManagerChild::ProcessingError() was not called.
Updated•7 years ago
|
Priority: P2 → P3
Whiteboard: [wr-mvp] → [wr-reserve]
Been hitting this ~daily this week.
status-firefox61:
--- → affected
Comment 7•6 years ago
|
||
This is still happening but at a low frequency. The most recent one (bp-e8c2e834-690f-4468-98f1-2240e0180720) has this GraphicsCriticalError. Note that 0x8007000E is E_OUTOFMEMORY and the "6" in the final error is MsgRouteError.
====
|[0]GP+[GFX1-]: GFX: RenderThread detected a device reset in BeginFrame (t=4663.73) |[1]GP+[GFX1-]: GFX: RenderThread detected a device reset in BeginFrame (t=4665.92) |[2]GP+[GFX1-]: GFX: RenderThread detected a device reset in BeginFrame (t=4680.28) |[3]GP+[GFX1-]: Failed to load a program object with a program binary: brush_blend renderer ANGLE (Intel(R) HD Graphics 620 Direct3D11 vs_5_0 ps_5_0)
(t=4701.14) |[4]GP+[GFX1-]: Failed program_binary (t=4701.14) |[5]GP+[GFX1-]: Failed to link shader program: brush_blend
C:\fakepath(536,20-34): warning X3556: integer modulus may be much slower, try using uints if possible.
C:\fakepath(536,39-53): warning X3556: integer divides may be much slower, try using uints if possible.
Error allocating VertexShader. HRESULT: 0x8007000E
(t=4701.14) |[6]GP+[GFX1-]: Failed to load a program object with a program binary: brush_blend renderer ANGLE (Intel(R) HD Graphics 620 Direct3D11 vs_5_0 ps_5_0)
(t=4701.14) |[7]GP+[GFX1-]: Failed program_binary (t=4701.14) |[8]GP+[GFX1-]: Failed to compile shader: brush_blend
(t=4701.14) |[9]GP+[GFX1-]: wr_renderer_render: Shader(Link("brush_blend", "C:\\fakepath(536,20-34): warning X3556: integer modulus may be much slower, try using uints if possible.\nC:\\fakepath(536,39-53): warning X3556: integer divides may be much slower, try using uints if possible.\n\n\nError allocating VertexShader. HRESULT: 0x8007000E\n")) (t=4701.14) |[10]GP+[GFX1-]: wr_renderer_render: Shader(Compilation("brush_blend", "")) (t=4701.14) |[11][GFX1 35]: Processing error in CompositorBridgeChild: 6 (t=4701.14)
Updated•6 years ago
|
Comment 8•6 years ago
|
||
(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #7)
> Note that 0x8007000E is E_OUTOFMEMORY and the "6" in the final error is
> MsgRouteError.
Just to expand on this a bit: I suspect the OOM results in IPDL actors maybe not getting created properly, which then results in the IPDL crash. So maybe some IPDL robustification is in order here.
Comment 9•6 years ago
|
||
We want to look at this in more detail to make sure it's not hardware specific.
Comment 10•6 years ago
|
||
(In reply to Jeff Muizelaar [:jrmuizel] from comment #9)
> We want to look at this in more detail to make sure it's not hardware
> specific.
There should be corresponding crash reports generated for the GPU process, and those would have their own bugs. However, I looked a few of the most recent reports, and the submitters don't appear to have any GPU process crashes nearby. I'm guessing that is because the parent process crashes before the GPU crash report is generated.
The reports do claim the GPU process is running and it is on its first launch. This suggests a race between CompositorManagerChild being torn down before GPUChild, and something tried to send a message via CompositorManagerChild (or its actor children). This should be handled but it is kind of messy, so it is possible there is a mistake.
Comment 11•6 years ago
|
||
I talked with Andrew and it sounds like this is probably a race that's caused by the GPU process going down. We should still be getting GPU process crashes with WebRender so this will just cause some of those to show up in this bucket. I don't think we need to block nightly on this.
Comment 12•6 years ago
|
||
Hi Jeff, IIUC this isn't a WebRender crash. It's merely triggered by WR; so I think we should move this out of the WR component and not block on it. WDYT? We're already looking at memory issues in general for WR in other bugs.
Flags: needinfo?(jmuizelaar)
Updated•6 years ago
|
Priority: P3 → P4
Comment 13•6 years ago
|
||
Sure. That seems reasonable.
No longer blocks: stage-wr-trains
Component: Graphics: WebRender → Graphics: Layers
Flags: needinfo?(jmuizelaar)
Comment 14•5 years ago
|
||
Closing because no crashes reported for 12 weeks.
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → WORKSFORME
Comment 15•5 years ago
|
||
Bugbug thinks this bug is a regression, but please revert this change in case of error.
Keywords: regression
You need to log in
before you can comment on or make changes to this bug.
Description
•