EGL/KDE X11/AMD mesa 21 r600: Crash in [@ nsWindow::EnsureGdkWindow] at "We're missing GdkWindow!"
Categories
(Core :: Widget: Gtk, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr91 | --- | unaffected |
firefox95 | --- | unaffected |
firefox96 | --- | unaffected |
firefox97 | --- | fixed |
firefox98 | --- | fixed |
People
(Reporter: mccr8, Assigned: stransky)
References
(Regression)
Details
(Keywords: crash, regression)
Crash Data
Attachments
(2 files, 1 obsolete file)
35.96 KB,
text/plain
|
Details | |
48 bytes,
text/x-phabricator-request
|
RyanVM
:
approval-mozilla-release+
|
Details | Review |
Crash report: https://crash-stats.mozilla.org/report/index/766cc2de-4246-4b42-8553-33b760211221
MOZ_CRASH Reason: MOZ_DIAGNOSTIC_ASSERT(mGdkWindow) (We're missing GdkWindow!)
Top 10 frames of crashing thread:
0 libxul.so nsWindow::EnsureGdkWindow widget/gtk/nsWindow.cpp:5262
1 libxul.so nsWindow::GetCompositorWidgetInitData widget/gtk/nsWindow.cpp:9014
2 libxul.so mozilla::gfx::GPUProcessManager::CreateTopLevelCompositor gfx/ipc/GPUProcessManager.cpp:866
3 libxul.so nsBaseWidget::CreateCompositor widget/nsBaseWidget.cpp:1304
4 libxul.so nsBaseWidget::GetWindowRenderer widget/nsBaseWidget.cpp:1370
5 libxul.so mozilla::layers::AnimationInfo::EnumerateGenerationOnFrame gfx/layers/AnimationInfo.cpp:196
6 libxul.so mozilla::RestyleManager::ProcessPostTraversal layout/base/RestyleManager.cpp:2844
7 libxul.so mozilla::RestyleManager::ProcessPostTraversal layout/base/RestyleManager.cpp:2864
8 libxul.so mozilla::RestyleManager::DoProcessPendingRestyles layout/base/RestyleManager.cpp:3071
9 libxul.so mozilla::PresShell::DoFlushPendingNotifications layout/base/PresShell.cpp:4258
First crash I can see is in the 20211220215127 build. Here's the changesets in that range. It looks like this release assert was added by bug 1746423, so I'll mark that as the regressor.
Reporter | ||
Updated•2 years ago
|
Comment 1•2 years ago
|
||
Set release status flags based on info from the regressing bug 1746423
Assignee | ||
Comment 2•2 years ago
|
||
Yes, Bug 1746423 added a check there. We failed silently before Bug 1746423. We need to re-configure CompositorWidgetInitData() when mGdkWindow is available.
Comment 3•2 years ago
|
||
Martin, based on comment 2, should this be assigned to you?
Assignee | ||
Comment 4•2 years ago
|
||
Yes.
This happens when GPU process is used - and that's disabled by default now.
Updated•2 years ago
|
Updated•2 years ago
|
(In reply to Martin Stránský [:stransky] (ni? me) from comment #4)
Yes.
This happens when GPU process is used - and that's disabled by default now.
Does this mean I enabled it somehow by myself? I think that third of these crashes is mine.
layers.gpu-process.force-enabled
is false.
Comment 6•2 years ago
|
||
(In reply to gwarser from comment #5)
Please open about:support, click on "Copy text to clipboard" and paste it here. Thanks!
Updated•2 years ago
|
Comment 8•2 years ago
|
||
(In reply to gwarser from comment #5)
When does the crash occur? Do you know steps to reproduce?
Assignee | ||
Comment 9•2 years ago
|
||
Okay, it's something we should solve then.
Comment 10•2 years ago
|
||
(In reply to Darkspirit from comment #8)
(In reply to gwarser from comment #5)
When does the crash occur? Do you know steps to reproduce?
It always happen when restoring minimized Firefox window. I'm not sure how long it need to be minimized or if I need to run some other app in the meantime. I will try pay more attention to it.
Comment 11•2 years ago
•
|
||
KDE taskbar window previews cause bug 1723323 on Nvidia, it seems to be a general KDE bug. Maybe the crash is how it manifests on AMD or in general now? (Haven't tested it so far.)
Comment 12•2 years ago
|
||
I tried with taskbar tooltips disabled and it just crashed too. Today it crashed twice with only New Tab page opened.
Updated•2 years ago
|
Comment 13•2 years ago
|
||
I'm confused, comment 4 suggests that this crash happens in a non-default configuration but is that not really the case? Just trying to understand the relative severity of this issue for 97 given that it goes to RC next week.
Comment 14•2 years ago
|
||
(In reply to Ryan VanderMeulen [:RyanVM] from comment #13)
about:support from comment 7 shows an affected user with default config (GPU process disabled).
comment 4 does not seem to be true then.
(In reply to gwarser from comment #12)
Does this crash still occur for you?
Is your KDE compositor enabled or disabled?
(bug 1750017 was fixed in the mean time)
Comment 15•2 years ago
|
||
My last two crashes are these
- https://crash-stats.mozilla.org/report/index/361f622d-3598-478c-be01-a5c210220110
- https://crash-stats.mozilla.org/report/index/421a34d6-6b45-4a0f-9cb3-6fb850220110
They seems to be from January 10. (BTW they look like duplicates).
I believe I've had taskbar tooltips disabled all the time starting from January 9 (comment 12), so maybe it's related after all, but restart is required to stop crashing?
I've just toggled tooltips back "on" and will see if it happens again.
Compositor is enabled.
Comment 16•2 years ago
|
||
Finally crashed again. I did not touched taskbar this time. Happened after clicking the "restore" button in top right to switch into "windowed" mode. https://crash-stats.mozilla.org/report/index/bcd55584-4a94-4fd4-a1fb-6f3270220128
Assignee | ||
Comment 17•2 years ago
|
||
Yes, it affects default configuration too. We add and assertion when GdkWindow/XWindow is missing when we try to get it by compositor - we failed silently before that.
Comment 18•2 years ago
|
||
https://groups.google.com/a/mozilla.org/g/dev-platform/c/xns8e_n9f84/m/rCR4CC88AgAJ
MOZ_DIAGNOSTIC_ASSERT has recently changed from affecting devedition to
affect early beta. This change applies to Firefox 97, so it affects current (early) betas.
(In reply to gwarser from comment #16)
Please test https://beta.mozilla.org. EARLY_BETA has ended: https://fx-trains.herokuapp.com/release/?version=97
Does Beta crash or hang or is it fine?
Comment 19•2 years ago
|
||
I will run beta for some time, but I don't think I'm good test subject now - when overall number of crashes started to increase, it decreased a lot for me. My last two crashes are from January 10 and 28.
Comment 20•2 years ago
|
||
(In reply to gwarser from comment #16)
https://crash-stats.mozilla.org/report/index/bcd55584-4a94-4fd4-a1fb-6f3270220128
Adapter Device ID Redwood XT [Radeon HD 5670/5690/5730] (0x68d8)
"driverVendor": "mesa/r600",
That GPU is from 2010: https://www.techpowerup.com/gpu-specs/ati-redwood.g75
bug 1673939 (https://gitlab.freedesktop.org/mesa/mesa/-/issues/3720) blocked hardware WebRender for some mesa/r600 devices.
Maybe that list needs to be expanded: Are you able to reproduce bug 1752197 comment 0?
Comment 21•2 years ago
|
||
But apart from that, this crash seems to occur across all gpu vendors and even with Nvidia driver 495.
Comment 22•2 years ago
|
||
(In reply to Darkspirit from comment #20)
That GPU is from 2010: https://www.techpowerup.com/gpu-specs/ati-redwood.g75
Yes, such times, I'm afraid. And I don't really need anything more powerful.
bug 1673939 (https://gitlab.freedesktop.org/mesa/mesa/-/issues/3720) blocked hardware WebRender for some mesa/r600 devices.
Maybe that list needs to be expanded: Are you able to reproduce bug 1752197 comment 0?
I don't have any issues with distorted graphics at all. Page from 1752197 STR is displayed completely fine.
BTW, 97.0b9 20220127193706 is running in the background for two hours now, without issues.
Assignee | ||
Comment 23•2 years ago
|
||
This is a race condition which does not depend on actual GPU but on Gtk and the init sequence.
Comment 24•2 years ago
|
||
(In reply to Martin Stránský [:stransky] (ni? me) from comment #23)
This is a race condition which does not depend on actual GPU but on Gtk and the init sequence.
What would it cause in release, where diagnostic asserts do not seem to crash? A different crash, hang, empty window?
Assignee | ||
Comment 25•2 years ago
|
||
(In reply to Darkspirit from comment #24)
(In reply to Martin Stránský [:stransky] (ni? me) from comment #23)
This is a race condition which does not depend on actual GPU but on Gtk and the init sequence.
What would it cause in release, where diagnostic asserts do not seem to crash? A different crash, hang, empty window?
The answer is here:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=6ad1d89626120f9ac2c8ad3abf050dc4d9c53aac
Assignee | ||
Comment 26•2 years ago
|
||
A compositor can be created before we get a gtk widget map event. That leads to wrong XWindow reference passed to GtkCmmpositorWidget.
In this patch we destroy compositor on gtk map event (if there's any) to make sure it's recreated with correct XWindow reference.
Updated•2 years ago
|
Assignee | ||
Comment 27•2 years ago
|
||
Assignee | ||
Comment 28•2 years ago
|
||
Hm, the try doesn't look healthy.
Comment 29•2 years ago
|
||
(In reply to Martin Stránský [:stransky] (ni? me) from comment #25)
The answer is here:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=6ad1d89626120f9ac2c8ad3abf050dc4d9c53aac
Looks like debug leaks/asserts? The opt test runs seem OK at least.
Assignee | ||
Comment 30•2 years ago
|
||
I think we can remove the assertion to revert to state before Bug 1746423 for now and investigate/fix that later.
Assignee | ||
Comment 31•2 years ago
|
||
Comment 32•2 years ago
|
||
Pushed by stransky@redhat.com: https://hg.mozilla.org/integration/autoland/rev/8b04d03ac19e [Linux] Don't assert/crash if we're missing mGdkWindow r=emilio
Comment 33•2 years ago
|
||
bugherder |
Updated•2 years ago
|
Comment 34•2 years ago
|
||
Comment on attachment 9261663 [details]
Bug 1747475 [Linux] Destroy compositor on gtk map event, r?emilio
Revision D137513 was moved to bug 1754711. Setting attachment 9261663 [details] to obsolete.
Updated•2 years ago
|
Comment 36•2 years ago
|
||
This seems like a safe ride-along for a dot release given that it appears to be hitting in the wild a bit. Can you please nominate the patch for release approval, Martin?
Comment 37•2 years ago
|
||
Comment on attachment 9261742 [details]
Bug 1747475 [Linux] Don't assert/crash if we're missing mGdkWindow r?emilio
Beta/Release Uplift Approval Request
- User impact if declined: crashes
- Is this code covered by automated tests?: No
- Has the fix been verified in Nightly?: No
- Needs manual test from QE?: No
- If yes, steps to reproduce:
- List of other uplifts needed: none
- Risk to taking this patch: Low
- Why is the change risky/not risky? (and alternatives if risky): null-check, effectively
- String changes made/needed: none
Updated•2 years ago
|
Comment 38•2 years ago
|
||
Comment on attachment 9261742 [details]
Bug 1747475 [Linux] Don't assert/crash if we're missing mGdkWindow r?emilio
Approved for 97.0.1.
Comment 39•2 years ago
|
||
bugherder uplift |
Description
•