material-shell icon indicating copy to clipboard operation
material-shell copied to clipboard

LibreOffice opens 2 instances, out of which one is unresponsive

Open rwjack opened this issue 2 years ago • 10 comments

Describe the bug LibreOffice opens 2 twin instances, out of which one is completely unresponsive, upon exiting LO, Material shell crashes and restarts

Expected behavior A clear and concise description of what you expected to happen, and how the actual outcome differs.

Screenshots cast.webm

To Reproduce

  • Occurs on:
    • [x] X.Org
    • [ ] Wayland
  • GNOME Shell version: 42.2
  • Distro: Ubuntu 22.04

Current commit Installed a month ago from gnome shell extensions website. Possibly not the latest version, though the website shows no updates available.

Log data Output from journalctl /usr/bin/gnome-shell: Potentially interesting lines:

Jul 18 17:11:33 overlord gnome-shell[456418]: MSWindow: {"appId":"libreoffice-calc.desktop","title":"x.ods - LibreOffice Calc","pid":455692,"wmClass":"libreoffice","stableSeq":16} waiting=true workspace=0
Jul 18 17:11:33 overlord gnome-shell[456418]: Creating a new window for soffice-456735-11
Jul 18 17:11:33 overlord gnome-shell[456418]: value "-nan" of type 'gfloat' is invalid or out of range for property 'x' of type 'gfloat'
Jul 18 17:11:33 overlord gnome-shell[456418]: value "-nan" of type 'gfloat' is invalid or out of range for property 'y' of type 'gfloat'
Jul 18 17:11:33 overlord gnome-shell[456418]: value "-nan" of type 'gfloat' is invalid or out of range for property 'x' of type 'gfloat'
Jul 18 17:11:33 overlord gnome-shell[456418]: value "-nan" of type 'gfloat' is invalid or out of range for property 'y' of type 'gfloat'
...
Jul 18 17:11:33 overlord gnome-shell[456418]: Meta window: libreoffice-456735-11 title='Untitled 1 - LibreOffice Calc' dialog=false
Jul 18 17:11:33 overlord gnome-shell[456418]: MSWindow: {"appId":"libreoffice-calc.desktop","title":"x.ods - LibreOffice Calc","pid":455692,"wmClass":"libreoffice","stableSeq":16} waiting=true workspace=0
Jul 18 17:11:33 overlord gnome-shell[456418]: MSWindow: {"appId":"window:11"} waiting=false workspace=0
Jul 18 17:11:33 overlord gnome-shell[456418]: Associating libreoffice-456735-11 with libreoffice-calc.desktop-app-placeholder
Jul 18 17:11:33 overlord gnome-shell[456418]: Could not create transient scope for PID 456756: GDBus.Error:org.freedesktop.DBus.Error.UnixProcessIdUnknown: Process with ID 456756 does not exist.
Jul 18 17:11:33 overlord gnome-shell[456418]: Can't update stage views actor <unnamed>[<MetaWindowGroup>:0x55a4e084e360] is on because it needs an allocation.
Jul 18 17:11:34 overlord gnome-shell[456418]: Can't update stage views actor <unnamed>[<MetaWindowGroup>:0x55a4e084e360] is on because it needs an allocation.
Jul 18 17:11:34 overlord gnome-shell[456418]: Could not create transient scope for PID 456757: GDBus.Error:org.freedesktop.DBus.Error.UnixProcessIdUnknown: Process with ID 456757 does not exist.
Jul 18 17:11:34 overlord gnome-shell[456418]: Can't update stage views actor <unnamed>[<MetaWindowGroup>:0x55a4e084e360] is on because it needs an allocation.
Jul 18 17:11:34 overlord gnome-shell[456418]: Can't update stage views actor <unnamed>[<MetaWindowActorX11>:0x55a4e1dd6b10] is on because it needs an allocation.
Jul 18 17:11:34 overlord gnome-shell[456418]: Can't update stage views actor <unnamed>[<MetaSurfaceActorX11>:0x55a4e1dd86b0] is on because it needs an allocation.
Jul 18 17:11:34 overlord gnome-shell[456418]: Can't update stage views actor <unnamed>[<MsMain>:0x55a4e3305bd0] is on because it needs an allocation.
Jul 18 17:11:34 overlord gnome-shell[456418]: Can't update stage views actor <unnamed>[<PrimaryMonitorContainer>:0x55a4e33096b0] is on because it needs an allocation.
Jul 18 17:11:34 overlord gnome-shell[456418]: Can't update stage views actor <unnamed>[<StWidget>:0x55a4e330b5e0] is on because it needs an allocation.
Jul 18 17:11:34 overlord gnome-shell[456418]: Can't update stage views actor <unnamed>[<MsWorkspaceActor>:0x55a4e28a9f70] is on because it needs an allocation.
Jul 18 17:11:34 overlord gnome-shell[456418]: Can't update stage views actor <unnamed>[<ClutterActor>:0x55a4e2d5e310] is on because it needs an allocation.
Jul 18 17:11:34 overlord gnome-shell[456418]: Can't update stage views actor <unnamed>[<MsWindow>:0x55a4e2d5ef90] is on because it needs an allocation.
Jul 18 17:11:34 overlord gnome-shell[456418]: Can't update stage views actor <unnamed>[<MsWindowContent>:0x55a4e2deca60] is on because it needs an allocation.
Jul 18 17:11:34 overlord gnome-shell[456418]: Can't update stage views actor <unnamed>[<ClutterClone>:0x55a4e28ab490] is on because it needs an allocation.
Jul 18 17:11:34 overlord gnome-shell[456418]: Can't update stage views actor <unnamed>[<MsWindow>:0x55a4f34f55b0] is on because it needs an allocation.
Jul 18 17:11:34 overlord gnome-shell[456418]: Can't update stage views actor <unnamed>[<MsWindowContent>:0x55a4f349deb0] is on because it needs an allocation.
Jul 18 17:11:34 overlord gnome-shell[456418]: Can't update stage views actor <unnamed>[<ClutterClone>:0x55a4e1ed6a50] is on because it needs an allocation.
Jul 18 17:11:34 overlord gnome-shell[456418]: Can't update stage views actor <unnamed>[<MetaWindowGroup>:0x55a4e084e360] is on because it needs an allocation.
Jul 18 17:11:34 overlord gnome-shell[456418]: Can't update stage views actor <unnamed>[<MetaWindowGroup>:0x55a4e084e360] is on because it needs an allocation.
Jul 18 17:11:34 overlord gnome-shell[456418]: Can't update stage views actor <unnamed>[<MetaWindowGroup>:0x55a4e084e360] is on because it needs an allocation.
Jul 18 17:11:38 overlord gnome-shell[456418]: **
Jul 18 17:11:38 overlord gnome-shell[456418]: libmutter:ERROR:../src/core/window.c:5297:meta_window_get_workspaces: code should not be reached
Jul 18 17:11:38 overlord gnome-shell[456418]: Bail out! libmutter:ERROR:../src/core/window.c:5297:meta_window_get_workspaces: code should not be reached
Jul 18 17:11:38 overlord gnome-shell[456418]: GNOME Shell crashed with signal 6
Jul 18 17:11:38 overlord gnome-shell[456418]: == Stack trace for context 0x55a4e0133180 ==
Jul 18 17:11:38 overlord gnome-shell[456418]: #0   7ffe3820e580 b   /home/x/.local/share/gnome-shell/extensions/material-shell@papyelgringo/extension.js:2098 (3a2c41e78060 @ 140)
Jul 18 17:11:39 overlord gnome-shell[456861]: Running GNOME Shell (using mutter 42.2) as a X11 window and compositing manager
Jul 18 17:11:40 overlord gnome-shell[456861]: ATK Bridge is disabled but a11y has already been enabled.
Jul 18 17:11:40 overlord gnome-shell[456861]: Unset XDG_SESSION_ID, getCurrentSessionProxy() called outside a user session. Asking logind directly.
Jul 18 17:11:40 overlord gnome-shell[456861]: Will monitor session 1
Jul 18 17:11:40 overlord gnome-shell[456861]: Telepathy is not available, chat integration will be disabled.
Jul 18 17:11:40 overlord gnome-shell[456861]: Failed to create file /run/user/1000/gnome-shell-disable-extensions: Error opening file “/run/user/1000/gnome-shell-disable-extensions”: File exists
Jul 18 17:11:40 overlord gnome-shell[456861]: WARNING: addSignalMethods is replacing existing [object Object] connect method
Jul 18 17:11:40 overlord gnome-shell[456861]: WARNING: addSignalMethods is replacing existing [object Object] disconnect method
Jul 18 17:11:40 overlord gnome-shell[456861]: WARNING: addSignalMethods is replacing existing [object Object] emit method
Jul 18 17:11:40 overlord gnome-shell[456861]: Some code accessed the property 'ENABLED_EXTENSIONS_KEY' on the module 'extensionSystem'. That property was defined with 'let' or 'const' inside the module. This was previously supported, but is not correct according to the ES6 standard. Any symbols to be exported from a module must be defined with 'var'. The property access will work as previously for the time being, but please fix your code anyway.

rwjack avatar Jul 18 '22 15:07 rwjack

The same issue occurs for me on Wayland!

juliag2 avatar Jul 24 '22 14:07 juliag2

Just letting you know this is still an issue for me

rwjack avatar Aug 16 '22 15:08 rwjack

This is happening to me too on X.Org. No crashes but a duplicate zombie window spawns that is empty and mirrors everything I do in the "true" window (the one with the correct icon). These zombie windows cannot be closed in any way but they go away when I restart gnome or disable/enable material shell.

libre

GNOME Shell version: 42.4 Distro: Ubuntu 22.04 Material shell: 1b1d3f4aaa94730ff84ebc24c267e27a2f2d0bcb

stukev avatar Oct 06 '22 13:10 stukev

I've exactly the same problem. I do not have crashes per se, but when I close the original window and move the remaining zombie to a different desktop, it crashes.

anpieber avatar Nov 08 '22 17:11 anpieber

I switched to pop shell, with a few additional extensions, works like a charm.

rwjack avatar Nov 08 '22 18:11 rwjack

Not sure if it can help to track this bug, but I didn't have this issue on the latest ubuntu 20 version of material shell. I just upgraded to ubuntu 22 and updated the material shell and now it happens as well.

I checked the 2 windows with the xwininfo command and the first page is the actual libreoffice window, whilst the second seems to be a "mutter guard window". After some research (link1, link2) this seems to be a "hidden" window created by the Mutter WM in order to display window previews. I guess you should exclude this guard window from the material window handling code. Sadly, this window has no WM_CLASS (not sure how to search for window roles), so I couldn't add it to the excluded window classes to test it out.

XWININFO DETAILS
# Working window with Libreoffice icon
xwininfo: Window id: 0x2c0009b "Untitled 1 - LibreOffice Calc"

  Absolute upper-left X:  43
  Absolute upper-left Y:  43
  Relative upper-left X:  1
  Relative upper-left Y:  1
  Width: 1877
  Height: 1037
  Depth: 24
  Visual: 0x702
  Visual Class: TrueColor
  Border width: 0
  Class: InputOutput
  Colormap: 0x2c00002 (not installed)
  Bit Gravity State: NorthWestGravity
  Window Gravity State: NorthWestGravity
  Backing Store State: NotUseful
  Save Under State: no
  Map State: IsViewable
  Override Redirect State: no
  Corners:  +43+43  -0+43  -0-0  +43-0
  -geometry 1877x1037-0-0

# Zombie window with default icon
xwininfo: Window id: 0x400010 "mutter guard window"

  Absolute upper-left X:  0
  Absolute upper-left Y:  0
  Relative upper-left X:  0
  Relative upper-left Y:  0
  Width: 1920
  Height: 1080
  Depth: 0
  Visual: 0x21
  Visual Class: TrueColor
  Border width: 0
  Class: InputOnly
  Colormap: 0x0 (not installed)
  Bit Gravity State: ForgetGravity
  Window Gravity State: NorthWestGravity
  Backing Store State: NotUseful
  Save Under State: no
  Map State: IsViewable
  Override Redirect State: yes
  Corners:  +0+0  -0+0  -0-0  +0-0
  -geometry 1920x1080+0+0
XPROP DETAILS
# Working window with Libreoffice icon
_MOTIF_WM_HINTS(CARDINAL) = 2, 0, 2, 0
WM_STATE(WM_STATE):
                window state: Normal
                icon window: 0x0
_NET_WM_DESKTOP(CARDINAL) = 3
_GTK_EDGE_CONSTRAINTS(CARDINAL) = 85
_NET_FRAME_EXTENTS(CARDINAL) = 0, 0, 0, 0
_NET_WM_ALLOWED_ACTIONS(ATOM) = _NET_WM_ACTION_MOVE, _NET_WM_ACTION_RESIZE, _NET_WM_ACTION_FULLSCREEN, _NET_WM_ACTION_MINIMIZE, _NET_WM_ACTION_MAXIMIZE_HORZ, _NET_WM_ACTION_MAXIMIZE_VERT, _NET_WM_ACTION_CHANGE_DESKTOP, _NET_WM_ACTION_CLOSE, _NET_WM_ACTION_ABOVE, _NET_WM_ACTION_BELOW
_NET_WM_STATE(ATOM) = _NET_WM_STATE_MAXIMIZED_HORZ, _NET_WM_STATE_MAXIMIZED_VERT, _NET_WM_STATE_FOCUSED
WM_HINTS(WM_HINTS):
                Client accepts input or input focus: True
                Initial state is Normal State.
                bitmap id # to use for icon: 0x42000ac
                bitmap id # of mask for icon: 0x42000b3
                window id # of group leader: 0x4200001
_GTK_THEME_VARIANT(UTF8_STRING) =
_GTK_UNIQUE_BUS_NAME(UTF8_STRING) = ":1.201"
_GTK_APPLICATION_OBJECT_PATH(UTF8_STRING) = "/org/libreoffice"
_GTK_WINDOW_OBJECT_PATH(UTF8_STRING) = "/org/libreoffice/window/69206171"
_GTK_MENUBAR_OBJECT_PATH(UTF8_STRING) = "/org/libreoffice/window/69206171/menus/menubar"
_GTK_APPLICATION_ID(UTF8_STRING) = "org.libreoffice"
_NET_WM_ICON(CARDINAL) =  <...> (removed for brevity)
XdndAware(ATOM) = BITMAP
_NET_WM_OPAQUE_REGION(CARDINAL) = 0, 0, 1877, 1037
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
_NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 69206173, 69206174
_NET_WM_USER_TIME_WINDOW(WINDOW): window id # 0x420009c
WM_CLIENT_LEADER(WINDOW): window id # 0x4200001
_NET_WM_PID(CARDINAL) = 24076
WM_LOCALE_NAME(STRING) = "en_US.UTF-8"
WM_CLIENT_MACHINE(STRING) = "XPS15"
WM_NORMAL_HINTS(WM_SIZE_HINTS):
                program specified minimum size: 24 by 26
                program specified base size: 0 by 0
                window gravity: Static
WM_PROTOCOLS(ATOM): protocols  WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING, _NET_WM_SYNC_REQUEST
WM_CLASS(STRING) = "libreoffice", "libreoffice-calc"
WM_ICON_NAME(STRING) = "Untitled 1 - LibreOffice Calc"
_NET_WM_ICON_NAME(UTF8_STRING) = "Untitled 1 - LibreOffice Calc"
WM_NAME(STRING) = "Untitled 1 - LibreOffice Calc"
_NET_WM_NAME(UTF8_STRING) = "Untitled 1 - LibreOffice Calc"

# Zombie window with default icon
WM_NAME(STRING) = "mutter guard window"

0phoff avatar Nov 09 '22 10:11 0phoff

Still happens with version ac63fbd.

fhackenberger avatar Dec 20 '22 08:12 fhackenberger

I can reproduce this with ac63fbd on Debian bookworm with gnome 43.

xuhdev avatar Jan 04 '23 09:01 xuhdev

You guys can try https://github.com/material-shell/material-shell/pull/939

PapyElGringo avatar Jan 04 '23 17:01 PapyElGringo

Tried and commented :)

tiramiseb avatar Jan 05 '23 10:01 tiramiseb