Open Bug 1555082 Opened 5 years ago Updated 2 years ago

Startup crash in local build with double buffering enabled. For debug asserts.

Categories

(Core :: Graphics, defect, P3)

Unspecified
Windows 10
defect

Tracking

()

People

(Reporter: bryce, Unassigned)

References

(Regression)

Details

(Keywords: regression)

Attachments

(2 files)

Attached file About support from nightly release (deleted) —

Since pulling central yesterday (central commit 29c76bc4b590), my local builds crash on startup with a lot of unhappy gfx logs.

Note, the logs have some mangling due to bug 1458645.

$ ./mach run
 0:01.09 c:/Projects/mozilla-builds/obj-ff-dbg-opt\dist\bin\firefox.exe -no-remote -wait-for-browser -profile c:\Projects\mozilla-builds\obj-ff-dbg-opt\tmp\profile-default
[2116, Main Thread] WARNING: CheckLinkStatus called on main thread! No check performed. Assuming link is up, status is unknown.: file c:/Projects/mozilla-central/netwerk/system/win32/nsNotifyAddrListener.cpp, line 660
++DOCSHELL 0000023291CDB000 == 1 [pid = 2116] [id = {3986519a-997d-463f-b7ae-b4df3b82e7e7}]
++DOMWINDOW == 1 (00000232917EC3E0) [pid = 2116] [serial = 1] [outer = 0000000000000000]
[2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/widget/windows/nsLookAndFeel.cpp, line 853
++DOMWINDOW == 2 (000002329145B400) [pid = 2116] [serial = 2] [outer = 00000232917EC3E0]
[2116, Main Thread] WARNING: 'NS_FAILED(GetAccentColor(unused))', file c:/Projects/mozilla-central/widget/windows/nsLookAndFeel.cpp, line 481
[2116, Main Thread] WARNING: NS_ENSURE_TRUE(aCSP) failed: file c:/Projects/mozilla-central/dom/security/FramingChecker.cpp, line 167
++DOCSHELL 0000023296108800 == 2 [pid = 2116] [id = {ab90ffa4-2508-43d3-838c-30f2599c1fa8}]
++DOMWINDOW == 3 (00000232917ED2E0) [pid = 2116] [serial = 3] [outer = 0000000000000000]
++DOCSHELL 0000023296411800 == 3 [pid = 2116] [id = {1efe31be-73c4-422e-93f2-16327e6d413d}]
++DOMWINDOW == 4 (00000232917ED6A0) [pid = 2116] [serial = 4] [outer = 0000000000000000]
++DOMWINDOW == 5 (000002329636B000) [pid = 2116] [serial = 5] [outer = 00000232917ED6A0]
[2116, Main Thread] WARNING: NS_ENSURE_TRUE(aCSP) failed: file c:/Projects/mozilla-central/dom/security/FramingChecker.cpp, line 167
++DOMWINDOW == 6 (0000023293ECA800) [pid = 2116] [serial = 6] [outer = 00000232917ED2E0]
++DOCSHELL 0000023294A1B800 == 4 [pid = 2116] [id = {ef78884f-2429-4e7e-826f-5250c1c99d55}]
++DOMWINDOW == 7 (0000023293DF7020) [pid = 2116] [serial = 7] [outer = 0000000000000000]
++DOMWINDOW == 8 (0000023294888C00) [pid = 2116] [serial = 8] [outer = 0000023293DF7020]
[Parent 2116, Main Thread] WARNING: This method is lossy. Use GetCanonicalPath !: file c:/Projects/mozilla-central/xpcom/io/nsLocalFileWin.cpp, line 3200
[Parent 2116, Main Thread] WARNING: This method is lossy. Use GetCanonicalPath !: file c:/Projects/mozilla-central/xpcom/io/nsLocalFileWin.cpp, line 3200
[Parent 2116, Main Thread] WARNING: This method is lossy. Use GetCanonicalPath !: file c:/Projects/mozilla-central/xpcom/io/nsLocalFileWin.cpp, line 3200
[Parent 2116, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file c:/Projects/mozilla-central/netwerk/cache/nsCacheService.cpp, line 169
++DOMWINDOW == 9 (0000023294E70400) [pid = 2116] [serial = 9] [outer = 0000023293DF7020]
[Parent 2116, SignedJAR] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80520015: file c:/Projects/mozilla-central/security/apps/AppSignatureVerification.cpp, line 1245
[Parent 2116, Main Thread] WARNING: Failed to get base domain!: file c:/Projects/mozilla-central/ipc/glue/BackgroundUtils.cpp, line 360
[Parent 2116, Main Thread] WARNING: Suboptimal indexes for the SQL statement 0x23296fbdd00 (http://mzl.la/1FuID0j).: file c:/Projects/mozilla-central/storage/mozStoragePrivateHelpers.cpp, line 108
++DOCSHELL 00000232990B2800 == 5 [pid = 2116] [id = {5a7ec0b2-e3bc-46c1-971a-f7e3dd4edc14}]
++DOMWINDOW == 10 (00000232948EFD40) [pid = 2116] [serial = 10] [outer = 0000000000000000]
++DOMWINDOW == 11 (00000232984DB800) [pid = 2116] [serial = 11] [outer = 00000232948EFD40]
++DOMWINDOW == 12 (000002329A25A000) [pid = 2116] [serial = 12] [outer = 00000232948EFD40]
++DOMWINDOW == 13 (0000023299F5E400) [pid = 2116] [serial = 13] [outer = 00000232948EFD40]
[Parent 2116, Main Thread] WARNING: Need BrowserChild to get the nativeWindow from!: file c:/Projects/mozilla-central/widget/PuppetWidget.cpp, line 1094
[Parent 2116, Main Thread] WARNING: Need BrowserChild to get the nativeWindow from!: file c:/Projects/mozilla-central/widget/PuppetWidget.cpp, line 1094
[Parent 2116, Main Thread] WARNING: Need BrowserChild to get the nativeWindow from!: file c:/Projects/mozilla-central/widget/PuppetWidget.cpp, line 1094
[Parent 2116, Main Thread] WARNING: Need BrowserChild to get the nativeWindow from!: file c:/Projects/mozilla-central/widget/PuppetWidget.cpp, line 1094
Crash [APanrneontatt i2o11n6 G,r Gaepchkioc_sICOrTihtriecaadl]E rWrAoRrN: I|NG[:0 ]GpiP+p[e GeFrXr1o-r]::  1G0F9X::  fiD3lDe1 1c d:/ePtreocjteecdt sa/ mdoezviilclea -rceesnettr ailn/ ipPcr/eschernot mi(utm=/2s7rc./9c5h1r1)o |m[e3/c1o]mGmPo+n[/GiFpXc1_-c]h:a n[Cnoelm_pwoisni.tcocr, Dl3Di1n1e]  3d4e1v
ice[ Praermeonvte d21 w1i6,th G eecrkroo_rI OcTohdre:e ad0]x 8W8A7RaN0I0N0G:5, p i0pxe8 8e7rar0o0r2:0 ,1 009 :(t =fi6l5.e4 5c1:1)/P r|[oj32ec]GtsP/+m[oGFzXil1-l]a: -GcFeXn:t rDa3lD/1ip1 c/sckhirpo mBieugmi/nsFrrca/mceh rwoimteh/ cdoemvmiocne/-irpecm_ocvheadn.n e(lt_=w6i5n..7c6c1,1 )li |ne[ 3334]1[
GFX1-]: GPU processed experienced too many device resets (t=66.2311) |[19]GP+[GFX1-]: [CompositorD3D11] device removed with error code: 0x887a0005, 0x887a0020, 0 (t=50.1311) |[20]GP+[GFX1-]: GFX: D3D11 skip BeginFrame with device-removed. (t=50.2911) |[21]GP+[GFX1-]: D3D11 swap chain preset failed 0x887a0005 (t=52.1611) |[22]GP+[GFX1-]: [CompositorD3D11] device removed with error code: 0x887a0005, 0x887a0020, 0 (t=52.1611) |[23]GP+[GFX1-]: GFX: D3D11 skip BeginFrame with device-removed. (t=55.2911) |[24]GP+[GFX1-]: D3D11 swap chain preset failed 0x887a0005 (t=57.1611) |[25]GP+[GFX1-]: [CompositorD3D11] device removed with error code: 0x887a0005, 0x887a0020, 0 (t=57.1611) |[26]GP+[GFX1-]: GFX: D3D11 skip BeginFrame with device-removed. (t=57.1611) |[27]GP+[GFX1-]: D3D11 swap chain preset failed 0x887a0005 (t=63.4111) |[28]GP+[GFX1-]: [CompositorD3D11] device removed with error code: 0x887a0005, 0x887a0020, 0 (t=63.4111) |[29]GP+[GFX1-]: GFX: D3D11 skip BeginFrame with device-removed. (t=64.3511) |[30]GP+[GFX1-]: D3D11 swap chain preset failed 0x887a0005 (t=65.4511) [GFX1-]: GPU processed experienced too many device resets

###!!! [Child][MessageChannel::SendAndWait] Error: Channel error: cannot send/recv

Crash Annotation GraphicsCriticalError: |[0]GP+[GFX1-]: GFX: D3D11 detected a device reset in Present (t=27.9511) |[31]GP+[GFX1-]: [CompositorD3D11] device removed with error code: 0x887a0005, 0x887a0020, 0 (t=65.4511) |[32]GP+[GFX1-]: GFX: D3D11 skip BeginFrame with device-removed. (t=65.7611) |[33][GFX1-]: GPU processed experienced too many device resets (t=66.2311) |[34][GFX1-]: Compositors might be mixed (3,1) (t=105.601) |[20]GP+[GFX1-]: GFX: D3D11 skip BeginFrame with device-removed. (t=50.2911) |[21]GP+[GFX1-]: D3D11 swap chain preset failed 0x887a0005 (t=52.1611) |[22]GP+[GFX1-]: [CompositorD3D11] device removed with error code: 0x887a0005, 0x887a0020, 0 (t=52.1611) |[23]GP+[GFX1-]: GFX: D3D11 skip BeginFrame with device-removed. (t=55.2911) |[24]GP+[GFX1-]: D3D11 swap chain preset failed 0x887a0005 (t=57.1611) |[25]GP+[GFX1-]: [CompositorD3D11] device removed with error code: 0x887a0005, 0x887a0020, 0 (t=57.1611) |[26]GP+[GFX1-]: GFX: D3D11 skip BeginFrame with device-removed. (t=57.1611) |[27]GP+[GFX1-]: D3D11 swap chain preset failed 0x887a0005 (t=63.4111) |[28]GP+[GFX1-]: [CompositorD3D11] device removed with error code: 0x887a0005, 0x887a0020, 0 (t=63.4111) |[29]GP+[GFX1-]: GFX: D3D11 skip BeginFrame with device-removed. (t=64.3511) |[30]GP+[GFX1-]: D3D11 swap chain preset failed 0x887a0005 (t=65.4511) [GFX1-]: Compositors might be mixed (3,1)
[Parent 21
6#,# #!G!! e[Chcildk][RounM_essIagOe] TErrhor:r Cehananeld er]ror : cWanAnotR seNnd/IrecNv
G
: file c:/Projects/moz
i###l!!!l [Cahil-d][cRuneMesnsagte] rErraor:l Ch/anniel perrcor:/ cacnnoht srendo/remcv
i
um
#/##!s!! r[Chcild/][RbunMaesssagee] E/rropr: rChaonnecl eerrosr: scan_notu setnd/ireclv
_
win.cc, line 160
Crash Annotation GraphicsCriticalError: |[0]GP+[GFX1-]: GFX: D3D11 detected a device reset in Present (t=27.9511) |[31]GP+[GFX1-]: [CompositorD3D11] device removed with error code: 0x887a0005, 0x887a0020, 0 (t=65.4511) |[32]GP+[GFX1-]: GFX: D3D11 skip BeginFrame with device-removed. (t=65.7611) |[33][GFX1-]: GPU processed experienced too many device resets (t=66.2311) |[34][GFX1-]: Compositors might be mixed (3,1) (t=105.601) |[35][GFX1-]: Receive IPC close with reason=AbnormalShutdown (t=106.701) |[21]GP+[GFX1-]: D3D11 swap chain preset failed 0x887a0005 (t=52.1611) |[22]GP+[GFX1-]: [CompositorD3D11] device removed with error code: 0x887a0005, 0x887a0020, 0 (t=52.1611) |[23]GP+[GFX1-]: GFX: D3D11 skip BeginFrame with device-removed. (t=55.2911) |[24]GP+[GFX1-]: D3D11 swap chain preset failed 0x887a0005 (t=57.1611) |[25]GP+[GFX1-]: [CompositorD3D11] device removed with error code: 0x887a0005, 0x887a0020, 0 (t=57.1611) |[26]GP+[GFX1-]: GFX: D3D11 skip BeginFrame with device-removed. (t=57.1611) |[27]GP+[GFX1-]: D3D11 swap chain preset failed 0x887a0005 (t=63.4111) |[28]GP+[GFX1-]: [CompositorD3D11] device removed with error code: 0x887a0005, 0x887a0020, 0 (t=63.4111) |[29]GP+[GFX1-]: GFX: D3D11 skip BeginFrame with device-removed. (t=64.3511) |[30]GP+[GFX1-]: D3D11 swap chain preset failed 0x887a0005 (t=65.4511) [GFX1-]: Receive IPC close with reason=AbnormalShutdown
[Parent 2116, Compositor] WARNING: Invalid to register the same layer tree twice: file c:/Projects/mozilla-central/gfx/layers/ipc/CompositorBridgeParent.cpp, line 1648
IPDL protocol error: Handler returned error code!

###!!! [Parent][DispatchSyncMessage] Error: PCompositorBridge::Msg_NotifyChildRecreated Processing error: message was deserialized, but the handler returned false (indicating failure)

[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/dom/base/nsContentUtils.cpp, line 8271
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/dom/base/nsContentUtils.cpp, line 8271
[Parent 2116, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file c:/Projects/mozilla-central/netwerk/url-classifier/UrlClassifierCommon.cpp, line 296
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/netwerk/url-classifier/AsyncUrlChannelClassifier.cpp, line 693
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/netwerk/url-classifier/AsyncUrlChannelClassifier.cpp, line 314
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/netwerk/url-classifier/AsyncUrlChannelClassifier.cpp, line 555
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/netwerk/url-classifier/AsyncUrlChannelClassifier.cpp, line 773
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/dom/base/nsContentUtils.cpp, line 8271
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/dom/base/nsContentUtils.cpp, line 8271
[Parent 2116, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file c:/Projects/mozilla-central/netwerk/url-classifier/UrlClassifierCommon.cpp, line 296
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/netwerk/url-classifier/AsyncUrlChannelClassifier.cpp, line 693
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/netwerk/url-classifier/AsyncUrlChannelClassifier.cpp, line 314
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/netwerk/url-classifier/AsyncUrlChannelClassifier.cpp, line 555
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/netwerk/url-classifier/AsyncUrlChannelClassifier.cpp, line 773
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/dom/base/nsContentUtils.cpp, line 8271
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/dom/base/nsContentUtils.cpp, line 8271
[Parent 2116, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file c:/Projects/mozilla-central/netwerk/url-classifier/UrlClassifierCommon.cpp, line 296
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/netwerk/url-classifier/AsyncUrlChannelClassifier.cpp, line 693
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/netwerk/url-classifier/AsyncUrlChannelClassifier.cpp, line 314
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/netwerk/url-classifier/AsyncUrlChannelClassifier.cpp, line 555
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/netwerk/url-classifier/AsyncUrlChannelClassifier.cpp, line 773
[Parent 2116, Cache2 I/O] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80040111: file c:/Projects/mozilla-central/netwerk/protocol/http/nsHttpChannel.cpp, line 4214
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/dom/base/nsContentUtils.cpp, line 8271
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/dom/base/nsContentUtils.cpp, line 8271
[Parent 2116, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file c:/Projects/mozilla-central/netwerk/url-classifier/UrlClassifierCommon.cpp, line 296
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/netwerk/url-classifier/AsyncUrlChannelClassifier.cpp, line 693
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/netwerk/url-classifier/AsyncUrlChannelClassifier.cpp, line 314
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/netwerk/url-classifier/AsyncUrlChannelClassifier.cpp, line 555
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/netwerk/url-classifier/AsyncUrlChannelClassifier.cpp, line 773
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/dom/base/nsContentUtils.cpp, line 8271
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/dom/base/nsContentUtils.cpp, line 8271
[Parent 2116, Cache2 I/O] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80040111: file c:/Projects/mozilla-central/netwerk/protocol/http/nsHttpChannel.cpp, line 4214
[Parent 2116, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file c:/Projects/mozilla-central/netwerk/url-classifier/UrlClassifierCommon.cpp, line 296
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/netwerk/url-classifier/AsyncUrlChannelClassifier.cpp, line 693
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/netwerk/url-classifier/AsyncUrlChannelClassifier.cpp, line 314
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/netwerk/url-classifier/AsyncUrlChannelClassifier.cpp, line 555
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/netwerk/url-classifier/AsyncUrlChannelClassifier.cpp, line 773
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/dom/base/nsContentUtils.cpp, line 8271
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/dom/base/nsContentUtils.cpp, line 8271
[Parent 2116, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file c:/Projects/mozilla-central/netwerk/url-classifier/UrlClassifierCommon.cpp, line 296
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/netwerk/url-classifier/AsyncUrlChannelClassifier.cpp, line 693
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/netwerk/url-classifier/AsyncUrlChannelClassifier.cpp, line 314
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/netwerk/url-classifier/AsyncUrlChannelClassifier.cpp, line 555
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/netwerk/url-classifier/AsyncUrlChannelClassifier.cpp, line 773
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/dom/base/nsContentUtils.cpp, line 8271
[Parent 2116, Cache2 I/O] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80040111: file c:/Projects/mozilla-central/netwerk/protocol/http/nsHttpChannel.cpp, line 4214
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/dom/base/nsContentUtils.cpp, line 8271
[Parent 2116, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file c:/Projects/mozilla-central/netwerk/url-classifier/UrlClassifierCommon.cpp, line 296
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/netwerk/url-classifier/AsyncUrlChannelClassifier.cpp, line 693
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/netwerk/url-classifier/AsyncUrlChannelClassifier.cpp, line 314
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/netwerk/url-classifier/AsyncUrlChannelClassifier.cpp, line 555
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/netwerk/url-classifier/AsyncUrlChannelClassifier.cpp, line 773
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/dom/base/nsContentUtils.cpp, line 8271
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/dom/base/nsContentUtils.cpp, line 8271
[Parent 2116, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file c:/Projects/mozilla-central/netwerk/url-classifier/UrlClassifierCommon.cpp, line 296
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/netwerk/url-classifier/AsyncUrlChannelClassifier.cpp, line 693
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/netwerk/url-classifier/AsyncUrlChannelClassifier.cpp, line 314
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/netwerk/url-classifier/AsyncUrlChannelClassifier.cpp, line 555
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/netwerk/url-classifier/AsyncUrlChannelClassifier.cpp, line 773
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/dom/base/nsContentUtils.cpp, line 8271
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/dom/base/nsContentUtils.cpp, line 8271
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/dom/base/nsContentUtils.cpp, line 8271
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/dom/base/nsContentUtils.cpp, line 8271
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/dom/base/nsContentUtils.cpp, line 8271
[Parent 2116, Main Thread] WARNING: 'NS_FAILED(rv)', file c:/Projects/mozilla-central/dom/base/nsContentUtils.cpp, line 8271
[Parent 2116, Compositor] WARNING: Created child without a matching parent?: file c:/Projects/mozilla-central/gfx/layers/ipc/ContentCompositorBridgeParent.cpp, line 105
[Parent 2116, Gecko_IOThread] WARNING: pipe error: 109: file c:/Projects/mozilla-central/ipc/chromium/src/chrome/common/ipc_channel_win.cc, line 341
Assertion failure: state.mApzcTreeManagerParent == parent, at c:/Projects/mozilla-central/gfx/layers/ipc/ContentCompositorBridgeParent.cpp:163
[Parent 2116, Main Thread] WARNING: Need BrowserChild to get the nativeWindow from!: file c:/Projects/mozilla-central/widget/PuppetWidget.cpp, line 1094
#01: mozilla::layers::PCompositorBridgeParent::ClearSubtree (c:\Projects\mozilla-builds\obj-ff-dbg-opt\ipc\ipdl\PCompositorBridgeParent.cpp:2169)
#02: mozilla::layers::PCompositorBridgeParent::OnMessageReceived (c:\Projects\mozilla-builds\obj-ff-dbg-opt\ipc\ipdl\PCompositorBridgeParent.cpp:866)
#03: mozilla::layers::PCompositorManagerParent::OnMessageReceived (c:\Projects\mozilla-builds\obj-ff-dbg-opt\ipc\ipdl\PCompositorManagerParent.cpp:200)
#04: mozilla::ipc::MessageChannel::DispatchAsyncMessage (c:\Projects\mozilla-central\ipc\glue\MessageChannel.cpp:2159)
#05: mozilla::ipc::MessageChannel::DispatchMessage (c:\Projects\mozilla-central\ipc\glue\MessageChannel.cpp:2082)
#06: mozilla::ipc::MessageChannel::RunMessage (c:\Projects\mozilla-central\ipc\glue\MessageChannel.cpp:1940)
#07: mozilla::ipc::MessageChannel::MessageTask::Run (c:\Projects\mozilla-central\ipc\glue\MessageChannel.cpp:1972)
#08: MessageLoop::RunTask (c:\Projects\mozilla-central\ipc\chromium\src\base\message_loop.cc:443)
#09: MessageLoop::DeferOrRunPendingTask (c:\Projects\mozilla-central\ipc\chromium\src\base\message_loop.cc:450)
#10: MessageLoop::DoWork (c:\Projects\mozilla-central\ipc\chromium\src\base\message_loop.cc:523)
#11: base::MessagePumpForUI::DoRunLoop (c:\Projects\mozilla-central\ipc\chromium\src\base\message_pump_win.cc:204)
#12: base::MessagePumpWin::Run (c:\Projects\mozilla-central\ipc\chromium\src\base\message_pump_win.h:79)
#13: MessageLoop::RunHandler (c:\Projects\mozilla-central\ipc\chromium\src\base\message_loop.cc:309)
#14: base::Thread::ThreadMain (c:\Projects\mozilla-central\ipc\chromium\src\base\thread.cc:192)
#15: `anonymous namespace'::ThreadFunc (c:\Projects\mozilla-central\ipc\chromium\src\base\platform_thread_win.cc:20)
#16: BaseThreadInitThunk[C:\WINDOWS\System32\KERNEL32.DLL +0x17974]
#17: patched_BaseThreadInitThunk (c:\Projects\mozilla-central\mozglue\build\WindowsDllBlocklist.cpp:713)
#18: RtlUserThreadStart[C:\WINDOWS\SYSTEM32\ntdll.dll +0x6a271]

I've attached an about support from the nightly I'm currently running in -- not my local build, since I can't get it running. Based on the gfx section, it also seems unhappy.

Looking at earlier 2019-05 builds with mozregression, I'm also seeing startup crashes -- though my local debug builds were running fine until yesterday/today. So the recent pull may be a red herring and it could be something else interacting.

Based on testing, I think this is a regression from bug 1547775. My current local builds are perma fails, but when using mozregression and downloading debug builds the crashes are intermittent (still dying with Assertion failure: state.mApzcTreeManagerParent == parent). It's hard to be sure, but I've tried to repro for some time on the changeset prior to bug 1547775 and haven't been able to.

As such, this may be a dupe of bug 1555098, but will leave this open so someone more familiar with the code can make that call.

This appears to be related to me driving an external monitor from my laptop. I'd been traveling recently and using my laptop without any external displays. I'm walking back to builds that were fine while traveling and am seeing them crash now. E.g. central df3eadfa74a8 from May 8th is now failing with the same issue. It's not a perma fail like more recent builds, but does fail with the same assert if I navigate between home and about:support repeatedly.

Component: Graphics → Panning and Zooming

Can you change the assertion here to MOZ_ASSERT(state.mApzcTreeManagerParent == nullptr || state.mApzcTreeManagerParent == parent); and see if that still fails? I think the assertion is failing because of the previous errors so fixing those would automatically avoid this crash. But it would be good to verify by making this change locally.

Flags: needinfo?(bvandyk)

(The specific previous error that sounds like it might result in this crash is WARNING: Invalid to register the same layer tree twice)

(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #4)

Can you change the assertion here to MOZ_ASSERT(state.mApzcTreeManagerParent == nullptr || state.mApzcTreeManagerParent == parent); and see if that still fails? I think the assertion is failing because of the previous errors so fixing those would automatically avoid this crash. But it would be good to verify by making this change locally.

Inconveniently I'm currently moving house + home office, and all my monitors are now packed and in the care of movers. The expected unload date is 13 of June. I'll attempt to test this as early as I can. Holding NI for now.

Testing changing this line to MOZ_ASSERT(state.mApzcTreeManagerParent == nullptr || state.mApzcTreeManagerParent == parent); still results in failure with double buffering enabled.

I've just noticed that I'm hitting this assert before the one mentioned above (on a different process). The thread I'm hitting the assert on is named 'Compositor', but at the time of that call the debugger reports that CompositorThread() is returning NULL. I imagine this may be relevant?

If I pref off double buffering I do not hit either assert.

Flags: needinfo?(bvandyk)

The priority flag is not set for this bug.
:kats, could you have a look please?

For more information, please visit auto_nag documentation.

Flags: needinfo?(kats)

(In reply to Bryce Seager van Dyk (:bryce) from comment #7)

I've just noticed that I'm hitting this assert before the one mentioned above (on a different process). The thread I'm hitting the assert on is named 'Compositor', but at the time of that call the debugger reports that CompositorThread() is returning NULL. I imagine this may be relevant?

Do you have a stack for this assertion failure? It might be helpful.

In the about:support you posted in comment 0 these errors are present:

(#0): GP+[GFX1-]: D3D11 swap chain preset failed 0x887a0005
(#166): GP+[GFX1-]: [D3D11] Failed to init compositor with reason: FEATURE_FAILURE_D3D11_SWAP_CHAIN
(#167): GP+[GFX1-]: [D3D11] create swap chain failed: 0x887a0005, 0

I tried to replicate this by inserting code changes on the assumption that this would then trigger the assertion failures, but unfortunately I wasn't able to trigger the assertion failures. So this seems to be specific to your setup. Do you see this on a new profile as well? Or only on a pre-existing profile (perhaps which tries to restore multiple windows on different monitors)? Any more details you think might be relevant would be helpful.

Flags: needinfo?(kats)

Throwing up NI on myself to get a stack trace for the other assert. Currently at the all hands, will try to get one as soon as I can.

Flags: needinfo?(bvandyk)

(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #9)

(In reply to Bryce Seager van Dyk (:bryce) from comment #7)

I've just noticed that I'm hitting this assert before the one mentioned above (on a different process). The thread I'm hitting the assert on is named 'Compositor', but at the time of that call the debugger reports that CompositorThread() is returning NULL. I imagine this may be relevant?

Do you have a stack for this assertion failure? It might be helpful.

Stack from Visual Studio:

>	xul.dll!mozilla::layers::APZUpdater::ClearTree(mozilla::layers::LayersId aRootLayersId) Line 135	C++
 	xul.dll!mozilla::layers::CompositorBridgeParent::StopAndClearResources() Line 441	C++
 	xul.dll!mozilla::layers::CompositorBridgeParent::RecvWillClose() Line 521	C++
 	xul.dll!mozilla::layers::PCompositorBridgeParent::OnMessageReceived(const IPC::Message & msg__, IPC::Message * & reply__) Line 1605	C++
 	xul.dll!mozilla::layers::PCompositorManagerParent::OnMessageReceived(const IPC::Message & msg__, IPC::Message * & reply__) Line 502	C++
 	xul.dll!mozilla::ipc::MessageChannel::DispatchSyncMessage(mozilla::ipc::ActorLifecycleProxy * aProxy, const IPC::Message & aMsg, IPC::Message * & aReply) Line 2127	C++
 	xul.dll!mozilla::ipc::MessageChannel::DispatchMessage(IPC::Message && aMsg) Line 2078	C++
 	xul.dll!mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::MessageChannel::MessageTask & aTask) Line 1940	C++
 	xul.dll!mozilla::ipc::MessageChannel::MessageTask::Run() Line 1972	C++
 	xul.dll!MessageLoop::RunTask(already_AddRefed<nsIRunnable> aTask) Line 443	C++
 	xul.dll!MessageLoop::DeferOrRunPendingTask(MessageLoop::PendingTask && pending_task) Line 450	C++
 	xul.dll!MessageLoop::DoWork() Line 523	C++
 	xul.dll!base::MessagePumpForUI::DoRunLoop() Line 204	C++
 	xul.dll!base::MessagePumpWin::Run(base::MessagePump::Delegate * delegate) Line 79	C++
 	xul.dll!MessageLoop::RunHandler() Line 309	C++
 	xul.dll!base::Thread::ThreadMain() Line 192	C++
 	xul.dll!`anonymous namespace'::ThreadFunc(void * closure) Line 20	C++
 	[External Code]	
 	mozglue.dll!patched_BaseThreadInitThunk(int aIsInitialThread, void * aStartAddress, void * aThreadParam) Line 618	C++
 	[External Code]	

In the about:support you posted in comment 0 these errors are present:

(#0): GP+[GFX1-]: D3D11 swap chain preset failed 0x887a0005
(#166): GP+[GFX1-]: [D3D11] Failed to init compositor with reason: FEATURE_FAILURE_D3D11_SWAP_CHAIN
(#167): GP+[GFX1-]: [D3D11] create swap chain failed: 0x887a0005, 0

I tried to replicate this by inserting code changes on the assumption that this would then trigger the assertion failures, but unfortunately I wasn't able to trigger the assertion failures. So this seems to be specific to your setup. Do you see this on a new profile as well? Or only on a pre-existing profile (perhaps which tries to restore multiple windows on different monitors)? Any more details you think might be relevant would be helpful.

I'm testing this using the Visual Studio solution generated by mach and auto attaching with the MS child debugging powertool.

I'm reproing this on a laptop (Lenovo P51) driving one external monitor. I usually have my laptop closed so that I only have display on that one monitor. In all these error cases I'm driving the external monitor from the laptop, and Firefox is only being displayed on that monitor. I.e. Firefox is not being displayed on multiple, independent monitors. Not sure if this makes a different from the graphics stack's perspective, but mention it in case it helps.

Testing with a fresh profile I don't appear to hit the assert I mentioned in comment 7, this does only seems to happen if starting with a preexisting profile. It does happen with a profile with minimal windows being restored (1 window on one monitor).

If I use a fresh profile I instead hit one of the following asserts depending on the run (appears racy): in CompositorAnimationStorage::ClearById

>	xul.dll!mozilla::layers::CompositorAnimationStorage::ClearById(const unsigned __int64 & aId) Line 33	C++
 	xul.dll!mozilla::layers::LayerTransactionParent::RecvReleaseLayer(const mozilla::layers::LayerHandle & aHandle) Line 1012	C++
 	xul.dll!mozilla::layers::PLayerTransactionParent::OnMessageReceived(const IPC::Message & msg__) Line 277	C++
 	xul.dll!mozilla::layers::PCompositorManagerParent::OnMessageReceived(const IPC::Message & msg__) Line 200	C++
 	xul.dll!mozilla::ipc::MessageChannel::DispatchAsyncMessage(mozilla::ipc::ActorLifecycleProxy * aProxy, const IPC::Message & aMsg) Line 2159	C++
 	xul.dll!mozilla::ipc::MessageChannel::DispatchMessage(IPC::Message && aMsg) Line 2082	C++
 	xul.dll!mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::MessageChannel::MessageTask & aTask) Line 1940	C++
 	xul.dll!mozilla::ipc::MessageChannel::MessageTask::Run() Line 1972	C++
 	xul.dll!MessageLoop::RunTask(already_AddRefed<nsIRunnable> aTask) Line 443	C++
 	xul.dll!MessageLoop::DeferOrRunPendingTask(MessageLoop::PendingTask && pending_task) Line 450	C++
 	xul.dll!MessageLoop::DoWork() Line 523	C++
 	xul.dll!base::MessagePumpForUI::DoRunLoop() Line 204	C++
 	xul.dll!base::MessagePumpWin::Run(base::MessagePump::Delegate * delegate) Line 79	C++
 	xul.dll!MessageLoop::RunHandler() Line 309	C++
 	xul.dll!base::Thread::ThreadMain() Line 192	C++
 	xul.dll!`anonymous namespace'::ThreadFunc(void * closure) Line 20	C++
 	[External Code]	
 	mozglue.dll!patched_BaseThreadInitThunk(int aIsInitialThread, void * aStartAddress, void * aThreadParam) Line 618	C++
 	[External Code]	

or in DeviceManagerDx::GetCompositorDevices:

>	xul.dll!mozilla::gfx::DeviceManagerDx::GetCompositorDevices(RefPtr<ID3D11Device> * aOutDevice, RefPtr<mozilla::layers::DeviceAttachmentsD3D11> * aOutAttachments) Line 1267	C++
 	xul.dll!mozilla::detail::RunnableFunction<`lambda at c:/Projects/mozilla-central/gfx/thebes/DeviceManagerDx.cpp:1312:7'>::Run() Line 564	C++
 	xul.dll!MessageLoop::RunTask(already_AddRefed<nsIRunnable> aTask) Line 443	C++
 	xul.dll!MessageLoop::DeferOrRunPendingTask(MessageLoop::PendingTask && pending_task) Line 450	C++
 	xul.dll!MessageLoop::DoWork() Line 523	C++
 	xul.dll!base::MessagePumpForUI::DoRunLoop() Line 204	C++
 	xul.dll!base::MessagePumpWin::Run(base::MessagePump::Delegate * delegate) Line 79	C++
 	xul.dll!MessageLoop::RunHandler() Line 309	C++
 	xul.dll!base::Thread::ThreadMain() Line 192	C++
 	xul.dll!`anonymous namespace'::ThreadFunc(void * closure) Line 20	C++
 	[External Code]	
 	mozglue.dll!patched_BaseThreadInitThunk(int aIsInitialThread, void * aStartAddress, void * aThreadParam) Line 618	C++
 	[External Code]	

or in APZUpdater::NotifyLayerTreeRemoved:

>	xul.dll!mozilla::layers::APZUpdater::NotifyLayerTreeRemoved(mozilla::layers::WRRootId aWrRootId) Line 262	C++
 	xul.dll!mozilla::layers::EraseLayerState(mozilla::layers::LayersId aId) Line 1893	C++
 	xul.dll!mozilla::layers::ContentCompositorBridgeParent::DeallocPLayerTransactionParent(mozilla::layers::PLayerTransactionParent * aLayers) Line 122	C++
 	xul.dll!mozilla::ipc::ActorLifecycleProxy::Release() Line 922	C++
 	xul.dll!mozilla::layers::PCompositorManagerParent::OnMessageReceived(const IPC::Message & msg__, IPC::Message * & reply__) Line 503	C++
 	xul.dll!mozilla::ipc::MessageChannel::DispatchSyncMessage(mozilla::ipc::ActorLifecycleProxy * aProxy, const IPC::Message & aMsg, IPC::Message * & aReply) Line 2127	C++
 	xul.dll!mozilla::ipc::MessageChannel::DispatchMessage(IPC::Message && aMsg) Line 2078	C++
 	xul.dll!mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::MessageChannel::MessageTask & aTask) Line 1940	C++
 	xul.dll!mozilla::ipc::MessageChannel::MessageTask::Run() Line 1972	C++
 	xul.dll!MessageLoop::RunTask(already_AddRefed<nsIRunnable> aTask) Line 443	C++
 	xul.dll!MessageLoop::DeferOrRunPendingTask(MessageLoop::PendingTask && pending_task) Line 450	C++
 	xul.dll!MessageLoop::DoWork() Line 523	C++
 	xul.dll!base::MessagePumpForUI::DoRunLoop() Line 204	C++
 	xul.dll!base::MessagePumpWin::Run(base::MessagePump::Delegate * delegate) Line 79	C++
 	xul.dll!MessageLoop::RunHandler() Line 309	C++
 	xul.dll!base::Thread::ThreadMain() Line 192	C++
 	xul.dll!`anonymous namespace'::ThreadFunc(void * closure) Line 20	C++
 	[External Code]	
 	mozglue.dll!patched_BaseThreadInitThunk(int aIsInitialThread, void * aStartAddress, void * aThreadParam) Line 618	C++
 	[External Code]	

In rare cases I do not hit any of the above and Firefox start without any further asserts. In these cases I still see errors in my about:support:

(#0) 	GP+[GFX1-]: GFX: D3D11 detected a device reset in Present
(#8) 	GP+[GFX1-]: GFX: D3D11 detected a device reset in Present
(#9) 	GP+[GFX1-]: D3D11 swap chain failed to present: 0x887a0005
(#10) 	GP+[GFX1-]: GFX: D3D11 detected a device reset in Present
(#11) 	GP+[GFX1-]: D3D11 swap chain failed to present: 0x887a0005
(#12) 	GP+[GFX1-]: GFX: D3D11 detected a device reset in Present
(#13) 	GP+[GFX1-]: D3D11 swap chain failed to present: 0x887a0005
(#14) 	GP+[GFX1-]: GFX: D3D11 detected a device reset in Present
(#15) 	GP+[GFX1-]: D3D11 swap chain failed to present: 0x887a0005
(#16) 	GP+[GFX1-]: D3D11 swap chain preset failed 0x887a0005
(#17) 	GP+[GFX1-]: [CompositorD3D11] device removed with error code: 0x887a0005, 0x887a0020, 0
(#18) Error	Compositors might be mixed (3,1)
(#19) 	GP+[GFX1-]: [D3D11] create swap chain failed: 0x887a0005, 0
(#20) 	GP+[GFX1-]: [D3D11] Failed to init compositor with reason: FEATURE_FAILURE_D3D11_SWAP_CHAIN
(#21) 	GP+[GFX1-]: [D3D11] create swap chain failed: 0x887a0005, 0
(#22) 	GP+[GFX1-]: [D3D11] Failed to init compositor with reason: FEATURE_FAILURE_D3D11_SWAP_CHAIN
Flags: needinfo?(bvandyk)

Thanks for the detailed info! The fact that you're racily hitting one of three IsInCompositorThread assertions seems to indicate a GPU process shutdown race condition where the compositor thread is destroyed while IPC messages are still incoming. This seems plausible given that the errors you see in your about:support are likely triggering a GPU process shutdown.

Sotaro, do you know what might be happening here? This only happens with double-buffering enabled.

Component: Panning and Zooming → Graphics
Flags: needinfo?(sotaro.ikeda.g)
Summary: Startup crash in local build, possibly due to Assertion failure: state.mApzcTreeManagerParent == parent, at c:/Projects/mozilla-central/gfx/layers/ipc/ContentCompositorBridgeParent.cpp:163 → Startup crash in local build with double buffering enabled

From comments, the problem seemed to mention about debug build.

:bryce, did the crash happen on release build?

Flags: needinfo?(bvandyk)

On debug build, the crash could happens if device reset happens very often.

Compositor thread is shutdown by CompositorThreadHolder::Shutdown(). But CompositorManagerParent::Shutdown() does nothing on debug build, since COMPOSITOR_MANAGER_PARENT_EXPLICIT_SHUTDOWN is not defined on debug build.
https://searchfox.org/mozilla-central/source/gfx/layers/ipc/CompositorManagerParent.h#25
https://searchfox.org/mozilla-central/source/gfx/layers/ipc/CompositorManagerParent.cpp#203

With the patch, I could reproduce the assert failures on debug build with the following STR on Win10.
[1] apply the patch and build "debug build".
[2] Enable CompositorD3D11 by changing pref

  • pref "gfx.webrender.force-disabled" to true
  • pref "layers.mlgpu.enabled" to false;

[3] Start Firefox with debug build.

(In reply to Sotaro Ikeda [:sotaro] from comment #13)

From comments, the problem seemed to mention about debug build.

:bryce, did the crash happen on release build?

Just tested with opt and dbg builds. Only crashes on dbg, I suspect as a product of asserts.

Flags: needinfo?(bvandyk)
Depends on: 1562847
Flags: needinfo?(sotaro.ikeda.g)
Has Regression Range: --- → yes

FWIW, bug 1562847 was fixed July 9, 2019, i.e. after the last comments in this bug

Summary: Startup crash in local build with double buffering enabled → Startup crash in local build with double buffering enabled. For debug asserts.
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: