[Wayland] SW WR OpenGL startup crash on Wayland
Categories
(Core :: Graphics: WebRender, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr102 | --- | unaffected |
firefox-esr115 | --- | wontfix |
firefox113 | --- | unaffected |
firefox114 | --- | unaffected |
firefox115 | --- | wontfix |
firefox116 | --- | wontfix |
firefox117 | --- | wontfix |
firefox118 | --- | wontfix |
People
(Reporter: jan, Assigned: aosmond, NeedInfo)
References
(Blocks 2 open bugs, Regression)
Details
(Keywords: crash, nightly-community, regression)
Crash Data
Attachments
(1 obsolete file)
Tested on KDE Wayland, Debian Testing, Intel.
=================================================================
==102241==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x7f32e5f5804b bp 0x7ffc6fa69b70 sp 0x7ffc6fa695a0 T0)
==102241==The signal is caused by a WRITE memory access.
==102241==Hint: address points to the zero page.
#0 0x7f32e5f5804b in gfxPlatform::FallbackFromAcceleration(mozilla::gfx::FeatureStatus, char const*, nsTSubstring<char> const&, bool) /builds/worker/checkouts/gecko/gfx/thebes/gfxPlatform.cpp:3744:5
#1 0x7f32e6119ea1 in mozilla::gfx::GPUProcessManager::FallbackFromAcceleration(mozilla::wr::WebRenderError, nsTString<char> const&) /builds/worker/checkouts/gecko/gfx/ipc/GPUProcessManager.cpp:613:12
#2 0x7f32e611cc4c in mozilla::gfx::GPUProcessManager::DisableWebRenderConfig(mozilla::wr::WebRenderError, nsTString<char> const&) /builds/worker/checkouts/gecko/gfx/ipc/GPUProcessManager.cpp:655:22
#3 0x7f32e611e413 in DisableWebRender /builds/worker/checkouts/gecko/gfx/ipc/GPUProcessManager.cpp:673:7
#4 0x7f32e611e413 in mozilla::gfx::GPUProcessManager::NotifyWebRenderError(mozilla::wr::WebRenderError) /builds/worker/checkouts/gecko/gfx/ipc/GPUProcessManager.cpp:693:3
#5 0x7f32e5cad4da in mozilla::layers::CompositorManagerChild::RecvNotifyWebRenderError(mozilla::wr::WebRenderError const&&) /builds/worker/checkouts/gecko/gfx/layers/ipc/CompositorManagerChild.cpp:250:29
#6 0x7f32e5a63faf in mozilla::layers::PCompositorManagerChild::OnMessageReceived(IPC::Message const&) /builds/worker/workspace/obj-build/ipc/ipdl/PCompositorManagerChild.cpp:571:90
#7 0x7f32e4cc2230 in mozilla::ipc::MessageChannel::DispatchAsyncMessage(mozilla::ipc::ActorLifecycleProxy*, IPC::Message const&) /builds/worker/checkouts/gecko/ipc/glue/MessageChannel.cpp:1811:25
#8 0x7f32e4cbeee4 in mozilla::ipc::MessageChannel::DispatchMessage(mozilla::ipc::ActorLifecycleProxy*, mozilla::UniquePtr<IPC::Message, mozilla::DefaultDelete<IPC::Message>>) /builds/worker/checkouts/gecko/ipc/glue/MessageChannel.cpp:1736:9
#9 0x7f32e4cbff43 in mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::ActorLifecycleProxy*, mozilla::ipc::MessageChannel::MessageTask&) /builds/worker/checkouts/gecko/ipc/glue/MessageChannel.cpp:1536:3
#10 0x7f32e4cc0ea2 in mozilla::ipc::MessageChannel::MessageTask::Run() /builds/worker/checkouts/gecko/ipc/glue/MessageChannel.cpp:1634:14
#11 0x7f32e32460fa in mozilla::RunnableTask::Run() /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:555:16
#12 0x7f32e32379e1 in mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:879:26
#13 0x7f32e32345f5 in mozilla::TaskController::ExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:702:15
#14 0x7f32e3234e34 in mozilla::TaskController::ProcessPendingMTTask(bool) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:491:36
#15 0x7f32e324b131 in operator() /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:218:37
#16 0x7f32e324b131 in mozilla::detail::RunnableFunction<mozilla::TaskController::TaskController()::$_0>::Run() /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.h:548:5
#17 0x7f32e327678b in nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1240:16
#18 0x7f32e32844e2 in NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:479:10
#19 0x7f32e4cca848 in mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:85:21
#20 0x7f32e4b1ba3a in RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:368:10
#21 0x7f32e4b1ba3a in RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:361:3
#22 0x7f32e4b1ba3a in MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:343:3
#23 0x7f32edb21ccc in nsBaseAppShell::Run() /builds/worker/checkouts/gecko/widget/nsBaseAppShell.cpp:148:27
#24 0x7f32f31876b5 in nsAppStartup::Run() /builds/worker/checkouts/gecko/toolkit/components/startup/nsAppStartup.cpp:295:30
#25 0x7f32f348c1ea in XREMain::XRE_mainRun() /builds/worker/checkouts/gecko/toolkit/xre/nsAppRunner.cpp:5659:22
#26 0x7f32f348e2e7 in XREMain::XRE_main(int, char**, mozilla::BootstrapConfig const&) /builds/worker/checkouts/gecko/toolkit/xre/nsAppRunner.cpp:5859:8
#27 0x7f32f348f469 in XRE_main(int, char**, mozilla::BootstrapConfig const&) /builds/worker/checkouts/gecko/toolkit/xre/nsAppRunner.cpp:5915:21
#28 0x55e36d32bb43 in do_main /builds/worker/checkouts/gecko/browser/app/nsBrowserApp.cpp:227:22
#29 0x55e36d32bb43 in main /builds/worker/checkouts/gecko/browser/app/nsBrowserApp.cpp:445:16
#30 0x7f32fd32f189 (/lib/x86_64-linux-gnu/libc.so.6+0x27189) (BuildId: 0401bd8da6edab3e45399d62571357ab12545133)
#31 0x7f32fd32f244 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x27244) (BuildId: 0401bd8da6edab3e45399d62571357ab12545133)
#32 0x55e36d255688 in _start (/home/darkspirit/firefox-asan/firefox-bin+0xa7688) (BuildId: ee146fb816bf808656567d7aea7a8eeaa5d66f96)
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /builds/worker/checkouts/gecko/gfx/thebes/gfxPlatform.cpp:3744:5 in gfxPlatform::FallbackFromAcceleration(mozilla::gfx::FeatureStatus, char const*, nsTSubstring<char> const&, bool)
==102241==ABORTING
Crash report: https://crash-stats.mozilla.org/report/index/aaf1a669-0af0-443c-a716-e970f0230601
MOZ_CRASH Reason: MOZ_CRASH(Fallback configurations exhausted)
Top 10 frames of crashing thread:
0 libxul.so gfxPlatform::FallbackFromAcceleration gfx/thebes/gfxPlatform.cpp:3744
1 libxul.so mozilla::gfx::GPUProcessManager::FallbackFromAcceleration gfx/ipc/GPUProcessManager.cpp
2 libxul.so mozilla::gfx::GPUProcessManager::DisableWebRenderConfig gfx/ipc/GPUProcessManager.cpp:655
3 libxul.so mozilla::gfx::GPUProcessManager::DisableWebRender gfx/ipc/GPUProcessManager.cpp:673
4 libxul.so mozilla::gfx::GPUProcessManager::NotifyWebRenderError gfx/ipc/GPUProcessManager.cpp:693
5 libxul.so mozilla::layers::CompositorManagerChild::RecvNotifyWebRenderError gfx/layers/ipc/CompositorManagerChild.cpp:250
6 libxul.so mozilla::layers::PCompositorManagerChild::OnMessageReceived ipc/ipdl/PCompositorManagerChild.cpp:571
7 libxul.so mozilla::ipc::MessageChannel::DispatchAsyncMessage ipc/glue/MessageChannel.cpp:1811
7 libxul.so mozilla::ipc::MessageChannel::DispatchMessage ipc/glue/MessageChannel.cpp:1736
8 libxul.so mozilla::ipc::MessageChannel::RunMessage ipc/glue/MessageChannel.cpp:1536
mozregression --launch 2023-06-01 --pref gfx.webrender.software:true gfx.webrender.software.opengl:true -B debug -P stdout
0:28.45 INFO: b'[96548, 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:28.45 INFO: b'[96548, 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:28.52 INFO: b'[Parent 96548, 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:28.56 INFO: b'[Parent 96548, 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:28.56 INFO: b'[Parent 96548, 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:29.17 INFO: b'[WARN rkv::backend::impl_safe::environment]load_ratio()
is irrelevant for this storage backend.'
0:29.82 INFO: b'[Parent 96548, 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:29.93 INFO: b'[Parent 96548, 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:29.93 INFO: b'[Parent 96548, Main Thread] WARNING: NS_ENSURE_TRUE(mPresShell) failed: file /builds/worker/checkouts/gecko/layout/base/nsPresContext.cpp:1202'
0:29.93 INFO: b'[Parent 96548, Main Thread] WARNING: NS_ENSURE_TRUE(mPresShell) failed: file /builds/worker/checkouts/gecko/layout/base/nsPresContext.cpp:1202'
0:29.93 INFO: b'[Parent 96548, Main Thread] WARNING: NS_ENSURE_TRUE(mPresShell) failed: file /builds/worker/checkouts/gecko/layout/base/nsPresContext.cpp:1202'
0:29.94 INFO: b'[Parent 96548, 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:30.05 INFO: b"[Socket 96633, Main Thread] WARNING: 'NS_FAILED(rv)', file /builds/worker/checkouts/gecko/netwerk/protocol/http/nsHttpHandler.cpp:371"
0:30.75 INFO: b'[Parent 96548, Main Thread] WARNING: NS_ENSURE_TRUE(mPresShell) failed: file /builds/worker/checkouts/gecko/layout/base/nsPresContext.cpp:1202'
0:30.75 INFO: b'[Parent 96548, Main Thread] WARNING: NS_ENSURE_TRUE(mPresShell) failed: file /builds/worker/checkouts/gecko/layout/base/nsPresContext.cpp:1202'
0:30.75 INFO: b'[Parent 96548, Main Thread] WARNING: NS_ENSURE_TRUE(mPresShell) failed: file /builds/worker/checkouts/gecko/layout/base/nsPresContext.cpp:1202'
0:30.79 INFO: b'[Parent 96548, GMPThread] WARNING: Failed to delete GMP storage directory: file /builds/worker/checkouts/gecko/dom/media/gmp/GMPServiceParent.cpp:1759'
0:30.84 INFO: b'[Child 96652, 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:30.87 INFO: b'[Child 96652, 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:30.87 INFO: b'[Child 96652, 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:30.93 INFO: b'[Child 96652, Main Thread] WARNING: Fallback to FallbackRenderer: file /builds/worker/checkouts/gecko/dom/ipc/BrowserChild.cpp:2689'
0:30.93 INFO: b'[Child 96652, 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:30.94 INFO: b'[Child 96652, Main Thread] WARNING: Fallback to FallbackRenderer: file /builds/worker/checkouts/gecko/dom/ipc/BrowserChild.cpp:2689'
0:30.94 INFO: b'[Child 96652, Main Thread] WARNING: Fallback to FallbackRenderer: file /builds/worker/checkouts/gecko/dom/ipc/BrowserChild.cpp:2689'
0:30.95 INFO: b'[Child 96652, Main Thread] WARNING: Fallback to FallbackRenderer: file /builds/worker/checkouts/gecko/dom/ipc/BrowserChild.cpp:2689'
0:30.95 INFO: b'[Child 96652, Main Thread] WARNING: Fallback to FallbackRenderer: file /builds/worker/checkouts/gecko/dom/ipc/BrowserChild.cpp:2689'
0:31.08 INFO: b'[Child 96677, 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:31.09 INFO: b'Initializing context 0x7efda1097970 surface (nil) on display 0x7efda12b8b00'
0:31.09 INFO: b'GL_VENDOR: Intel'
0:31.09 INFO: b'mVendor: Intel'
0:31.09 INFO: b'GL_RENDERER: Mesa Intel(R) Iris(R) Graphics 6100 (BDW GT3)'
0:31.09 INFO: b'mRenderer: Unknown'
0:31.09 INFO: b'mIsMesa: 1'
0:31.09 INFO: b'[Parent 96548, Renderer] WARNING: robust_buffer_access_behavior marked as unsupported: file /builds/worker/checkouts/gecko/gfx/gl/GLContextFeatures.cpp:638'
0:31.09 INFO: b'[Parent 96548, Renderer] WARNING: Robustness supported, strategy is not LOSE_CONTEXT_ON_RESET!: file /builds/worker/checkouts/gecko/gfx/gl/GLContext.cpp:999'
0:31.09 INFO: b'[Parent 96548, Renderer] WARNING: robustness marked as unsupported: file /builds/worker/checkouts/gecko/gfx/gl/GLContextFeatures.cpp:638'
0:31.10 INFO: b'[WARN webrender::renderer::init] asking to enable_gpu_markers but no supporting extension was found'
0:31.11 INFO: b'[Child 96677, 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:31.11 INFO: b'[Child 96677, 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:31.47 INFO: b'[Parent 96548, Renderer] WARNING: Failed to get native window: file /builds/worker/checkouts/gecko/gfx/gl/GLContextProviderEGL.cpp:505'
0:31.60 INFO: b'[GFX1-]: Handling webrender error 3'
0:31.60 INFO: b'Hit MOZ_CRASH(Fallback configurations exhausted) at /builds/worker/checkouts/gecko/gfx/thebes/gfxPlatform.cpp:3744'
0:31.60 INFO: b'#01: ???[/tmp/tmpjjn_9vbm/firefox/libxul.so +0x58c37a5]'
0:31.60 INFO: b'#02: ???[/tmp/tmpjjn_9vbm/firefox/libxul.so +0x5945a25]'
0:31.60 INFO: b'#03: ???[/tmp/tmpjjn_9vbm/firefox/libxul.so +0x594695b]'
0:31.60 INFO: b'#04: ???[/tmp/tmpjjn_9vbm/firefox/libxul.so +0x5946aa6]'
0:31.60 INFO: b'#05: ???[/tmp/tmpjjn_9vbm/firefox/libxul.so +0x5946db6]'
0:31.60 INFO: b'#06: ???[/tmp/tmpjjn_9vbm/firefox/libxul.so +0x5806235]'
0:31.60 INFO: b'#07: ???[/tmp/tmpjjn_9vbm/firefox/libxul.so +0x575e9bc]'
0:31.60 INFO: b'#08: ???[/tmp/tmpjjn_9vbm/firefox/libxul.so +0x5362d7f]'
0:31.60 INFO: b'#09: ???[/tmp/tmpjjn_9vbm/firefox/libxul.so +0x5361d99]'
0:31.61 INFO: b'#10: ???[/tmp/tmpjjn_9vbm/firefox/libxul.so +0x5362134]'
0:31.61 INFO: b'#11: ???[/tmp/tmpjjn_9vbm/firefox/libxul.so +0x5362746]'
0:31.61 INFO: b'#12: ???[/tmp/tmpjjn_9vbm/firefox/libxul.so +0x4bb0395]'
0:31.61 INFO: b'#13: ???[/tmp/tmpjjn_9vbm/firefox/libxul.so +0x4bac61c]'
0:31.61 INFO: b'#14: ???[/tmp/tmpjjn_9vbm/firefox/libxul.so +0x4bab7f6]'
0:31.61 INFO: b'#15: ???[/tmp/tmpjjn_9vbm/firefox/libxul.so +0x4baba83]'
0:31.61 INFO: b'#16: ???[/tmp/tmpjjn_9vbm/firefox/libxul.so +0x4bb3b7f]'
0:31.61 INFO: b'#17: ???[/tmp/tmpjjn_9vbm/firefox/libxul.so +0x4bc3762]'
0:31.61 INFO: b'#18: ???[/tmp/tmpjjn_9vbm/firefox/libxul.so +0x4bc7d66]'
0:31.61 INFO: b'#19: ???[/tmp/tmpjjn_9vbm/firefox/libxul.so +0x536559b]'
0:31.61 INFO: b'#20: ???[/tmp/tmpjjn_9vbm/firefox/libxul.so +0x5303707]'
0:31.61 INFO: b'#21: ???[/tmp/tmpjjn_9vbm/firefox/libxul.so +0x8039c23]'
0:31.61 INFO: b'#22: ???[/tmp/tmpjjn_9vbm/firefox/libxul.so +0x94c9c28]'
0:31.61 INFO: b'#23: ???[/tmp/tmpjjn_9vbm/firefox/libxul.so +0x95c3b77]'
0:31.61 INFO: b'#24: ???[/tmp/tmpjjn_9vbm/firefox/libxul.so +0x95c47a8]'
0:31.61 INFO: b'#25: ???[/tmp/tmpjjn_9vbm/firefox/libxul.so +0x95c4c38]'
0:31.61 INFO: b'#26: ???[/tmp/tmpjjn_9vbm/firefox/firefox +0x454cc]'
0:31.61 INFO: b'#27: ???[/lib/x86_64-linux-gnu/libc.so.6 +0x2718a]'
0:31.61 INFO: b'#28: __libc_start_main[/lib/x86_64-linux-gnu/libc.so.6 +0x27245]'
0:31.61 INFO: b'#29: ???[/tmp/tmpjjn_9vbm/firefox/firefox +0x45049]'
0:31.61 INFO: b'#30: ??? (???:???)'
0:31.62 INFO: b'ExceptionHandler::GenerateDump cloned child 96715'
0:31.62 INFO: b'ExceptionHandler::SendContinueSignalToChild sent continue signal to child'
0:31.62 INFO: b'ExceptionHandler::WaitForContinueSignal waiting for continue signal...'
0:31.75 INFO: b'[Parent 96548, Renderer] WARNING: Failed to get native window: file /builds/worker/checkouts/gecko/gfx/gl/GLContextProviderEGL.cpp:505'
0:31.75 INFO: b'[Parent 96548, Renderer] WARNING: Framebuffer not complete -- CheckFramebufferStatus returned 0x8219, GLContext=7efda149bc00, IsOffscreen()=0, mFBO=0, aRect.width=1280, aRect.height=1040: file /builds/worker/checkouts/gecko/gfx/layers/opengl/CompositingRenderTargetOGL.cpp:64
mozregression --good 2023-01-01 --bad 2023-06-01 --pref gfx.webrender.software:true gfx.webrender.software.opengl:true -a about:support
[...]
1:18.76 INFO: Last good revision: aba9dab44bb878b46f9a1c57b1dae3cbbeeb0166
1:18.76 INFO: First bad revision: 56620e525a7cafd3f4f9cf2bb91bcc2fd678639f
1:18.76 INFO: Pushlog:
https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=aba9dab44bb878b46f9a1c57b1dae3cbbeeb0166&tochange=56620e525a7cafd3f4f9cf2bb91bcc2fd678639f
56620e525a7cafd3f4f9cf2bb91bcc2fd678639f stransky — Bug 1829414 [Wayland] Don't crash if we're getting EGL window for hidden GtkWindow on Wayland r=lsalzman
Comment 1•2 years ago
|
||
:stransky, since you are the author of the regressor, bug 1829414, could you take a look?
For more information, please visit BugBot documentation.
Reporter | ||
Comment 2•2 years ago
|
||
EGL/Xwayland:
- "last good" = good
MOZ_ENABLE_WAYLAND=0 mozregression --repo autoland --launch aba9dab44bb878b46f9a1c57b1dae3cbbeeb0166 --pref gfx.webrender.software:true gfx.webrender.software.opengl:true -a about:support - "first bad" = good
MOZ_ENABLE_WAYLAND=0 mozregression --repo autoland --launch 56620e525a7cafd3f4f9cf2bb91bcc2fd678639f --pref gfx.webrender.software:true gfx.webrender.software.opengl:true -a about:support
GLX/Xwayland:
- "last good" = crash
MOZ_ENABLE_WAYLAND=0 mozregression --repo autoland --launch aba9dab44bb878b46f9a1c57b1dae3cbbeeb0166 --pref gfx.x11-egl.force-disabled:true gfx.webrender.software:true gfx.webrender.software.opengl:true -a about:support - "first bad" = crash
MOZ_ENABLE_WAYLAND=0 mozregression --repo autoland --launch 56620e525a7cafd3f4f9cf2bb91bcc2fd678639f --pref gfx.x11-egl.force-disabled:true gfx.webrender.software:true gfx.webrender.software.opengl:true -a about:support - I will put GLX/Xwayland regression range into bug 1745582.
Reporter | ||
Comment 3•2 years ago
|
||
-
SW WR OpenGL/EGL/Xwayland has been affected by bug 1635186 comment 52
-
And when SW WR OpenGL/GLX/Xwayland didn't crash before bug 1762424, it froze and filled the RAM:
(Darkspirit from bug 1745582 comment 8)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:supportI 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? -
Consider removing SW WR OpenGL support from MOZ_WIDGET_GTK:
Revert https://hg.mozilla.org/mozilla-central/rev/cf09ffcb9a9e
and put the whole pref behind MOZ_WIDGET_ANDROID:
https://searchfox.org/mozilla-central/rev/cde3d4a8d228491e8b7f1bd94c63bbe039850696/modules/libpref/init/StaticPrefList.yaml#6776
https://searchfox.org/mozilla-central/search?q=software_opengl#if defined(MOZ_WIDGET_ANDROID) - name: gfx.webrender.software.opengl type: bool value: true mirror: once #endif
Comment 5•1 years ago
|
||
Darkspirit, do I understand correctly that this isn't default SW WR setup but you need to flip gfx.webrender.software.opengl to true to trigger it?
Thanks.
Comment 6•1 years ago
|
||
Also I wonder is there any benefit to run SW WR on OpenGL? Why not to run regular Webrender then?
Reporter | ||
Comment 7•1 years ago
|
||
(In reply to Martin Stránský [:stransky] (ni? me) from comment #5)
Darkspirit, do I understand correctly that this isn't default SW WR setup but you need to flip gfx.webrender.software.opengl to true to trigger it?
Thanks.
Yes.
SW WR OpenGL/Wayland = crash since bug 1829414.
SW WR OpenGL/EGL/Xwayland = no crash, but broken (for example, affected by bug 1635186 comment 49).
SW WR OpenGL/GLX/Xwayland = crash since bug 1762424. Before that it has been affected by bug 1745582.
(In reply to Martin Stránský [:stransky] (ni? me) from comment #6)
Also I wonder is there any benefit to run SW WR on OpenGL?
bug 1697443 comment 0 said "It helps to investigate SoftwareWebRender with CompositorOGL problem".
= Back then it helped to debug Android bugs on desktop Linux.
In theory, GLES 2-only Linux clients (like Raspberry Pi below 4) could use this as well, but it has always been broken in some way and now it just crashes.
Those users should better keep using regular SW WR.
Why not to run regular Webrender then?
Yes. I suggest removing this broken MOZ_WIDGET_GTK feature:
- reverting https://hg.mozilla.org/mozilla-central/rev/cf09ffcb9a9e (=removing https://searchfox.org/mozilla-central/rev/af5be0d1e0ff1e44bd37896d95cca9f21d47ec9c/widget/nsBaseWidget.cpp#1399-1403)
- and putting the whole pref behind ifdef MOZ_WIDGET_ANDROID:
#ifdef MOZ_WIDGET_ANDROID
- name: gfx.webrender.software.opengl
type: bool
value: true
mirror: once
#endif
Comment 8•1 years ago
|
||
Andrew, what do you think? Shall we remove SW WR with OpenGL on Linux? Does it brings any benefits?
Thanks.
Assignee | ||
Comment 9•1 years ago
|
||
We don't want anyone using it in the wild, but it is useful for testing. Particularly because it can be easier to work with a local build on Linux using SWGL + OpenGL, over debugging on Android, as the two share a lot of the same plumbing in this code path.
With that said, our use case is mostly about nightly, so perhaps we could restrict it in release/beta.
Assignee | ||
Updated•1 years ago
|
Comment 10•1 years ago
|
||
Set release status flags based on info from the regressing bug 1829414
Assignee | ||
Comment 11•1 years ago
|
||
Comment 12•1 years ago
|
||
Sotaro, it seems like the fallback from the OpenGL layers compositor is asserting in FallbackFromAcceleration for some reason, when it should just be falling back to the SW compositor. Can you look into why this is broken?
Updated•1 years ago
|
Comment 13•1 years ago
|
||
(In reply to Andrew Osmond [:aosmond] (he/him) from comment #9)
We don't want anyone using it in the wild, but it is useful for testing. Particularly because it can be easier to work with a local build on Linux using SWGL + OpenGL, over debugging on Android, as the two share a lot of the same plumbing in this code path.
Yes, I originally added SWGL + OpenGL on Linux for android development.
Comment 14•1 years ago
|
||
(In reply to Lee Salzman [:lsalzman] from comment #12)
Sotaro, it seems like the fallback from the OpenGL layers compositor is asserting in FallbackFromAcceleration for some reason, when it should just be falling back to the SW compositor. Can you look into why this is broken?
On Android, we do not want to fallback from SW-WR(OpenGL) to SW-WR. Then the fallback handling part is not implemented yet. Though it is necessary for non-Android.
The following parts block the falling back to the SW compositor.
Comment 15•1 years ago
|
||
Let's clarify what's going on here and what's root cause of the issue on Linux. We fallback from SW-WR(OpenGL) to SW-WR in case we paint too early and underlying GtkWidget is not mapped yet. That's not so big issue on X11 as we can have hidden GtkWidget/XWindow and create EGLWindow for it. But it's broken on Wayland where we can't paint to hidden GtkWidget as it's juts missing.
That's kind of race condition between window creation/mapping and painting so we may randomly fallback to SW-WR here.
The right fix on Linux is to hold rendering until GtkWidget/nsWindow is mapped/visible. When we don't fallback to from SW-WR(OpenGL) to SW-WR.
Updated•1 years ago
|
Comment 16•1 years ago
|
||
This is Wayland only. X11 is not affected.
Updated•1 year ago
|
Comment 17•1 year ago
|
||
Andrew, should be plan a fix for 117? If we do, would that be an uplift to 116 beta? Thanks
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Description
•