Closed Bug 1715292 Opened 3 years ago Closed 3 years ago

Crash in [@ nsWindow::NativeMoveResizeWaylandPopup]

Categories

(Core :: Widget: Gtk, defect, P1)

Unspecified
Linux
defect

Tracking

()

RESOLVED FIXED
91 Branch
Tracking Status
firefox-esr78 --- unaffected
firefox89 --- unaffected
firefox90 --- fixed
firefox91 --- fixed

People

(Reporter: gsvelto, Assigned: stransky)

References

(Blocks 1 open bug, Regression)

Details

(Keywords: crash, regression)

Crash Data

Attachments

(1 file)

Crash report: https://crash-stats.mozilla.org/report/index/cef85e28-653a-46c3-9dd1-9b2f70210604

MOZ_CRASH Reason: MOZ_RELEASE_ASSERT(IsInPopupHierarchy())

Top 10 frames of crashing thread:

0 libxul.so nsWindow::NativeMoveResizeWaylandPopup widget/gtk/nsWindow.cpp:2061
1 libxul.so nsWindow::NativeMove widget/gtk/nsWindow.cpp:2277
2 libxul.so nsWindow::Move widget/gtk/nsWindow.cpp:1260
3 libxul.so nsBaseWidget::MoveClient widget/nsBaseWidget.cpp:1499
4 libxul.so nsViewManager::ProcessPendingUpdatesForView view/nsViewManager.cpp:380
5 libxul.so nsViewManager::ProcessPendingUpdates view/nsViewManager.cpp:972
6 libxul.so nsRefreshDriver::Tick layout/base/nsRefreshDriver.cpp:2476
7 libxul.so mozilla::RefreshDriverTimer::TickRefreshDrivers layout/base/nsRefreshDriver.cpp:326
8 libxul.so mozilla::RefreshDriverTimer::Tick layout/base/nsRefreshDriver.cpp:342
9 libxul.so mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::TickRefreshDriver layout/base/nsRefreshDriver.cpp:704

The failing assertion was added in bug 1710436. Martin can you have a look please?

Severity: -- → S2
OS: Unspecified → Linux
Priority: -- → P1
Flags: needinfo?(stransky)

Hm, the assertion here tests:

mPopupTrackInHierarchy && mWaylandToplevel && mWaylandPopupPrev

which means when popup is visible it should be in hierarchy and must have assigned parent window. I expect mPopupTrackInHierarchy is always true here so the popup was removed although is still visible.

I'd need more context or reproduction steps here. I wonder which popup causes that - if some extension panel or so. Would be great to run Firefox with

MOZ_LOG="WidgetPopup:5"

env variable and get the log.

Flags: needinfo?(stransky)

The patch here depends on Bug 1661516.

Depends on: 1661516
  • Don't remove popup from widget hierarchy on nsWindow::Destroy() but leave nsWindow::Show(false) do the job.
  • Don't check popup widget visibility from Gtk as it's not reliable.
Assignee: nobody → stransky
Status: NEW → ASSIGNED

We'd need to backport this one to 90 to avoid crashes.

Pushed by stransky@redhat.com: https://hg.mozilla.org/integration/autoland/rev/b2f81bedfe4d [Wayland] Update popup visibility and hierarchy handling, r=jhorak
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 91 Branch

The patch landed in nightly and beta is affected.
:stransky, is this bug important enough to require an uplift?
If not please set status_beta to wontfix.

For more information, please visit auto_nag documentation.

Flags: needinfo?(stransky)

We can apply it as-is on beta.

Flags: needinfo?(stransky)

Comment on attachment 9226722 [details]
Bug 1715292 [Wayland] Update popup visibility and hierarchy handling, r?jhorak

Beta/Release Uplift Approval Request

  • User impact if declined: Firefox crashes on Wayland when popup menus and tooltip are displayed.
  • Is this code covered by automated tests?: No
  • Has the fix been verified in Nightly?: Yes
  • 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): - Baked on nighly.
  • Minor functionality changes (don't release tracked popups early but leave it to destructor)
  • Don't assert when popups are not visible from Gtk perspective (that info is useless for us anyway).
  • String changes made/needed:
Attachment #9226722 - Flags: approval-mozilla-beta?

To confirm, is this ok to uplift on its own despite the dependency mentioned in comment 4?

Flags: needinfo?(stransky)

(In reply to Julien Cristau [:jcristau] from comment #12)

To confirm, is this ok to uplift on its own despite the dependency mentioned in comment 4?

Yes, I checked it and it works without Bug 1661516. I expected there might be some overlap but it can be applied without it.

Flags: needinfo?(stransky)

Comment on attachment 9226722 [details]
Bug 1715292 [Wayland] Update popup visibility and hierarchy handling, r?jhorak

approved for 90 rc1

Attachment #9226722 - Flags: approval-mozilla-beta? → approval-mozilla-release+
Has Regression Range: --- → yes
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: