Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wayland compositor does not work with Firefox #3115

Closed
stransky opened this issue Nov 12, 2018 · 67 comments
Closed

Wayland compositor does not work with Firefox #3115

stransky opened this issue Nov 12, 2018 · 67 comments

Comments

@stransky
Copy link

Hello,

I work on Firefox Wayland port and I'm having an issues with Wayland Firefox on Sway compositor. Mouse cursor is not shown, popup menus are not shown and the browser does not response to uset input.

KDE/Kwim (https://bugs.kde.org/show_bug.cgi?id=397834) have similar problems. It can be caused by wl_subsurface which is attached as an overlay of wl_surface owned by main Firefox toplevel GtkWindow.

You can check Firefox on Wayland by 3 ways:

  1. to run Firefox Wayland from flatpak (https://firefox-flatpak.mojefedora.cz/)
  2. to build Firefox by itself with:
    ac_add_options --enable-default-toolkit=cairo-gtk3-wayland
    and run as GDK_BACKEND=wayland ./firefox
  3. you can also install Fedora 29 where is firefox-wayland package available.

Please let me know if I can help.

@kasicka
Copy link

kasicka commented Nov 12, 2018

Same thing happens for me on rawhide. However the version is still 0.15.2. I will try 1.0.0 beta when I have time. Everything seems to work in gnome and weston.

BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1645095

@emersion
Copy link
Member

Hi, thanks for reaching out!

You might want to first try in rootston (wlroots' reference compositor). I just tried the latest Flatpak nightly and it works there (!). There are performance issues though. I also noticed you create a lot of wl_keyboard instances, this may be related.

I'll try to see why it doesn't work in sway master.

@jniedrauer
Copy link

jniedrauer commented Nov 13, 2018

I can reproduce problems on fedora 29 with firefox 63 and sway 1.0.0 beta 1. It's way closer than it was last time I checked. It actually runs and you can kind of use it. But scrolling is choppy and certain context menus will crash it.

To crash it: Launch firefox-wayland or GDK_BACKEND=wayland firefox, then click into the address bar and start typing. The autocomplete suggestions will populate which will trigger a crash with this output:

Gdk-Message: 22:45:14.620: Error reading events from display: Invalid argument

@emersion
Copy link
Member

I can reproduce problems on fedora 29 with firefox 63 and sway 1.0.0 beta 1.

The address bar crash has been fixed in Firefox 65.

@PSzczepanski1996
Copy link

Just curious (maybe not releated) but there are still bugs on mixed dpi multimonitor setup?
When I clicked menu in Firefox it was opening on another screen and I had other similar glitches.

@emersion
Copy link
Member

emersion commented Nov 13, 2018

Just curious (maybe not releated) but there are still bugs on mixed dpi multimonitor setup?
When I clicked menu in Firefox it was opening on another screen and I had other similar glitches.

This sounds like a Xwayland-related bug (which has been fixed). We're talking about the Wayland version here.

@PSzczepanski1996
Copy link

I think I used wayland version, but I'm not sure. And it was not only me, there are other people who have bugs on mixed dpi multimonitor setup:
https://bugzilla.mozilla.org/show_bug.cgi?id=635134
(Latest updates).
I don't have now Linux machine to check it if it persist, sorry. Was just curious.

@jnpkrn
Copy link
Contributor

jnpkrn commented Nov 16, 2018

You might want to first try in rootston (wlroots' reference
compositor). I just tried the latest Flatpak nightly and it works
there (!). There are performance issues though

The same with sway 1.0 beta...

But scrolling is choppy

...similar thing reported at b.m.o:

https://bugzilla.mozilla.org/show_bug.cgi?id=1493493

I will try 1.0.0 beta when I have time.

Quick shot COPR build for Rawhide:
https://copr.fedorainfracloud.org/coprs/jpokorny/sway-testing/build/820081/

@J0nnyMak0
Copy link
Contributor

J0nnyMak0 commented Nov 17, 2018

Firefox-nightly 65.0a1 does not even launch for me with GDK_BACKEND=wayland

IPDL protocol Error: Received an invalid file descriptor
IPDL protocol Error: Received an invalid file descriptor
IPDL protocol Error: Received an invalid file descriptor
Gdk-Message: 21:38:04.157: Error reading events from display: Invalid argument
[Child 10819, Chrome_ChildThread] WARNING: pipe error (41): Connection reset by peer: file /builds/worker/workspace/build/src/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 363
[Child 10819, Chrome_ChildThread] WARNING: pipe error (3): Connection reset by peer: file /builds/worker/workspace/build/src/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 363

###!!! [Child][MessageChannel::SendAndWait] Error: Channel error: cannot send/recv


###!!! [Child][MessageChannel] Error: (msgtype=0x51001E,name=PLayerTransaction::Msg_Shutdown) Channel error: cannot send/recv

[Child 10851, Chrome_ChildThread] WARNING: pipe error: Broken pipe: file /builds/worker/workspace/build/src/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 736
[Child 10851, Chrome_ChildThread] WARNING: pipe error: Broken pipe: file /builds/worker/workspace/build/src/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 736
[Child 10851, Chrome_ChildThread] WARNING: pipe error: Broken pipe: file /builds/worker/workspace/build/src/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 736

@jniedrauer
Copy link

Firefox nightly 65.0a1 still has the browser bar crash. It seems to perform in an identical fashion to firefox 63, including the same error message output and performance issues.

@baloo
Copy link
Contributor

baloo commented Nov 21, 2018

I tried the hg master of firefox, wlroots and sway. And I'm observing the same behavior as @JonnyMako. But I also tried to start firefox in weston, and it appears to be starting to be okay.
I also see the IPDL protocol error errors, on both sway and weston.

I'm not quite sure how to debug this issue. Any help to debug this further would be appreciated here.

@uwqwxing886
Copy link

uwqwxing886 commented Nov 21, 2018

@JonnyMako I was seeing the same Gdk-Message: Error reading events from display: Invalid argument error message that you posted in #3115 (comment). Try clearing the clipboard before launching firefox. See #3170.

@emersion
Copy link
Member

@stransky: just merged a patch that prevents Firefox crashes in wlroots. Now I'm able to run it as long as I don't copy something (the patch for this second crash is pending). However…

I work on Firefox Wayland port and I'm having an issues with Wayland Firefox on Sway compositor. Mouse cursor is not shown, popup menus are not shown and the browser does not response to uset input.

I'm unable to reproduce this. Can you make sure you're running the latest sway and wlroots commits?

Note that even if it works, it's very slow. That might be due to the fact Firefox creates ~50 wl_keyboard objects pretty quickly. Not sure why it happens on Sway and not on Weston.

(In both Sway and Weston, Firefox uses wl_shm)

@J0nnyMak0
Copy link
Contributor

J0nnyMak0 commented Nov 23, 2018

Note that even if it works, it's very slow.

Further note that it gets slower with every key stroke, until it just freezes. Additionally, for non-us keyboard layouts, modifier keys don't work. (I filed a bug about this on mozilla).

@stransky
Copy link
Author

Note that even if it works, it's very slow. That might be due to the fact Firefox creates ~50 wl_keyboard objects pretty quickly. Not sure why it happens on Sway and not on Weston.

(In both Sway and Weston, Firefox uses wl_shm)

Can you please provide a firefox backtrace where the wl_keyboard objects are created? I'm not aware of that at Firefox code. Thanks.

@stransky
Copy link
Author

I see only this place - so is the wl_seat send multiple times?

https://dxr.mozilla.org/mozilla-central/rev/7488645b27ac9b273d6785db04204684673b3657/widget/gtk/nsGtkKeyUtils.cpp#633

@martinetd
Copy link
Member

martinetd commented Nov 23, 2018

Here are a few backtraces (fedora firefox-63.0.3-1.fc29.x86_64 package):

Thread 1 "firefox" hit Breakpoint 1, 0x00007f526e9dd9c0 in wl_seat_get_keyboard (wl_seat=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:598
598             keyboard = nullptr;
#0  0x00007f526e9dd9c0 in wl_seat_get_keyboard (wl_seat=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:598
#1  0x00007f526e9dd9c0 in mozilla::widget::seat_handle_capabilities (data=<optimized out>, caps=<optimized out>, seat=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:594
#2  0x00007f526e9dd9c0 in mozilla::widget::seat_handle_capabilities(void*, wl_seat*, unsigned int) (data=0x7f5257513980, seat=0x7f5257e3c290, caps=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cp
p:588
#3  0x00007f5272cf3ace in ffi_call_unix64 () at /lib64/libffi.so.6
#4  0x00007f5272cf348f in ffi_call () at /lib64/libffi.so.6
#5  0x00007f527363e7ad in wl_closure_invoke (closure=closure@entry=0x7f5256d42c80, flags=flags@entry=1, target=<optimized out>, target@entry=0x7f5257e3c290, opcode=opcode@entry=0, data=<optimized out>) at src/connection.c:1006
#6  0x00007f527363af09 in dispatch_event (display=display@entry=0x7f527434e440, queue=<optimized out>) at src/wayland-client.c:1427
#7  0x00007f527363c41c in dispatch_queue (queue=0x7f527434e508, display=0x7f527434e440) at src/wayland-client.c:1573
#8  0x00007f527363c41c in wl_display_dispatch_queue_pending (display=0x7f527434e440, queue=0x7f527434e508) at src/wayland-client.c:1815
#9  0x00007f527363c85b in wl_display_roundtrip_queue (display=0x7f527434e440, q
ueue=0x7f527434e508) at src/wayland-client.c:1238
#10 0x00007f527363c8a0 in wl_display_roundtrip (display=<optimized out>) at src/wayland-client.c:1267
#11 0x00007f526e9e9d6c in mozilla::widget::KeymapWrapper::InitBySystemSettingsWayland() (this=this@entry=0x7f5257513980) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:648
#12 0x00007f526e9f05f8 in mozilla::widget::KeymapWrapper::Init() (this=0x7f5257513980) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:205
#13 0x00007f526e9f0778 in mozilla::widget::KeymapWrapper::Init() (this=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:189
#14 0x00007f526e9f0778 in mozilla::widget::KeymapWrapper::GetInstance() () at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:149
#15 0x00007f526e9f0d1c in mozilla::widget::KeymapWrapper::InitInputEvent(mozilla::WidgetInputEvent&, unsigned int) (aInputEvent=..., aModifierState=aModifierState@entry=0) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKey
Utils.cpp:869
#16 0x00007f526e9c0d5e in nsWindow::OnMotionNotifyEvent(_GdkEventMotion*) (this=0x7f525fa27c00, aEvent=aEvent@entry=0x7f5258804d40) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsWindow.cpp:2639
#17 0x00007f526e9c0e8b in motion_notify_event_cb(GtkWidget*, GdkEventMotion*) (widget=widget@entry=0x7f5261df3e30, event=0x7f5258804d40) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsWindow.cpp:5820
#18 0x00007f5273e396fb in _gtk_marshal_BOOLEAN__BOXED (closure=0x7f525faf57b0, return_value=0x7fff8e1c0660, n_param_values=<optimized out>, param_values=0x7fff8e1c06c0, invocation_hint=<optimized out>, marshal_data=<optimized out>) at gtk
marshalers.c:83
#19 0x00007f52731fac9d in g_closure_invoke () at /lib64/libgobject-2.0.so.0
#20 0x00007f527320e203 in  () at /lib64/libgobject-2.0.so.0
#21 0x00007f52732169a3 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#22 0x00007f5273217923 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#23 0x00007f5273de6664 in gtk_widget_event_internal (widget=widget@entry=0x7f5261df3e30, event=event@entry=0x7f5258804d40) at gtkwidget.c:7744
#24 0x00007f5273de87ee in gtk_widget_event (widget=widget@entry=0x7f5261df3e30, event=event@entry=0x7f5258804d40) at gtkwidget.c:7314
#25 0x00007f5273ca2936 in propagate_event_up (topmost=<optimized out>, event=<optimized out>, widget=0x7f5261df3e30) at gtkmain.c:2582
#26 0x00007f5273ca2936 in propagate_event (widget=<optimized out>, event=0x7f5258804d40, captured=<optimized out>, topmost=0x0) at gtkmain.c:2685
#27 0x00007f5273ca4af3 in gtk_main_do_event (event=<optimized out>) at gtkmain.c:1915
#28 0x00007f5273995a39 in _gdk_event_emit (event=event@entry=0x7f5258804d40) at gdkevents.c:73
#29 0x00007f52739f2286 in gdk_event_source_dispatch (base=<optimized out>, callback=<optimized out>, data=<optimized out>) at gdkeventsource.c:124
#30 0x00007f527311926d in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#31 0x00007f5273119638 in  () at /lib64/libglib-2.0.so.0
#32 0x00007f52731196d0 in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#33 0x00007f526e9db923 in nsAppShell::ProcessNextNativeEvent(bool) (this=<optimized out>, mayWait=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsAppShell.cpp:301
#34 0x00007f526e9a4f66 in nsBaseAppShell::DoProcessNextNativeEvent(bool) (this=this@entry=0x7f52693628e0, mayWait=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/nsBaseAppShell.cpp:140
#35 0x00007f526e9a50fe in nsBaseAppShell::OnProcessNextEvent(nsIThreadInternal*, bool) (this=0x7f52693628e0, thr=0x7f526930b030, mayWait=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/nsBaseAppShell.cpp:291
#36 0x00007f526c97b6d1 in nsThread::ProcessNextEvent(bool, bool*) (aResult=0x7fff8e1c0d67, aMayWait=true, this=0x7f526930b030) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/xpcom/threads/nsThread.cpp:1078
#37 0x00007f526c97b6d1 in nsThread::ProcessNextEvent(bool, bool*) (this=0x7f526930b030, aMayWait=<optimized out>, aResult=0x7fff8e1c0d67) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/xpcom/threads/nsThread.cpp:1032
#38 0x00007f526c97d9ec in NS_ProcessNextEvent(nsIThread*, bool) (aThread=<optimized out>, aThread@entry=0x7f526930b030, aMayWait=aMayWait@entry=true) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/xpcom/threads/nsThreadUtils.cpp:519
#39 0x00007f526cdd3700 in mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) (this=0x7f526963cdc0, aDelegate=0x7f527435a200) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/ipc/glue/MessagePump.cpp:125
#40 0x00007f526cda8099 in MessageLoop::RunInternal() (this=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/objdir/dist/include/mozilla/RefPtr.h:335
#41 0x00007f526cda8099 in MessageLoop::RunHandler() (this=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/ipc/chromium/src/base/message_loop.cc:318
#42 0x00007f526cda8099 in MessageLoop::Run() (this=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/ipc/chromium/src/base/message_loop.cc:298
#43 0x00007f526e9a1e5c in nsBaseAppShell::Run() (this=0x7f52693628e0) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/nsBaseAppShell.cpp:158
#44 0x00007f526f86368e in nsAppStartup::Run() (this=0x7f526963dab0) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/objdir/dist/include/nsCOMPtr.h:805
#45 0x00007f526f914839 in XREMain::XRE_mainRun() (this=0x7fff8e1c1050) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/objdir/dist/include/nsCOMPtr.h:805
#46 0x00007f526f915721 in XREMain::XRE_main(int, char**, mozilla::BootstrapConfig const&) (this=0x7fff8e1c1050, argc=<optimized out>, argv=<optimized out>, aConfig=...) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/toolkit/xre/nsAppRunne
r.cpp:4927
#47 0x00007f526f915b80 in XRE_main(int, char**, mozilla::BootstrapConfig const&) (argc=3, argv=0x7fff8e1c2388, aConfig=...) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/toolkit/xre/nsAppRunner.cpp:5019
#48 0x000055eda3f28ba6 in do_main(int, char**, char**) (argc=3, argv=0x7fff8e1c2388, envp=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/objdir/dist/include/mozilla/UniquePtr.h:326
#49 0x000055eda3f282fd in main(int, char**, char**) (argc=3, argv=0x7fff8e1c2388, envp=0x7fff8e1c23a8) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/browser/app/nsBrowserApp.cpp:315

Thread 1 "firefox" hit Breakpoint 1, 0x00007f526e9dd9c0 in wl_seat_get_keyboard (wl_seat=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:598
598             keyboard = nullptr;
#0  0x00007f526e9dd9c0 in wl_seat_get_keyboard (wl_seat=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:598
#1  0x00007f526e9dd9c0 in mozilla::widget::seat_handle_capabilities (data=<optimized out>, caps=<optimized out>, seat=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:594
#2  0x00007f526e9dd9c0 in mozilla::widget::seat_handle_capabilities(void*, wl_seat*, unsigned int) (data=0x7f5257513980, seat=0x7f5258bfde70, caps=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cp
p:588
#3  0x00007f5272cf3ace in ffi_call_unix64 () at /lib64/libffi.so.6
#4  0x00007f5272cf348f in ffi_call () at /lib64/libffi.so.6
#5  0x00007f527363e7ad in wl_closure_invoke (closure=closure@entry=0x7f5256d42c80, flags=flags@entry=1, target=<optimized out>, target@entry=0x7f5258bfde70, opcode=opcode@entry=0, data=<optimized out>) at src/connection.c:1006
#6  0x00007f527363af09 in dispatch_event (display=display@entry=0x7f527434e440, queue=<optimized out>) at src/wayland-client.c:1427
#7  0x00007f527363c41c in dispatch_queue (queue=0x7f527434e508, display=0x7f527434e440) at src/wayland-client.c:1573
#8  0x00007f527363c41c in wl_display_dispatch_queue_pending (display=0x7f527434e440, queue=0x7f527434e508) at src/wayland-client.c:1815
#9  0x00007f527363c85b in wl_display_roundtrip_queue (display=0x7f527434e440, queue=0x7f527434e508) at src/wayland-client.c:1238
#10 0x00007f527363c8a0 in wl_display_roundtrip (display=<optimized out>) at src/wayland-client.c:1267
#11 0x00007f526e9e9d6c in mozilla::widget::KeymapWrapper::InitBySystemSettingsWayland() (this=this@entry=0x7f5257513980) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:648
#12 0x00007f526e9f05f8 in mozilla::widget::KeymapWrapper::Init() (this=0x7f5257513980) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:205
#13 0x00007f526e9f0778 in mozilla::widget::KeymapWrapper::Init() (this=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:189
#14 0x00007f526e9f0778 in mozilla::widget::KeymapWrapper::GetInstance() () at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:149
#15 0x00007f526e9f0d1c in mozilla::widget::KeymapWrapper::InitInputEvent(mozilla::WidgetInputEvent&, unsigned int) (aInputEvent=..., aModifierState=aModifierState@entry=0) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKey
Utils.cpp:869
#16 0x00007f526e9c0d5e in nsWindow::OnMotionNotifyEvent(_GdkEventMotion*) (this=0x7f525fa27c00, aEvent=aEvent@entry=0x7f5258803b00) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsWindow.cpp:2639
#17 0x00007f526e9c0e8b in motion_notify_event_cb(GtkWidget*, GdkEventMotion*) (widget=widget@entry=0x7f5261df3e30, event=0x7f5258803b00) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsWindow.cpp:5820
#18 0x00007f5273e396fb in _gtk_marshal_BOOLEAN__BOXED (closure=0x7f525faf57b0, return_value=0x7fff8e1c0660, n_param_values=<optimized out>, param_values=0x7fff8e1c06c0, invocation_hint=<optimized out>, marshal_data=<optimized out>) at gtk
marshalers.c:83
#19 0x00007f52731fac9d in g_closure_invoke () at /lib64/libgobject-2.0.so.0
#20 0x00007f527320e203 in  () at /lib64/libgobject-2.0.so.0
#21 0x00007f52732169a3 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#22 0x00007f5273217923 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#23 0x00007f5273de6664 in gtk_widget_event_internal (widget=widget@entry=0x7f5261df3e30, event=event@entry=0x7f5258803b00) at gtkwidget.c:7744
#24 0x00007f5273de87ee in gtk_widget_event (widget=widget@entry=0x7f5261df3e30, event=event@entry=0x7f5258803b00) at gtkwidget.c:7314
#25 0x00007f5273ca2936 in propagate_event_up (topmost=<optimized out>, event=<optimized out>, widget=0x7f5261df3e30) at gtkmain.c:2582
#26 0x00007f5273ca2936 in propagate_event (widget=<optimized out>, event=0x7f5258803b00, captured=<optimized out>, topmost=0x0) at gtkmain.c:2685
#27 0x00007f5273ca4af3 in gtk_main_do_event (event=<optimized out>) at gtkmain.c:1915
#28 0x00007f5273995a39 in _gdk_event_emit (event=event@entry=0x7f5258803b00) at gdkevents.c:73
#29 0x00007f52739f2286 in gdk_event_source_dispatch (base=<optimized out>, callback=<optimized out>, data=<optimized out>) at gdkeventsource.c:124
#30 0x00007f527311926d in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#31 0x00007f5273119638 in  () at /lib64/libglib-2.0.so.0
#32 0x00007f52731196d0 in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#33 0x00007f526e9db923 in nsAppShell::ProcessNextNativeEvent(bool) (this=<optimized out>, mayWait=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsAppShell.cpp:301
#34 0x00007f526e9a4f66 in nsBaseAppShell::DoProcessNextNativeEvent(bool) (this=this@entry=0x7f52693628e0, mayWait=mayWait@entry=false) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/nsBaseAppShell.cpp:140
#35 0x00007f526e9a5184 in nsBaseAppShell::OnProcessNextEvent(nsIThreadInternal*, bool) (this=0x7f52693628e0, thr=0x7f526930b030, mayWait=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/nsBaseAppShell.cpp:273
#36 0x00007f526c97b6d1 in nsThread::ProcessNextEvent(bool, bool*) (aResult=0x7fff8e1c0d67, aMayWait=false, this=0x7f526930b030) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/xpcom/threads/nsThread.cpp:1078
#37 0x00007f526c97b6d1 in nsThread::ProcessNextEvent(bool, bool*) (this=0x7f526930b030, aMayWait=<optimized out>, aResult=0x7fff8e1c0d67) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/xpcom/threads/nsThread.cpp:1032
#38 0x00007f526c97d9ec in NS_ProcessNextEvent(nsIThread*, bool) (aThread=<optimized out>, aThread@entry=0x7f526930b030, aMayWait=aMayWait@entry=false) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/xpcom/threads/nsThreadUtils.cpp:519
#39 0x00007f526cdd36ba in mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) (this=0x7f526963cdc0, aDelegate=0x7f527435a200) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/ipc/glue/MessagePump.cpp:97
#40 0x00007f526cda8099 in MessageLoop::RunInternal() (this=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/objdir/dist/include/mozilla/RefPtr.h:335
#41 0x00007f526cda8099 in MessageLoop::RunHandler() (this=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/ipc/chromium/src/base/message_loop.cc:318
#42 0x00007f526cda8099 in MessageLoop::Run() (this=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/ipc/chromium/src/base/message_loop.cc:298
#43 0x00007f526e9a1e5c in nsBaseAppShell::Run() (this=0x7f52693628e0) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/nsBaseAppShell.cpp:158
#44 0x00007f526f86368e in nsAppStartup::Run() (this=0x7f526963dab0) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/objdir/dist/include/nsCOMPtr.h:805
#45 0x00007f526f914839 in XREMain::XRE_mainRun() (this=0x7fff8e1c1050) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/objdir/dist/include/nsCOMPtr.h:805
#46 0x00007f526f915721 in XREMain::XRE_main(int, char**, mozilla::BootstrapConfig const&) (this=0x7fff8e1c1050, argc=<optimized out>, argv=<optimized out>, aConfig=...) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/toolkit/xre/nsAppRunne
r.cpp:4927
#47 0x00007f526f915b80 in XRE_main(int, char**, mozilla::BootstrapConfig const&) (argc=3, argv=0x7fff8e1c2388, aConfig=...) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/toolkit/xre/nsAppRunner.cpp:5019
#48 0x000055eda3f28ba6 in do_main(int, char**, char**) (argc=3, argv=0x7fff8e1c2388, envp=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/objdir/dist/include/mozilla/UniquePtr.h:326
#49 0x000055eda3f282fd in main(int, char**, char**) (argc=3, argv=0x7fff8e1c2388, envp=0x7fff8e1c23a8) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/browser/app/nsBrowserApp.cpp:315

Thread 1 "firefox" hit Breakpoint 1, 0x00007f526e9dd9c0 in wl_seat_get_keyboard (wl_seat=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:598
598             keyboard = nullptr;
#0  0x00007f526e9dd9c0 in wl_seat_get_keyboard (wl_seat=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:598
#1  0x00007f526e9dd9c0 in mozilla::widget::seat_handle_capabilities (data=<optimized out>, caps=<optimized out>, seat=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:594
#2  0x00007f526e9dd9c0 in mozilla::widget::seat_handle_capabilities(void*, wl_seat*, unsigned int) (data=0x7f5257513980, seat=0x7f525b803290, caps=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cp
p:588
#3  0x00007f5272cf3ace in ffi_call_unix64 () at /lib64/libffi.so.6
#4  0x00007f5272cf348f in ffi_call () at /lib64/libffi.so.6
#5  0x00007f527363e7ad in wl_closure_invoke (closure=closure@entry=0x7f5256dd0580, flags=flags@entry=1, target=<optimized out>, target@entry=0x7f525b803290, opcode=opcode@entry=0, data=<optimized out>) at src/connection.c:1006
#6  0x00007f527363af09 in dispatch_event (display=display@entry=0x7f527434e440, queue=<optimized out>) at src/wayland-client.c:1427
#7  0x00007f527363c41c in dispatch_queue (queue=0x7f527434e508, display=0x7f527434e440) at src/wayland-client.c:1573
#8  0x00007f527363c41c in wl_display_dispatch_queue_pending (display=0x7f527434e440, queue=0x7f527434e508) at src/wayland-client.c:1815
#9  0x00007f527363c85b in wl_display_roundtrip_queue (display=0x7f527434e440, queue=0x7f527434e508) at src/wayland-client.c:1238
#10 0x00007f527363c8a0 in wl_display_roundtrip (display=<optimized out>) at src/wayland-client.c:1267
#11 0x00007f526e9e9d6c in mozilla::widget::KeymapWrapper::InitBySystemSettingsWayland() (this=this@entry=0x7f5257513980) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:648
#12 0x00007f526e9f05f8 in mozilla::widget::KeymapWrapper::Init() (this=0x7f5257513980) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:205
#13 0x00007f526e9f0778 in mozilla::widget::KeymapWrapper::Init() (this=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:189
#14 0x00007f526e9f0778 in mozilla::widget::KeymapWrapper::GetInstance() () at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:149
#15 0x00007f526e9f0d1c in mozilla::widget::KeymapWrapper::InitInputEvent(mozilla::WidgetInputEvent&, unsigned int) (aInputEvent=..., aModifierState=aModifierState@entry=0) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKey
Utils.cpp:869
#16 0x00007f526e9c0d5e in nsWindow::OnMotionNotifyEvent(_GdkEventMotion*) (this=0x7f525fa27c00, aEvent=aEvent@entry=0x7f5258803ec0) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsWindow.cpp:2639
#17 0x00007f526e9c0e8b in motion_notify_event_cb(GtkWidget*, GdkEventMotion*) (widget=widget@entry=0x7f5261df3e30, event=0x7f5258803ec0) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsWindow.cpp:5820
#18 0x00007f5273e396fb in _gtk_marshal_BOOLEAN__BOXED (closure=0x7f525faf57b0, return_value=0x7fff8e1c0660, n_param_values=<optimized out>, param_values=0x7fff8e1c06c0, invocation_hint=<optimized out>, marshal_data=<optimized out>) at gtk
marshalers.c:83
#19 0x00007f52731fac9d in g_closure_invoke () at /lib64/libgobject-2.0.so.0
#20 0x00007f527320e203 in  () at /lib64/libgobject-2.0.so.0
#21 0x00007f52732169a3 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#22 0x00007f5273217923 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#23 0x00007f5273de6664 in gtk_widget_event_internal (widget=widget@entry=0x7f5261df3e30, event=event@entry=0x7f5258803ec0) at gtkwidget.c:7744
#24 0x00007f5273de87ee in gtk_widget_event (widget=widget@entry=0x7f5261df3e30, event=event@entry=0x7f5258803ec0) at gtkwidget.c:7314
#25 0x00007f5273ca2936 in propagate_event_up (topmost=<optimized out>, event=<optimized out>, widget=0x7f5261df3e30) at gtkmain.c:2582
#26 0x00007f5273ca2936 in propagate_event (widget=<optimized out>, event=0x7f5258803ec0, captured=<optimized out>, topmost=0x0) at gtkmain.c:2685
#27 0x00007f5273ca4af3 in gtk_main_do_event (event=<optimized out>) at gtkmain.c:1915
#28 0x00007f5273995a39 in _gdk_event_emit (event=event@entry=0x7f5258803ec0) at gdkevents.c:73
#29 0x00007f52739f2286 in gdk_event_source_dispatch (base=<optimized out>, callback=<optimized out>, data=<optimized out>) at gdkeventsource.c:124
#30 0x00007f527311926d in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#31 0x00007f5273119638 in  () at /lib64/libglib-2.0.so.0
#32 0x00007f52731196d0 in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#33 0x00007f526e9db923 in nsAppShell::ProcessNextNativeEvent(bool) (this=<optimized out>, mayWait=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsAppShell.cpp:301
#34 0x00007f526e9a4f66 in nsBaseAppShell::DoProcessNextNativeEvent(bool) (this=this@entry=0x7f52693628e0, mayWait=mayWait@entry=false) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/nsBaseAppShell.cpp:140
#35 0x00007f526e9a5184 in nsBaseAppShell::OnProcessNextEvent(nsIThreadInternal*, bool) (this=0x7f52693628e0, thr=0x7f526930b030, mayWait=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/nsBaseAppShell.cpp:273
#36 0x00007f526c97b6d1 in nsThread::ProcessNextEvent(bool, bool*) (aResult=0x7fff8e1c0d67, aMayWait=false, this=0x7f526930b030) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/xpcom/threads/nsThread.cpp:1078
#37 0x00007f526c97b6d1 in nsThread::ProcessNextEvent(bool, bool*) (this=0x7f526930b030, aMayWait=<optimized out>, aResult=0x7fff8e1c0d67) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/xpcom/threads/nsThread.cpp:1032
#38 0x00007f526c97d9ec in NS_ProcessNextEvent(nsIThread*, bool) (aThread=<optimized out>, aThread@entry=0x7f526930b030, aMayWait=aMayWait@entry=false) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/xpcom/threads/nsThreadUtils.cpp:519
#39 0x00007f526cdd36ba in mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) (this=0x7f526963cdc0, aDelegate=0x7f527435a200) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/ipc/glue/MessagePump.cpp:97
#40 0x00007f526cda8099 in MessageLoop::RunInternal() (this=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/objdir/dist/include/mozilla/RefPtr.h:335
#41 0x00007f526cda8099 in MessageLoop::RunHandler() (this=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/ipc/chromium/src/base/message_loop.cc:318
#42 0x00007f526cda8099 in MessageLoop::Run() (this=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/ipc/chromium/src/base/message_loop.cc:298
#43 0x00007f526e9a1e5c in nsBaseAppShell::Run() (this=0x7f52693628e0) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/nsBaseAppShell.cpp:158
#44 0x00007f526f86368e in nsAppStartup::Run() (this=0x7f526963dab0) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/objdir/dist/include/nsCOMPtr.h:805
#45 0x00007f526f914839 in XREMain::XRE_mainRun() (this=0x7fff8e1c1050) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/objdir/dist/include/nsCOMPtr.h:805
#46 0x00007f526f915721 in XREMain::XRE_main(int, char**, mozilla::BootstrapConfig const&) (this=0x7fff8e1c1050, argc=<optimized out>, argv=<optimized out>, aConfig=...) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/toolkit/xre/nsAppRunne
r.cpp:4927
#47 0x00007f526f915b80 in XRE_main(int, char**, mozilla::BootstrapConfig const&) (argc=3, argv=0x7fff8e1c2388, aConfig=...) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/toolkit/xre/nsAppRunner.cpp:5019
#48 0x000055eda3f28ba6 in do_main(int, char**, char**) (argc=3, argv=0x7fff8e1c2388, envp=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/objdir/dist/include/mozilla/UniquePtr.h:326
#49 0x000055eda3f282fd in main(int, char**, char**) (argc=3, argv=0x7fff8e1c2388, envp=0x7fff8e1c23a8) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/browser/app/nsBrowserApp.cpp:315
[Thread 0x7f525baff700 (LWP 3482) exited]
[Thread 0x7f525bd8c700 (LWP 3478) exited]
[Thread 0x7f52644fb700 (LWP 3368) exited]

Thread 1 "firefox" hit Breakpoint 1, 0x00007f526e9dd9c0 in wl_seat_get_keyboard (wl_seat=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:598
598             keyboard = nullptr;
#0  0x00007f526e9dd9c0 in wl_seat_get_keyboard (wl_seat=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:598
#1  0x00007f526e9dd9c0 in mozilla::widget::seat_handle_capabilities (data=<optimized out>, caps=<optimized out>, seat=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:594
#2  0x00007f526e9dd9c0 in mozilla::widget::seat_handle_capabilities(void*, wl_seat*, unsigned int) (data=0x7f5257513980, seat=0x7f52576a3560, caps=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cp
p:588
#3  0x00007f5272cf3ace in ffi_call_unix64 () at /lib64/libffi.so.6
#4  0x00007f5272cf348f in ffi_call () at /lib64/libffi.so.6
#5  0x00007f527363e7ad in wl_closure_invoke (closure=closure@entry=0x7f5256d423c0, flags=flags@entry=1, target=<optimized out>, target@entry=0x7f52576a3560, opcode=opcode@entry=0, data=<optimized out>) at src/connection.c:1006
#6  0x00007f527363af09 in dispatch_event (display=display@entry=0x7f527434e440, queue=<optimized out>) at src/wayland-client.c:1427
#7  0x00007f527363c41c in dispatch_queue (queue=0x7f527434e508, display=0x7f527434e440) at src/wayland-client.c:1573
#8  0x00007f527363c41c in wl_display_dispatch_queue_pending (display=0x7f527434e440, queue=0x7f527434e508) at src/wayland-client.c:1815
#9  0x00007f527363c85b in wl_display_roundtrip_queue (display=0x7f527434e440, queue=0x7f527434e508) at src/wayland-client.c:1238
#10 0x00007f527363c8a0 in wl_display_roundtrip (display=<optimized out>) at src/wayland-client.c:1267
#11 0x00007f526e9e9d6c in mozilla::widget::KeymapWrapper::InitBySystemSettingsWayland() (this=this@entry=0x7f5257513980) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:648
#12 0x00007f526e9f05f8 in mozilla::widget::KeymapWrapper::Init() (this=0x7f5257513980) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:205
#13 0x00007f526e9f0778 in mozilla::widget::KeymapWrapper::Init() (this=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:189
#14 0x00007f526e9f0778 in mozilla::widget::KeymapWrapper::GetInstance() () at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:149
#15 0x00007f526e9f0d1c in mozilla::widget::KeymapWrapper::InitInputEvent(mozilla::WidgetInputEvent&, unsigned int) (aInputEvent=..., aModifierState=256) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:869
#16 0x00007f526e9bebce in nsWindow::InitButtonEvent(mozilla::WidgetMouseEvent&, _GdkEventButton*) (this=this@entry=0x7f525fa27c00, aEvent=..., aGdkEvent=aGdkEvent@entry=0x7f5258804340) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget
/gtk/nsWindow.cpp:2724
#17 0x00007f526e9c13db in nsWindow::OnButtonPressEvent(_GdkEventButton*) (this=0x7f525fa27c00, aEvent=aEvent@entry=0x7f5258804340) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsWindow.cpp:2822
#18 0x00007f526e9c14bb in button_press_event_cb(GtkWidget*, GdkEventButton*) (widget=widget@entry=0x7f5261df3e30, event=0x7f5258804340) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsWindow.cpp:5834
#19 0x00007f5273e396fb in _gtk_marshal_BOOLEAN__BOXED (closure=0x7f525faf5800, return_value=0x7fff8e1c0660, n_param_values=<optimized out>, param_values=0x7fff8e1c06c0, invocation_hint=<optimized out>, marshal_data=<optimized out>) at gtk
marshalers.c:83
#20 0x00007f52731fac9d in g_closure_invoke () at /lib64/libgobject-2.0.so.0
#21 0x00007f527320e203 in  () at /lib64/libgobject-2.0.so.0
#22 0x00007f52732169a3 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#23 0x00007f5273217923 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#24 0x00007f5273de6664 in gtk_widget_event_internal (widget=widget@entry=0x7f5261df3e30, event=event@entry=0x7f5258804340) at gtkwidget.c:7744
#25 0x00007f5273de87ee in gtk_widget_event (widget=widget@entry=0x7f5261df3e30, event=event@entry=0x7f5258804340) at gtkwidget.c:7314
#26 0x00007f5273ca2936 in propagate_event_up (topmost=<optimized out>, event=<optimized out>, widget=0x7f5261df3e30) at gtkmain.c:2582
#27 0x00007f5273ca2936 in propagate_event (widget=<optimized out>, event=0x7f5258804340, captured=<optimized out>, topmost=0x0) at gtkmain.c:2685
#28 0x00007f5273ca4af3 in gtk_main_do_event (event=<optimized out>) at gtkmain.c:1915
#29 0x00007f5273995a39 in _gdk_event_emit (event=event@entry=0x7f5258804340) at gdkevents.c:73
#30 0x00007f52739f2286 in gdk_event_source_dispatch (base=<optimized out>, callback=<optimized out>, data=<optimized out>) at gdkeventsource.c:124
#31 0x00007f527311926d in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#32 0x00007f5273119638 in  () at /lib64/libglib-2.0.so.0
#33 0x00007f52731196d0 in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#34 0x00007f526e9db923 in nsAppShell::ProcessNextNativeEvent(bool) (this=<optimized out>, mayWait=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsAppShell.cpp:301
#35 0x00007f526e9a4f66 in nsBaseAppShell::DoProcessNextNativeEvent(bool) (this=this@entry=0x7f52693628e0, mayWait=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/nsBaseAppShell.cpp:140
#36 0x00007f526e9a50fe in nsBaseAppShell::OnProcessNextEvent(nsIThreadInternal*, bool) (this=0x7f52693628e0, thr=0x7f526930b030, mayWait=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/nsBaseAppShell.cpp:291
#37 0x00007f526c97b6d1 in nsThread::ProcessNextEvent(bool, bool*) (aResult=0x7fff8e1c0d67, aMayWait=true, this=0x7f526930b030) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/xpcom/threads/nsThread.cpp:1078
#38 0x00007f526c97b6d1 in nsThread::ProcessNextEvent(bool, bool*) (this=0x7f526930b030, aMayWait=<optimized out>, aResult=0x7fff8e1c0d67) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/xpcom/threads/nsThread.cpp:1032
#39 0x00007f526c97d9ec in NS_ProcessNextEvent(nsIThread*, bool) (aThread=<optimized out>, aThread@entry=0x7f526930b030, aMayWait=aMayWait@entry=true) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/xpcom/threads/nsThreadUtils.cpp:519
#40 0x00007f526cdd3700 in mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) (this=0x7f526963cdc0, aDelegate=0x7f527435a200) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/ipc/glue/MessagePump.cpp:125
#41 0x00007f526cda8099 in MessageLoop::RunInternal() (this=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/objdir/dist/include/mozilla/RefPtr.h:335
#42 0x00007f526cda8099 in MessageLoop::RunHandler() (this=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/ipc/chromium/src/base/message_loop.cc:318
#43 0x00007f526cda8099 in MessageLoop::Run() (this=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/ipc/chromium/src/base/message_loop.cc:298
#44 0x00007f526e9a1e5c in nsBaseAppShell::Run() (this=0x7f52693628e0) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/nsBaseAppShell.cpp:158
#45 0x00007f526f86368e in nsAppStartup::Run() (this=0x7f526963dab0) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/objdir/dist/include/nsCOMPtr.h:805
#46 0x00007f526f914839 in XREMain::XRE_mainRun() (this=0x7fff8e1c1050) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/objdir/dist/include/nsCOMPtr.h:805
#47 0x00007f526f915721 in XREMain::XRE_main(int, char**, mozilla::BootstrapConfig const&) (this=0x7fff8e1c1050, argc=<optimized out>, argv=<optimized out>, aConfig=...) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/toolkit/xre/nsAppRunne
r.cpp:4927
#48 0x00007f526f915b80 in XRE_main(int, char**, mozilla::BootstrapConfig const&) (argc=3, argv=0x7fff8e1c2388, aConfig=...) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/toolkit/xre/nsAppRunner.cpp:5019
#49 0x000055eda3f28ba6 in do_main(int, char**, char**) (argc=3, argv=0x7fff8e1c2388, envp=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/objdir/dist/include/mozilla/UniquePtr.h:326
#50 0x000055eda3f282fd in main(int, char**, char**) (argc=3, argv=0x7fff8e1c2388, envp=0x7fff8e1c23a8) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/browser/app/nsBrowserApp.cpp:315

Thread 1 "firefox" hit Breakpoint 1, 0x00007f526e9dd9c0 in wl_seat_get_keyboard (wl_seat=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:598
598             keyboard = nullptr;
#0  0x00007f526e9dd9c0 in wl_seat_get_keyboard (wl_seat=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:598
#1  0x00007f526e9dd9c0 in mozilla::widget::seat_handle_capabilities (data=<optimized out>, caps=<optimized out>, seat=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:594
#2  0x00007f526e9dd9c0 in mozilla::widget::seat_handle_capabilities(void*, wl_seat*, unsigned int) (data=0x7f5257513980, seat=0x7f52576a37e0, caps=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cp
p:588
#3  0x00007f5272cf3ace in ffi_call_unix64 () at /lib64/libffi.so.6
#4  0x00007f5272cf348f in ffi_call () at /lib64/libffi.so.6
#5  0x00007f527363e7ad in wl_closure_invoke (closure=closure@entry=0x7f5256d423c0, flags=flags@entry=1, target=<optimized out>, target@entry=0x7f52576a37e0, opcode=opcode@entry=0, data=<optimized out>) at src/connection.c:1006
#6  0x00007f527363af09 in dispatch_event (display=display@entry=0x7f527434e440, queue=<optimized out>) at src/wayland-client.c:1427
#7  0x00007f527363c41c in dispatch_queue (queue=0x7f527434e508, display=0x7f527434e440) at src/wayland-client.c:1573
#8  0x00007f527363c41c in wl_display_dispatch_queue_pending (display=0x7f527434e440, queue=0x7f527434e508) at src/wayland-client.c:1815
#9  0x00007f527363c85b in wl_display_roundtrip_queue (display=0x7f527434e440, queue=0x7f527434e508) at src/wayland-client.c:1238
#10 0x00007f527363c8a0 in wl_display_roundtrip (display=<optimized out>) at src/wayland-client.c:1267
#11 0x00007f526e9e9d6c in mozilla::widget::KeymapWrapper::InitBySystemSettingsWayland() (this=this@entry=0x7f5257513980) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:648
#12 0x00007f526e9f05f8 in mozilla::widget::KeymapWrapper::Init() (this=0x7f5257513980) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:205
#13 0x00007f526e9f0778 in mozilla::widget::KeymapWrapper::Init() (this=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:189
#14 0x00007f526e9f0778 in mozilla::widget::KeymapWrapper::GetInstance() () at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:149
#15 0x00007f526e9f1296 in mozilla::widget::KeymapWrapper::InitKeyEvent(mozilla::WidgetKeyboardEvent&, _GdkEventKey*, bool) (aKeyEvent=..., aGdkKeyEvent=aGdkKeyEvent@entry=0x7f5258802020, aIsProcessedByIME=aIsProcessedByIME@entry=false) at
 /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:1150
#16 0x00007f526e9c091b in nsWindow::DispatchKeyDownOrKeyUpEvent(_GdkEventKey*, bool, bool*) (this=this@entry=0x7f525fa27c00, aEvent=aEvent@entry=0x7f5258802020, aIsProcessedByIME=aIsProcessedByIME@entry=false, aIsCancelled=aIsCancelled@en
try=0x7fff8e1bfe6b) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsWindow.cpp:3007
#17 0x00007f526e9c20be in nsWindow::OnKeyPressEvent(_GdkEventKey*) (this=this@entry=0x7f525fa27c00, aEvent=aEvent@entry=0x7f5258802020) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsWindow.cpp:3114
#18 0x00007f526e9c278b in key_press_event_cb(GtkWidget*, GdkEventKey*) (widget=widget@entry=0x7f5261df3e30, event=0x7f5258802020) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsWindow.cpp:5983
#19 0x00007f5273e396fb in _gtk_marshal_BOOLEAN__BOXED (closure=0x7f525faf3800, return_value=0x7fff8e1c0260, n_param_values=<optimized out>, param_values=0x7fff8e1c02c0, invocation_hint=<optimized out>, marshal_data=<optimized out>) at gtk
marshalers.c:83
#20 0x00007f52731fac9d in g_closure_invoke () at /lib64/libgobject-2.0.so.0
#21 0x00007f527320e203 in  () at /lib64/libgobject-2.0.so.0
#22 0x00007f52732169a3 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#23 0x00007f5273217923 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#24 0x00007f5273de6664 in gtk_widget_event_internal (widget=widget@entry=0x7f5261df3e30, event=event@entry=0x7f5258802020) at gtkwidget.c:7744
#25 0x00007f5273de87ee in gtk_widget_event (widget=widget@entry=0x7f5261df3e30, event=event@entry=0x7f5258802020) at gtkwidget.c:7314
#26 0x00007f5273e0749b in gtk_window_propagate_key_event (window=window@entry=0x7f525fa28260, event=event@entry=0x7f5258802020) at gtkwindow.c:8167
#27 0x00007f5273e0b05b in gtk_window_key_press_event (widget=0x7f525fa28260, event=0x7f5258802020) at gtkwindow.c:8200
#28 0x00007f5273e397f8 in _gtk_marshal_BOOLEAN__BOXEDv (closure=0x7f52743ea8e0, return_value=0x7fff8e1c07d0, instance=<optimized out>, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=0x7f52743e586
0) at gtkmarshalers.c:129
#29 0x00007f52731faef6 in  () at /lib64/libgobject-2.0.so.0
#30 0x00007f5273216da4 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#31 0x00007f5273217923 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#32 0x00007f5273de6664 in gtk_widget_event_internal (widget=0x7f525fa28260, event=0x7f5258802020) at gtkwidget.c:7744
#33 0x00007f5273ca2a11 in propagate_event (widget=0x7f525fa28260, event=0x7f5258802020, captured=<optimized out>, topmost=0x0) at gtkmain.c:2675
#34 0x00007f5273ca4af3 in gtk_main_do_event (event=<optimized out>) at gtkmain.c:1915
#35 0x00007f5273995a39 in _gdk_event_emit (event=event@entry=0x7f5258802020) at gdkevents.c:73
#36 0x00007f52739f2286 in gdk_event_source_dispatch (base=<optimized out>, callback=<optimized out>, data=<optimized out>) at gdkeventsource.c:124
#37 0x00007f527311926d in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#38 0x00007f5273119638 in  () at /lib64/libglib-2.0.so.0
#39 0x00007f52731196d0 in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#40 0x00007f526e9db923 in nsAppShell::ProcessNextNativeEvent(bool) (this=<optimized out>, mayWait=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsAppShell.cpp:301
#41 0x00007f526e9a4f66 in nsBaseAppShell::DoProcessNextNativeEvent(bool) (this=this@entry=0x7f52693628e0, mayWait=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/nsBaseAppShell.cpp:140
#42 0x00007f526e9a50fe in nsBaseAppShell::OnProcessNextEvent(nsIThreadInternal*, bool) (this=0x7f52693628e0, thr=0x7f526930b030, mayWait=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/nsBaseAppShell.cpp:291
#43 0x00007f526c97b6d1 in nsThread::ProcessNextEvent(bool, bool*) (aResult=0x7fff8e1c0d67, aMayWait=true, this=0x7f526930b030) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/xpcom/threads/nsThread.cpp:1078
#44 0x00007f526c97b6d1 in nsThread::ProcessNextEvent(bool, bool*) (this=0x7f526930b030, aMayWait=<optimized out>, aResult=0x7fff8e1c0d67) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/xpcom/threads/nsThread.cpp:1032
#45 0x00007f526c97d9ec in NS_ProcessNextEvent(nsIThread*, bool) (aThread=<optimized out>, aThread@entry=0x7f526930b030, aMayWait=aMayWait@entry=true) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/xpcom/threads/nsThreadUtils.cpp:519
#46 0x00007f526cdd3700 in mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) (this=0x7f526963cdc0, aDelegate=0x7f527435a200) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/ipc/glue/MessagePump.cpp:125
#47 0x00007f526cda8099 in MessageLoop::RunInternal() (this=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/objdir/dist/include/mozilla/RefPtr.h:335
#48 0x00007f526cda8099 in MessageLoop::RunHandler() (this=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/ipc/chromium/src/base/message_loop.cc:318
#49 0x00007f526cda8099 in MessageLoop::Run() (this=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/ipc/chromium/src/base/message_loop.cc:298
#50 0x00007f526e9a1e5c in nsBaseAppShell::Run() (this=0x7f52693628e0) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/nsBaseAppShell.cpp:158
#51 0x00007f526f86368e in nsAppStartup::Run() (this=0x7f526963dab0) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/objdir/dist/include/nsCOMPtr.h:805
#52 0x00007f526f914839 in XREMain::XRE_mainRun() (this=0x7fff8e1c1050) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/objdir/dist/include/nsCOMPtr.h:805
#53 0x00007f526f915721 in XREMain::XRE_main(int, char**, mozilla::BootstrapConfig const&) (this=0x7fff8e1c1050, argc=<optimized out>, argv=<optimized out>, aConfig=...) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/toolkit/xre/nsAppRunne
r.cpp:4927
#54 0x00007f526f915b80 in XRE_main(int, char**, mozilla::BootstrapConfig const&) (argc=3, argv=0x7fff8e1c2388, aConfig=...) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/toolkit/xre/nsAppRunner.cpp:5019
#55 0x000055eda3f28ba6 in do_main(int, char**, char**) (argc=3, argv=0x7fff8e1c2388, envp=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/objdir/dist/include/mozilla/UniquePtr.h:326
#56 0x000055eda3f282fd in main(int, char**, char**) (argc=3, argv=0x7fff8e1c2388, envp=0x7fff8e1c23a8) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/browser/app/nsBrowserApp.cpp:315
[New Thread 0x7f525baff700 (LWP 3533)]
[New Thread 0x7f525bd8c700 (LWP 3534)]
[New Thread 0x7f5255fbd700 (LWP 3535)]

Thread 1 "firefox" hit Breakpoint 1, 0x00007f526e9dd9c0 in wl_seat_get_keyboard (wl_seat=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:598
598             keyboard = nullptr;
#0  0x00007f526e9dd9c0 in wl_seat_get_keyboard (wl_seat=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:598
#1  0x00007f526e9dd9c0 in mozilla::widget::seat_handle_capabilities (data=<optimized out>, caps=<optimized out>, seat=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:594
#2  0x00007f526e9dd9c0 in mozilla::widget::seat_handle_capabilities(void*, wl_seat*, unsigned int) (data=0x7f5257513980, seat=0x7f525e526920, caps=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cp
p:588
#3  0x00007f5272cf3ace in ffi_call_unix64 () at /lib64/libffi.so.6
#4  0x00007f5272cf348f in ffi_call () at /lib64/libffi.so.6
#5  0x00007f527363e7ad in wl_closure_invoke (closure=closure@entry=0x7f525d4f2d60, flags=flags@entry=1, target=<optimized out>, target@entry=0x7f525e526920, opcode=opcode@entry=0, data=<optimized out>) at src/connection.c:1006
#6  0x00007f527363af09 in dispatch_event (display=display@entry=0x7f527434e440, queue=<optimized out>) at src/wayland-client.c:1427
#7  0x00007f527363c41c in dispatch_queue (queue=0x7f527434e508, display=0x7f527434e440) at src/wayland-client.c:1573
#8  0x00007f527363c41c in wl_display_dispatch_queue_pending (display=0x7f527434e440, queue=0x7f527434e508) at src/wayland-client.c:1815
#9  0x00007f527363c85b in wl_display_roundtrip_queue (display=0x7f527434e440, queue=0x7f527434e508) at src/wayland-client.c:1238
#10 0x00007f527363c8a0 in wl_display_roundtrip (display=<optimized out>) at src/wayland-client.c:1267
#11 0x00007f526e9e9d6c in mozilla::widget::KeymapWrapper::InitBySystemSettingsWayland() (this=this@entry=0x7f5257513980) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:648
#12 0x00007f526e9f05f8 in mozilla::widget::KeymapWrapper::Init() (this=0x7f5257513980) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:205
#13 0x00007f526e9f0778 in mozilla::widget::KeymapWrapper::Init() (this=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:189
#14 0x00007f526e9f0778 in mozilla::widget::KeymapWrapper::GetInstance() () at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKeyUtils.cpp:149
#15 0x00007f526e9f0d1c in mozilla::widget::KeymapWrapper::InitInputEvent(mozilla::WidgetInputEvent&, unsigned int) (aInputEvent=..., aModifierState=aModifierState@entry=0) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsGtkKey
Utils.cpp:869
#16 0x00007f526e9c0d5e in nsWindow::OnMotionNotifyEvent(_GdkEventMotion*) (this=0x7f525fa27c00, aEvent=aEvent@entry=0x7f525884b5c0) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsWindow.cpp:2639
#17 0x00007f526e9c0e8b in motion_notify_event_cb(GtkWidget*, GdkEventMotion*) (widget=widget@entry=0x7f5257c4a590, event=0x7f525884b5c0) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsWindow.cpp:5820
#18 0x00007f5273e396fb in _gtk_marshal_BOOLEAN__BOXED (closure=0x7f525bc36760, return_value=0x7fff8e1c0660, n_param_values=<optimized out>, param_values=0x7fff8e1c06c0, invocation_hint=<optimized out>, marshal_data=<optimized out>) at gtk
marshalers.c:83
#19 0x00007f52731fac9d in g_closure_invoke () at /lib64/libgobject-2.0.so.0
#20 0x00007f527320e203 in  () at /lib64/libgobject-2.0.so.0
#21 0x00007f52732169a3 in g_signal_emit_valist () at /lib64/libgobject-2.0.so.0
#22 0x00007f5273217923 in g_signal_emit () at /lib64/libgobject-2.0.so.0
#23 0x00007f5273de6664 in gtk_widget_event_internal (widget=widget@entry=0x7f5257c4a590, event=event@entry=0x7f525884b5c0) at gtkwidget.c:7744
#24 0x00007f5273de87ee in gtk_widget_event (widget=widget@entry=0x7f5257c4a590, event=event@entry=0x7f525884b5c0) at gtkwidget.c:7314
#25 0x00007f5273ca2936 in propagate_event_up (topmost=<optimized out>, event=<optimized out>, widget=0x7f5257c4a590) at gtkmain.c:2582
#26 0x00007f5273ca2936 in propagate_event (widget=<optimized out>, event=0x7f525884b5c0, captured=<optimized out>, topmost=0x0) at gtkmain.c:2685
#27 0x00007f5273ca4af3 in gtk_main_do_event (event=<optimized out>) at gtkmain.c:1915
#28 0x00007f5273995a39 in _gdk_event_emit (event=event@entry=0x7f525884b5c0) at gdkevents.c:73
#29 0x00007f52739f2286 in gdk_event_source_dispatch (base=<optimized out>, callback=<optimized out>, data=<optimized out>) at gdkeventsource.c:124
#30 0x00007f527311926d in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#31 0x00007f5273119638 in  () at /lib64/libglib-2.0.so.0
#32 0x00007f52731196d0 in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#33 0x00007f526e9db923 in nsAppShell::ProcessNextNativeEvent(bool) (this=<optimized out>, mayWait=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/gtk/nsAppShell.cpp:301
#34 0x00007f526e9a4f66 in nsBaseAppShell::DoProcessNextNativeEvent(bool) (this=this@entry=0x7f52693628e0, mayWait=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/nsBaseAppShell.cpp:140
#35 0x00007f526e9a50fe in nsBaseAppShell::OnProcessNextEvent(nsIThreadInternal*, bool) (this=0x7f52693628e0, thr=0x7f526930b030, mayWait=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/nsBaseAppShell.cpp:291
#36 0x00007f526c97b6d1 in nsThread::ProcessNextEvent(bool, bool*) (aResult=0x7fff8e1c0d67, aMayWait=true, this=0x7f526930b030) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/xpcom/threads/nsThread.cpp:1078
#37 0x00007f526c97b6d1 in nsThread::ProcessNextEvent(bool, bool*) (this=0x7f526930b030, aMayWait=<optimized out>, aResult=0x7fff8e1c0d67) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/xpcom/threads/nsThread.cpp:1032
#38 0x00007f526c97d9ec in NS_ProcessNextEvent(nsIThread*, bool) (aThread=<optimized out>, aThread@entry=0x7f526930b030, aMayWait=aMayWait@entry=true) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/xpcom/threads/nsThreadUtils.cpp:519
#39 0x00007f526cdd3700 in mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) (this=0x7f526963cdc0, aDelegate=0x7f527435a200) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/ipc/glue/MessagePump.cpp:125
#40 0x00007f526cda8099 in MessageLoop::RunInternal() (this=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/objdir/dist/include/mozilla/RefPtr.h:335
#41 0x00007f526cda8099 in MessageLoop::RunHandler() (this=<optimized out>) at /
usr/src/debug/firefox-63.0.3-1.fc29.x86_64/ipc/chromium/src/base/message_loop.cc:318
#42 0x00007f526cda8099 in MessageLoop::Run() (this=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/ipc/chromium/src/base/message_loop.cc:298
#43 0x00007f526e9a1e5c in nsBaseAppShell::Run() (this=0x7f52693628e0) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/widget/nsBaseAppShell.cpp:158
#44 0x00007f526f86368e in nsAppStartup::Run() (this=0x7f526963dab0) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/objdir/dist/include/nsCOMPtr.h:805
#45 0x00007f526f914839 in XREMain::XRE_mainRun() (this=0x7fff8e1c1050) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/objdir/dist/include/nsCOMPtr.h:805
#46 0x00007f526f915721 in XREMain::XRE_main(int, char**, mozilla::BootstrapConfig const&) (this=0x7fff8e1c1050, argc=<optimized out>, argv=<optimized out>, aConfig=...) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/toolkit/xre/nsAppRunne
r.cpp:4927
#47 0x00007f526f915b80 in XRE_main(int, char**, mozilla::BootstrapConfig const&) (argc=3, argv=0x7fff8e1c2388, aConfig=...) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/toolkit/xre/nsAppRunner.cpp:5019
#48 0x000055eda3f28ba6 in do_main(int, char**, char**) (argc=3, argv=0x7fff8e1c2388, envp=<optimized out>) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/objdir/dist/include/mozilla/UniquePtr.h:326
#49 0x000055eda3f282fd in main(int, char**, char**) (argc=3, argv=0x7fff8e1c2388, envp=0x7fff8e1c23a8) at /usr/src/debug/firefox-63.0.3-1.fc29.x86_64/browser/app/nsBrowserApp.cpp:315

associated WAYLAND_DEBUG log always looks like:


[1441391.956] [email protected](1, "wl_shm", 1)
[1441391.964] [email protected](2, "zwp_linux_dmabuf_v1", 3)
[1441391.972] [email protected](3, "wl_drm", 2)
[1441391.980] [email protected](4, "wl_compositor", 4)
[1441391.988] [email protected](5, "wl_subcompositor", 1)
[1441391.996] [email protected](6, "wl_data_device_manager", 3)
[1441392.004] [email protected](7, "gamma_control_manager", 1)
[1441392.012] [email protected](8, "zwlr_gamma_control_manager_v1", 1)
[1441392.025] [email protected](9, "gtk_primary_selection_device_manager", 1)
[1441392.033] [email protected](10, "zxdg_output_manager_v1", 2)
[1441392.041] [email protected](11, "org_kde_kwin_idle", 1)
[1441392.049] [email protected](12, "zwp_idle_inhibit_manager_v1", 1)
[1441392.056] [email protected](13, "zwlr_layer_shell_v1", 1)
[1441392.064] [email protected](14, "zxdg_shell_v6", 1)
[1441392.072] [email protected](15, "xdg_wm_base", 2)
[1441392.080] [email protected](16, "org_kde_kwin_server_decoration_manager", 1)
[1441392.087] [email protected](17, "zxdg_decoration_manager_v1", 1)
[1441392.095] [email protected](18, "wp_presentation", 1)
[1441392.103] [email protected](19, "zwlr_export_dmabuf_manager_v1", 1)
[1441392.111] [email protected](20, "zwlr_screencopy_manager_v1", 1)
[1441392.118] [email protected](21, "zwp_virtual_keyboard_manager_v1", 1)
[1441392.126] [email protected](22, "zwlr_input_inhibit_manager_v1", 1)
[1441392.134] [email protected](23, "wl_seat", 6)
[1441392.143]  -> [email protected](23, "wl_seat", 1, new id [unknown]@72)
[1441392.154] [email protected](24, "wl_output", 3)
[1441392.162] [email protected](762)
[1441392.167]  -> [email protected](new id wl_callback@71)
[1441392.216] [email protected]_id(71)
[1441392.266] [email protected](3)
[1441869.317]  -> [email protected]_keyboard(new id wl_keyboard@73)
[1441869.337] [email protected](762)

It seems to happen pretty much all the time: when focus changes (window enter), when you focus a field where keyboard can be used, etc...

@stransky
Copy link
Author

Thanks, it should be handled by https://bugzilla.mozilla.org/show_bug.cgi?id=1507475

@martinetd
Copy link
Member

phabricator link of the same: https://phabricator.services.mozilla.com/D12255 (more direct for people like me)

Haven't looked at the code in details but yes I believe this should help; not listing all global registries everytime you need something is the way to go! :)
I'm too lazy to rebuild firefox, but someone here ought to be able to confirm sooner or later

@johnp
Copy link

johnp commented Nov 23, 2018

I downloaded a build with the patch for bug 1507475 from autoland (direct link linux x64 pgo) and can confirm that Firefox runs far more smoothly now on latest sway-git/wlroots-git.

edit: modifier keys also work smoothly now and don't get lost under load as before.
edit2: fix is in Nightly since build 20181123220228

@uwqwxing886
Copy link

Firefox is not just usable but fast and stable using the build in #3115 (comment) (previous comment) and the wlroots fix in swaywm/wlroots#1384.

@stransky
Copy link
Author

Thanks for the confirmation, I'll backport the wl_keyboard part of the patch to Fedora Firefox package.

@J0nnyMak0
Copy link
Contributor

Great! Firefox with wayland backend is working well enough for me to switch to using it by default! A couple of minor issues:

  1. Menus get stuck on screen. So when I enable any menu, lets say the right-click context menu, and then click outside to disable it, I can't get rid of it. It is still drawn on screen.
  2. Firefox with wayland backend does not pick up GTK themes.

@emersion
Copy link
Member

emersion commented Nov 24, 2018

Menus get stuck on screen. So when I enable any menu, lets say the right-click context menu, and then click outside to disable it, I can't get rid of it. It is still drawn on screen.

Does scrolling the page underneath the menu fix it?

@J0nnyMak0
Copy link
Contributor

J0nnyMak0 commented Nov 25, 2018

Does scrolling the page underneath the menu fix it?

Yes, scrolling gets rid of the context menu. The issue is not limited to context menus though. The menus in the menu bar are drawn over each other. So if I select File menu followed by Edit menu, then Edit menu is drawn over the still seemingly open File menu. All menus are reset when cursor is moved over the webpage area.

@emersion
Copy link
Member

This one is likely a sway bug. Can you open a separate issue about it?

@J0nnyMak0
Copy link
Contributor

This one is likely a sway bug. Can you open a separate issue about it?

Will do.

Also, in newer firefox-nightly wayland, selecting and copying any text from webpage crashes firefox. I still run into the problem with firefox not starting up if clipboard has content. I suspect these are related.

@emersion
Copy link
Member

You need to use swaywm/wlroots#1384.

@J0nnyMak0
Copy link
Contributor

You need to use swaywm/wlroots#1384.

Gotcha. Thanks.

@stransky
Copy link
Author

This one is likely a sway bug. Can you open a separate issue about it?

Will do.

Also, in newer firefox-nightly wayland, selecting and copying any text from webpage crashes firefox. I still run into the problem with firefox not starting up if clipboard has content. I suspect these are related.

Can you please provide a backtrace of the crash? I'd like to fix that. Thanks.

@wernerb
Copy link

wernerb commented Dec 2, 2018

@emersion done in #3233

@J0nnyMak0
Copy link
Contributor

Also auto updating nightly sometimes crashes Sway.

@emersion
Copy link
Member

emersion commented Dec 2, 2018

crashes Sway

Please submit stack traces (coredumpctl gdb sway then bt full) in a new issue.

@stransky
Copy link
Author

stransky commented Dec 3, 2018

1. Sometimes firefox doesn't start right up. It starts two firefox processes, one main process and one tab process and nothing happens then, no window shows up. It outputs in terminal only this:
Attempting load of libEGL.so
IPDL protocol Error: Received an invalid file descriptor

I have to kill these processes and try to start it again. After some try it starts normally and works well.

That's https://bugzilla.mozilla.org/show_bug.cgi?id=1489902

@emersion
Copy link
Member

emersion commented Dec 3, 2018

Thanks, looks like it.

FWIW, non-trivial Wayland clients should always use eglSwapInterval(0). There's no valid reason to ever use something else.

@emersion
Copy link
Member

emersion commented Dec 3, 2018

@stransky Another thing our users reported is that sometimes menus are off-screen and/or hidden. This happens because you use subsurfaces instead of xdg-popups. Subsurfaces spanning outside of the window geometry have no guarantee to be visible, whereas xdg-popups will be more cleverly displayed by the compositor.

@stransky
Copy link
Author

stransky commented Dec 4, 2018

@stransky Another thing our users reported is that sometimes menus are off-screen and/or hidden. This happens because you use subsurfaces instead of xdg-popups. Subsurfaces spanning outside of the window geometry have no guarantee to be visible, whereas xdg-popups will be more cleverly displayed by the compositor.

That's https://bugzilla.mozilla.org/show_bug.cgi?id=1339920

@J0nnyMak0
Copy link
Contributor

I'm seeing lots of crashes in nightly builds starting yesterday. Just opening a new tab and typing into url field seems to crash firefox, for example. Anyone else seeing frequent crashes?

@johnae
Copy link
Contributor

johnae commented Dec 7, 2018 via email

@J0nnyMak0
Copy link
Contributor

@kode54
Copy link

kode54 commented Dec 14, 2018

Is the Flatpak fixed? I just installed it and it still has this issue. Running on Kubuntu 18.10.

@stransky
Copy link
Author

stransky commented Dec 14, 2018

You don't need that flatpak any more to test wayland builds.
Just run an official Firefox nightly as GDK_BACKEND=wayland ./firefox i.e. you need to set GDK_BACKEND env to wayland.

@wernerb
Copy link

wernerb commented Dec 27, 2018

@stransky still having issue #3233 with latest nightly. Its been pointed out that its due to using a deprecated method in firefox? Is this fixable? Like I said before no context dialogs are possible with any sort of vertical output set.

@stransky
Copy link
Author

stransky commented Jan 3, 2019

@stransky still having issue #3233 with latest nightly. Its been pointed out that its due to using a deprecated method in firefox? Is this fixable? Like I said before no context dialogs are possible with any sort of vertical output set.

I think it's https://bugzilla.mozilla.org/show_bug.cgi?id=1423598

@ojab
Copy link

ojab commented Jan 6, 2019

I have an issue with Alt+[1-9] not switching tabs (and just typing [1-9]) using latest Nightly + sway from git master.
It looks like https://bugzilla.mozilla.org/show_bug.cgi?id=1509152, but it's fixed according to #3115 (comment).
Can anyone else reproduce it?

@trbjo
Copy link

trbjo commented Jan 14, 2019

@ojab I have this issue as well, and it's not just tab switching but the Alt key behaviour at large. I can't even Alt+Left/Right arrow to navigate pages.

@ojab
Copy link

ojab commented Jan 14, 2019

@cg9999
Copy link

cg9999 commented Jan 23, 2019

@stransky new bug filled here #3506 since this only seems to happen under sway. Not sure if firefox or sway is to blame though.

@tallandtree
Copy link

I've got a similar issues today with Firefox on fedora 29 with the latest patches of both: it crashes frequently and gives other browser issues. But Chrome crashed as well just now, so not sure what to think of it...

@eternal-sorrow
Copy link

eternal-sorrow commented Feb 4, 2019

The problems I see with Firefox 65 (running as native wayland application) in sway-1.0-rc1:

  1. I'm still having problems with copying text from Firefox to another application as I pointed out in Wayland compositor does not work with Firefox #3115 (comment). After some experiments I found out that it only happens when the other application is on a different workspace than Firefox. I have to press paste keybinding, then switch back to workspace where the Firefox window is and then back to my application to get text pasted. And even this trick does not work with Telegram flatpak app (and maybe other Qt and/of flatpak apps, I don't know about it). I can't get text pasted in Telegram unless I move Firefox and Telegram windows on the same workspace.
  2. When I open a link from another application, it really starts loading in Firefox only when I switch back to Firefox window. Turns out it only happens when that another application is on another workspace than Firefox window, so it may be related to the first of my issues.
  3. Some issues with resizing Firefox window in some circumstances. For example when there is another tiled window alongside the Firefox window and then it becomes a fullscreen window, and then I close it while it's still fullscreen. Then Firefox window sometimes stays tiled to the side of the screen while there is an empty space on the other side.

@progandy
Copy link
Contributor

progandy commented Feb 4, 2019

@eternal-sorrow Your 1. and 2. have probably the same cause as #3561, firefox blocking while it isn't rendered on screen. Telegram might have the same problem.

@smlx
Copy link
Contributor

smlx commented Feb 4, 2019

@eternal-sorrow is 3 similar to #3055?

@eternal-sorrow
Copy link

@eternal-sorrow is 3 similar to #3055?

It kind of is, as far as I can see, referenced issue happens after firefox startup, also it's probably related to firefox on Xwayland. My problem happens only with native firefox wayland application. Also it happens in very strange circumstances (I still can't reliably reproduce it).

@firat
Copy link

firat commented Feb 21, 2019

I have an issue with Alt+[1-9] not switching tabs (and just typing [1-9]) using latest Nightly + sway from git master.
It looks like https://bugzilla.mozilla.org/show_bug.cgi?id=1509152, but it's fixed according to #3115 (comment).
Can anyone else reproduce it?

Happening to me too with Fedora 29, Sway & wlroots master and Firefox 66 Beta.

@meMuszr
Copy link
Contributor

meMuszr commented Apr 22, 2019

@trobjo @firat with GDK_BACKEND set to wayland and running firefox, switching tty's (1 -> 2 -> 1) will temporarily fix the alt + [1,9] tab navigation.

@depau
Copy link

depau commented Apr 25, 2019

I'm currently using Firefox Nightly and it seems all issues have been fixed

@ddevault
Copy link
Contributor

Any remaining issues are probably firefox problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests