Frozen rendering with gfx.webrender.software.opengl via GLX, huge memory growth and system hang when resizing the window (Workaround: gfx.x11-egl.force-enabled=true)
Categories
(Core :: Widget: Gtk, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr91 | --- | unaffected |
firefox95 | --- | disabled |
firefox96 | --- | disabled |
firefox97 | --- | disabled |
People
(Reporter: jan, Unassigned)
References
(Blocks 1 open bug, Regression)
Details
(4 keywords)
Attachments
(2 files)
Tried to reproduce bug 1745551 with a different configuration and found this.
MOZ_GTK_TITLEBAR_DECORATION=none mozregression --good 2021-08-01 --bad 2021-12-10 --pref gfx.x11-egl.force-disabled:true gfx.webrender.software:true gfx.webrender.allow-partial-present-buffer-age:false gfx.webrender.max-partial-present-rects:0 layout.animation.prerender.partial:false gfx.webrender.software.opengl:true -a about:support
7:00.38 INFO: Last good revision: 334e3d59d932dd2850dec7c582f32f49b504e450
7:00.38 INFO: First bad revision: f632271e9d62ad6b7e90acd52e77d3e02a66980e
7:00.38 INFO: Pushlog:
https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=334e3d59d932dd2850dec7c582f32f49b504e450&tochange=f632271e9d62ad6b7e90acd52e77d3e02a66980e
f632271e9d62ad6b7e90acd52e77d3e02a66980e stransky — Bug 1737068 [Linux] Grab pointer when window is mapped and there's an active request for it, r=rmader
88ecfc06a2672fcf016d3a6cd5ec36ddd0d19ecf stransky — Bug 1737068 [Linux] Postpone compositor rendering until widget window is ready, r=rmader
00569d0fc9b92fc99ab56ef014425b3c4f9c3ab3 stransky — Bug 1737068 [Linux] Enable/Disable rendering to GdkWindow when we're mapped/unmapped r=rmader
Reporter | ||
Comment 1•3 years ago
|
||
Reporter | ||
Comment 2•3 years ago
|
||
Gnome Xwayland, Debian Testing, Intel
Reporter | ||
Comment 3•3 years ago
|
||
gfx.webrender.software.opengl:true is non-default.
Reporter | ||
Updated•3 years ago
|
Reporter | ||
Comment 4•3 years ago
|
||
Scrolling down does not fix rendering.
Reporter | ||
Comment 5•3 years ago
|
||
EGL==good:
mozregression --launch 2021-12-14 --pref gfx.x11-egl.force-enabled:true gfx.webrender.software:true gfx.webrender.software.opengl:true -a about:support
GLX==bad:
mozregression --launch 2021-12-14 --pref gfx.x11-egl.force-disabled:true gfx.webrender.software:true gfx.webrender.software.opengl:true -a about:support
Reporter | ||
Updated•3 years ago
|
Reporter | ||
Updated•3 years ago
|
Comment 7•2 years ago
|
||
Jan, can you please test latest nightly? We changed the code to not pause the compositor, we just refresh the underlying XWindow.
Thanks.
Reporter | ||
Comment 8•1 year ago
|
||
(In reply to Martin Stránský [:stransky] (ni? me) from comment #7)
Jan, can you please test latest nightly? We changed the code to not pause the compositor, we just refresh the underlying XWindow.
Thanks.
(In reply to Darkspirit from comment #5)
GLX==bad:
mozregression --launch 2021-12-14 --pref gfx.x11-egl.force-disabled:true gfx.webrender.software:true gfx.webrender.software.opengl:true -a about:support
I could reproduce above hang/memory growth with above command on KDE (X)Wayland, Debian Testing, Intel.
Btw, this kind of frozen rendering feels like bug 1796960. Does it somehow use RenderCompositorOGL instead of RenderCompositorEGL? bug 1635186 comment 52
It was also reproducible with:
MOZ_ENABLE_WAYLAND=0 mozregression --launch 2022-01-01 --pref gfx.x11-egl.force-disabled:true gfx.webrender.software:true gfx.webrender.software.opengl:true -a about:support
But it has become a crash.
MOZ_ENABLE_WAYLAND=0 mozregression --launch 2022-06-01 --pref gfx.x11-egl.force-disabled:true gfx.webrender.software:true gfx.webrender.software.opengl:true -a about:support
MOZ_ENABLE_WAYLAND=0 mozregression --launch 2023-01-01 --pref gfx.x11-egl.force-disabled:true gfx.webrender.software:true gfx.webrender.software.opengl:true -a about:support
MOZ_ENABLE_WAYLAND=0 mozregression --launch 2023-06-01 --pref gfx.x11-egl.force-disabled:true gfx.webrender.software:true gfx.webrender.software.opengl:true -a about:support
When did the GLX/Xwayland crashing start:
bad=hang/memory usage growth
good=crash
MOZ_ENABLE_WAYLAND=0 mozregression --find-fix --bad 2022-01-01 --good 2022-06-01 --pref gfx.x11-egl.force-disabled:true gfx.webrender.software:true gfx.webrender.software.opengl:true -a about:support
6:39.44 INFO: First good revision: ba973417adb8c738b0ab57328fd28133c77bcf5b (2022-04-19)
6:39.44 INFO: Last bad revision: a1be0e0a7515604ac0a9bf5d08ac8cdb798867bc (2022-04-18)
6:39.44 INFO: Pushlog:
https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=a1be0e0a7515604ac0a9bf5d08ac8cdb798867bc&tochange=ba973417adb8c738b0ab57328fd28133c77bcf5b
autoland builds are gone.
This one added the crash reason:
f6c7c0ed6ebb4950f7dce006b83411bba6f2a0af Jamie Nicol — Bug 1762424 - Force crash if unable to create Surface after trying all fallback configurations. r=gfx-reviewers,nical
MOZ_ENABLE_WAYLAND=0 mozregression --launch 2023-06-01 --pref gfx.x11-egl.force-disabled:true gfx.webrender.software:true
0:36.70 INFO: b'[154439, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /builds/worker/checkouts/gecko/toolkit/xre/nsXREDirProvider.cpp:475'
0:36.70 INFO: b'[154439, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /builds/worker/checkouts/gecko/toolkit/xre/nsXREDirProvider.cpp:475'
0:36.77 INFO: b'[Parent 154439, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /builds/worker/checkouts/gecko/toolkit/xre/nsXREDirProvider.cpp:475'
0:36.83 INFO: b'[Parent 154439, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /builds/worker/checkouts/gecko/toolkit/xre/nsXREDirProvider.cpp:475'
0:36.83 INFO: b'[Parent 154439, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /builds/worker/checkouts/gecko/toolkit/xre/nsXREDirProvider.cpp:475'
0:37.34 INFO: b'[WARN rkv::backend::impl_safe::environment]load_ratio()
is irrelevant for this storage backend.'
0:38.06 INFO: b'[Parent 154439, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /builds/worker/checkouts/gecko/toolkit/xre/nsXREDirProvider.cpp:475'
0:38.21 INFO: b'[Parent 154439, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /builds/worker/checkouts/gecko/toolkit/xre/nsXREDirProvider.cpp:475'
0:38.22 INFO: b'[Parent 154439, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /builds/worker/checkouts/gecko/toolkit/xre/nsXREDirProvider.cpp:475'
0:38.33 INFO: b"[Socket 154518, Main Thread] WARNING: 'NS_FAILED(rv)', file /builds/worker/checkouts/gecko/netwerk/protocol/http/nsHttpHandler.cpp:371"
0:39.20 INFO: b'[Parent 154439, GMPThread] WARNING: Failed to delete GMP storage directory: file /builds/worker/checkouts/gecko/dom/media/gmp/GMPServiceParent.cpp:1759'
0:39.25 INFO: b'[Child 154538, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /builds/worker/checkouts/gecko/toolkit/xre/nsXREDirProvider.cpp:475'
0:39.28 INFO: b'[Child 154538, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /builds/worker/checkouts/gecko/toolkit/xre/nsXREDirProvider.cpp:475'
0:39.28 INFO: b'[Child 154538, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /builds/worker/checkouts/gecko/toolkit/xre/nsXREDirProvider.cpp:475'
0:39.34 INFO: b'[Child 154538, Main Thread] WARNING: Fallback to FallbackRenderer: file /builds/worker/checkouts/gecko/dom/ipc/BrowserChild.cpp:2689'
0:39.35 INFO: b'[Child 154538, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005 (NS_ERROR_FAILURE): file /builds/worker/checkouts/gecko/toolkit/xre/nsXREDirProvider.cpp:475'
0:39.35 INFO: b'[Child 154538, Main Thread] WARNING: Fallback to FallbackRenderer: file /builds/worker/checkouts/gecko/dom/ipc/BrowserChild.cpp:2689'
0:39.36 INFO: b'[Child 154538, Main Thread] WARNING: Fallback to FallbackRenderer: file /builds/worker/checkouts/gecko/dom/ipc/BrowserChild.cpp:2689'
0:39.37 INFO: b'[Child 154538, Main Thread] WARNING: Fallback to FallbackRenderer: file /builds/worker/checkouts/gecko/dom/ipc/BrowserChild.cpp:2689'
0:39.38 INFO: b'[Child 154538, Main Thread] WARNING: Fallback to FallbackRenderer: file /builds/worker/checkouts/gecko/dom/ipc/BrowserChild.cpp:2689'
0:39.71 INFO: b"[Parent 154439, Main Thread] WARNING: '!manager || !manager->CanSend()', file /builds/worker/checkouts/gecko/gfx/layers/ipc/SharedSurfacesChild.cpp:173"
0:39.86 INFO: b'[GLX] window 160004c has VisualID 0x2c6'
0:39.86 INFO: b'GL_VENDOR: Intel'
0:39.86 INFO: b'mVendor: Intel'
0:39.86 INFO: b'GL_RENDERER: Mesa Intel(R) Iris(R) Graphics 6100 (BDW GT3)'
0:39.86 INFO: b'mRenderer: Unknown'
0:39.86 INFO: b'mIsMesa: 1'
0:39.86 INFO: b'[Parent 154439, Renderer] WARNING: robust_buffer_access_behavior marked as unsupported: file /builds/worker/checkouts/gecko/gfx/gl/GLContextFeatures.cpp:638'
0:39.88 INFO: b'[WARN webrender::renderer::init] asking to enable_gpu_markers but no supporting extension was found'
0:40.21 INFO: b'[GFX1-]: Handling webrender error 3'
0:40.21 INFO: b'Hit MOZ_CRASH(Fallback configurations exhausted) at /builds/worker/checkouts/gecko/gfx/thebes/gfxPlatform.cpp:3744'
Reporter | ||
Updated•1 year ago
|
Reporter | ||
Comment 10•1 year ago
|
||
Duping for removal.
Description
•