Closed Bug 1585918 Opened 1 year ago Closed 10 months ago

[Wayland] Overflow menu popup fails to appear after opening an extension pinned to overflow menu

Categories

(Core :: Widget: Gtk, defect)

71 Branch
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla72
Tracking Status
firefox-esr68 --- unaffected
firefox69 --- unaffected
firefox70 --- wontfix
firefox71 --- wontfix
firefox72 --- fixed

People

(Reporter: ke5trel, Assigned: jhorak)

References

(Blocks 1 open bug, Regression)

Details

(Keywords: regression)

Attachments

(3 files)

STR:

  1. Start with MOZ_ENABLE_WAYLAND=true.
  2. Install an extension and pin to overflow menu.
  3. Open extension in overflow menu.
  4. Try to use overflow menu again.

The overflow menu button appears pressed but the popup fails to appear.

Regression window:
https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=5f9ffb33e44e1085307301f6967b7328ae4dc286&tochange=29d3b1f1b7449d3eb47ab60c170109122a4ea0fc

Regressed by Bug 1582679.

Thanks, adding Jhorak.

Assignee: nobody → jhorak

Thanks for the report, I cannot reproduce it ATM, could you please add log by:

 export MOZ_LOG="Widget:5"
Attached file popup-debug.txt

Two errors in the log:

Gtk-CRITICAL **: gtk_widget_get_window: assertion 'GTK_IS_WIDGET (widget)' failed
Gdk-CRITICAL **: gdk_window_get_origin: assertion 'GDK_IS_WINDOW (window)' failed

Regressing bug was uplifted to Beta 70 so marking it as affected.

Can you please check whether this issue only happens if you set layers.acceleration.force_enabled to true?

This issue might be related to bug #1588053.

(In reply to Christian Stadelmann from comment #5)

Can you please check whether this issue only happens if you set layers.acceleration.force_enabled to true?

No, this can be observed in a clean profile with the default Basic compositor and only affects the overflow menu.

Too late for 70 at this stage.

Marking as fix-optional for 71 as we are not shipping Wayland yet in mozilla builds and we nearing the end of the 71 nightly cycle. I would consider an uplift request to 71 beta though.

Keywords: checkin-needed

Jan, I don't see any patches attached to this bug. What needs to be landed here?

Flags: needinfo?(jhorak)

I'm sorry, wrong bug.

Alias: regression
Flags: needinfo?(jhorak)
Alias: regression

Can confirm the same behaviour on a clean profile, layers.acceleration.force_enabled=false, Wayland backend, Fedora 31.

In addition to the overflow menu no longer opening after the above steps to re-create, I'm also seeing that when I initially attempt to open an extension from the overflow menu (ublock origin) the extension popup never appears.

The extension popup does appear fine if its not in the overflow menu

Items in overflow-widget which belongs to addons cannot have
the overflow-widget panel set as a popup parent because the
overflow-widget is replaced by them.

We also need to close the addon panel before we return back
to overflow-widget to avoid simillar problem.

Pushed by ncsoregi@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/19b9fd7a11d0
Show only one remote content panel at a time; r=stransky

Backed out for bustages on nsWindow.cpp

backout: https://hg.mozilla.org/integration/autoland/rev/3cff7e1381665a48bff6c01dd0a924a0c6c96462

push: https://treeherder.mozilla.org/#/jobs?repo=autoland&revision=19b9fd7a11d07d3d28a7acf46b8a7f23d6dd44b9&group_state=expanded

failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=277382030&repo=autoland&lineNumber=33379

[task 2019-11-21T10:58:35.978Z] 10:58:35 INFO - make[4]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/editor/txmgr/tests'
[task 2019-11-21T10:58:37.004Z] 10:58:37 INFO - make[4]: Entering directory '/builds/worker/workspace/build/src/obj-firefox/widget/gtk'
[task 2019-11-21T10:58:37.004Z] 10:58:37 INFO - /builds/worker/fetches/sccache/sccache /builds/worker/fetches/clang/bin/clang++ -o nsWindow.o -c -I/builds/worker/workspace/build/src/obj-firefox/dist/system_wrappers -include /builds/worker/workspace/build/src/config/gcc_hidden.h -U_FORTIFY_SOURCE -fno-common -DMOZILLA_CLIENT -include /builds/worker/workspace/build/src/obj-firefox/mozilla-config.h -Qunused-arguments -Qunused-arguments -Wall -Wbitfield-enum-conversion -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wshadow-field-in-constructor-modified -Wsign-compare -Wtype-limits -Wunreachable-code -Wunreachable-code-return -Wwrite-strings -Wno-invalid-offsetof -Wclass-varargs -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wloop-analysis -Wc++1z-compat -Wc++2a-compat -Wcomma -Wimplicit-fallthrough -Werror=non-literal-null-conversion -Wstring-conversion -Wtautological-overlap-compare -Wtautological-unsigned-enum-zero-compare -Wtautological-unsigned-zero-compare -Wno-error=tautological-type-limit-compare -Wno-inline-new-delete -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=backend-plugin -Wno-error=return-std-move -Wno-error=atomic-alignment -Wformat -Wformat-security -Wno-gnu-zero-variadic-macro-arguments -Wno-unknown-warning-option -Wno-return-type-c-linkage -fno-sized-deallocation -fno-aligned-new -fsanitize=bool,bounds,integer-divide-by-zero,pointer-overflow,vla-bound -fno-sanitize-recover=bool,bounds,integer-divide-by-zero,pointer-overflow,vla-bound -fsanitize-blacklist=/builds/worker/workspace/build/src/obj-firefox/ubsan_blacklist.txt -fsanitize=address -fcrash-diagnostics-dir=/builds/worker/artifacts -fno-exceptions -fno-strict-aliasing -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pthread -pipe -I/builds/worker/workspace/build/src/obj-firefox/dist/stl_wrappers -DNDEBUG=1 -DTRIMMED=1 -DOS_POSIX=1 -DOS_LINUX=1 -DCAIRO_GFX '-DMOZ_APP_NAME="firefox"' -DSTATIC_EXPORTABLE_JS_API -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -I/builds/worker/workspace/build/src/widget/gtk -I/builds/worker/workspace/build/src/obj-firefox/widget/gtk -I/builds/worker/workspace/build/src/obj-firefox/ipc/ipdl/_ipdlheaders -I/builds/worker/workspace/build/src/ipc/chromium/src -I/builds/worker/workspace/build/src/ipc/glue -I/builds/worker/workspace/build/src/layout/base -I/builds/worker/workspace/build/src/layout/generic -I/builds/worker/workspace/build/src/layout/xul -I/builds/worker/workspace/build/src/other-licenses/atk-1.0 -I/builds/worker/workspace/build/src/widget -I/builds/worker/workspace/build/src/widget/headless -I/builds/worker/workspace/build/src/widget/x11 -I/builds/worker/workspace/build/src/obj-firefox/dist/include -I/builds/worker/workspace/build/src/obj-firefox/dist/include/nspr -I/builds/worker/workspace/build/src/obj-firefox/dist/include/nss -fPIC -g -Xclang -load -Xclang /builds/worker/workspace/build/src/obj-firefox/build/clang-plugin/libclang-plugin.so -Xclang -add-plugin -Xclang moz-check -O2 -gline-tables-only -fno-omit-frame-pointer -funwind-tables -Werror -I/builds/worker/workspace/build/src/widget/gtk/compat-gtk3 -pthread -I/usr/include/gtk-3.0 -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/pixman-1 -I/usr/include/libpng12 -I/usr/include/gtk-3.0/unix-print -pthread -I/usr/include/gtk-3.0 -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/pixman-1 -I/usr/include/libpng12 -I/usr/include/libdrm -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -Wno-error=shadow -MD -MP -MF .deps/nsWindow.o.pp /builds/worker/workspace/build/src/widget/gtk/nsWindow.cpp
[task 2019-11-21T10:58:37.004Z] 10:58:37 ERROR - /builds/worker/workspace/build/src/widget/gtk/nsWindow.cpp:1328:13: error: unused function 'NativeMoveResizeWaylandPopupCallback' [-Werror,-Wunused-function]
[task 2019-11-21T10:58:37.004Z] 10:58:37 INFO - static void NativeMoveResizeWaylandPopupCallback(
[task 2019-11-21T10:58:37.005Z] 10:58:37 INFO - ^
[task 2019-11-21T10:58:37.005Z] 10:58:37 INFO - 1 error generated.
[task 2019-11-21T10:58:37.005Z] 10:58:37 INFO - /builds/worker/workspace/build/src/config/rules.mk:787: recipe for target 'nsWindow.o' failed
[task 2019-11-21T10:58:37.005Z] 10:58:37 ERROR - make[4]: *** [nsWindow.o] Error 1
[task 2019-11-21T10:58:37.005Z] 10:58:37 INFO - make[4]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/widget/gtk'
[task 2019-11-21T10:58:37.005Z] 10:58:37 INFO - make[4]: *** Waiting for unfinished jobs....

Flags: needinfo?(jhorak)
Pushed by btara@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/6e1f760e5b8d
Show only one remote content panel at a time; r=stransky
Status: NEW → RESOLVED
Closed: 10 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla72
Flags: needinfo?(jhorak)
Regressions: 1605795
You need to log in before you can comment on or make changes to this bug.