firefox crashes on drag'n drop
Closed this issue · 3 comments
yazgoo commented
when doing drag n drop within firefox, sometime the app crashes
firefox inner drag'n drop windows should be ignored by umberwm
yazgoo commented
Also, on first drag n drop, when it does not crash, it opens a window with the following xprops
WM_HINTS(WM_HINTS):
Client accepts input or input focus: True
Initial state is Normal State.
window id # of group leader: 0x2a00001
XdndAware(ATOM) = BITMAP
_NET_WM_OPAQUE_REGION(CARDINAL) = 0, 0, 478, 590
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
_NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 44040269, 44040270
_NET_WM_USER_TIME(CARDINAL) = 249561993
_NET_WM_USER_TIME_WINDOW(WINDOW): window id # 0x2a0004c
WM_CLIENT_LEADER(WINDOW): window id # 0x2a00001
_NET_WM_PID(CARDINAL) = 747707
WM_LOCALE_NAME(STRING) = "fr_FR.UTF-8"
WM_CLIENT_MACHINE(STRING) = "arch"
WM_NORMAL_HINTS(WM_SIZE_HINTS):
program specified location: 0, 0
program specified minimum size: 0 by 0
program specified base size: 0 by 0
window gravity: NorthWest
WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING, _NET_WM_SYNC_REQUEST
WM_CLASS(STRING) = "firefox", "firefox"
WM_ICON_NAME(STRING) = "Firefox"
_NET_WM_ICON_NAME(UTF8_STRING) = "Firefox"
WM_NAME(STRING) = "Firefox"
_NET_WM_NAME(UTF8_STRING) = "Firefox"
And then it open windows of type _NET_WM_WINDOW_TYPE_DND
When it crashes, here are the logs:
WARNING: BadWindow (invalid Window parameter)
ExceptionHandler::GenerateDump cloned child 747696
ExceptionHandler::SendContinueSignalToChild sent continue signal to child
ExceptionHandler::WaitForContinueSignal waiting for continue signal...
Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.
Exiting due to channel error.
yazgoo commented
diff normal-firefox first-drag-n-drop-window
--- /tmp/firefox-normal 2021-05-22 14:37:30.334007619 +0200
+++ /tmp/firefox-dnd 2021-05-22 14:34:29.577339221 +0200
@@ -1,32 +1,25 @@
-_NET_WM_USER_TIME(CARDINAL) = 250542967
-GDK_TIMESTAMP_PROP(GDK_TIMESTAMP_PROP) = 0x61
WM_HINTS(WM_HINTS):
Client accepts input or input focus: True
Initial state is Normal State.
- bitmap id # to use for icon: 0x2a00007
- bitmap id # of mask for icon: 0x2a0000e
window id # of group leader: 0x2a00001
-_GTK_THEME_VARIANT(UTF8_STRING) =
-WM_WINDOW_ROLE(STRING) = "browser"
-_NET_WM_BYPASS_COMPOSITOR(CARDINAL) = 2
XdndAware(ATOM) = BITMAP
-_NET_WM_ICON(CARDINAL) = Icon (32 x 32):
-_NET_WM_OPAQUE_REGION(CARDINAL) = 0, 0, 958, 1182
+_NET_WM_OPAQUE_REGION(CARDINAL) = 0, 0, 478, 590
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
-_NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 44040197, 44040198
-_NET_WM_USER_TIME_WINDOW(WINDOW): window id # 0x2a00004
+_NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 44040269, 44040270
+_NET_WM_USER_TIME(CARDINAL) = 249561993
+_NET_WM_USER_TIME_WINDOW(WINDOW): window id # 0x2a0004c
WM_CLIENT_LEADER(WINDOW): window id # 0x2a00001
-_NET_WM_PID(CARDINAL) = 749202
+_NET_WM_PID(CARDINAL) = 747707
WM_LOCALE_NAME(STRING) = "fr_FR.UTF-8"
WM_CLIENT_MACHINE(STRING) = "arch"
WM_NORMAL_HINTS(WM_SIZE_HINTS):
- program specified minimum size: 450 by 95
- program specified maximum size: 16384 by 16384
- program specified base size: 450 by 95
+ program specified location: 0, 0
+ program specified minimum size: 0 by 0
+ program specified base size: 0 by 0
window gravity: NorthWest
WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING, _NET_WM_SYNC_REQUEST
-WM_CLASS(STRING) = "Navigator", "firefox"
-WM_ICON_NAME(COMPOUND_TEXT) = "🧮 my page name"
-_NET_WM_ICON_NAME(UTF8_STRING) = "🧮 my page name"
-WM_NAME(COMPOUND_TEXT) = "🧮 my page name"
-_NET_WM_NAME(UTF8_STRING) = "🧮 my page name"
+WM_CLASS(STRING) = "firefox", "firefox"
+WM_ICON_NAME(STRING) = "Firefox"
+_NET_WM_ICON_NAME(UTF8_STRING) = "Firefox"
+WM_NAME(STRING) = "Firefox"
+_NET_WM_NAME(UTF8_STRING) = "Firefox"
yazgoo commented
First test with filtering out window with class "firefox", "firefox" seems to work.
We should filter out on something else though, like WM_NORMAL_HINTS