mzur / gnome-shell-wsmatrix

GNOME shell extension to arrange workspaces in a two-dimensional grid with workspace thumbnails
GNU General Public License v3.0
456 stars 58 forks source link

Gnome 42.4 upgrade plus ws-matrix breaks login leaving system in unusable state #236

Closed ElijahLynn closed 1 year ago

ElijahLynn commented 1 year ago

Just updated to Gnome 42.4 yesterday and it broke login. I get a system menu bar at top, but grey below that with the unability to do anything. To fix this, I had to manually power cycle with the power button, then choose Gnome Classic on X11 at the GDM login screen, which somehow disabled all the Gnome Extensions, then I logged out and logged back in with a non-classic X11/XOrg session with the extensions still disabled and login worked again.

PXL_20220812_185849507 (1)

Video of behavior w/workaround (link won't last forever though) > https://photos.app.goo.gl/ZjcaRrstywGnEcWp8

I finally figured out it was this extension causing the login hang and was able to disable it and carry-on. If I find logs I will post them.

ElijahLynn commented 1 year ago
gnome-shell[20126]: JS ERROR: TypeError: workAreaBox.get_origin is not a function
                    _computeWorkspacesBoxForState@/home/elijah/.local/share/gnome-shell/extensions/wsmatrix@martin.zurowietz>
                    vfunc_allocate@resource:///org/gnome/shell/ui/overviewControls.js:199:29

https://github.com/mzur/gnome-shell-wsmatrix/blob/3748703d33756e74afef6a96a90d625c6120e9f7/wsmatrix%40martin.zurowietz.de/overview/controlsManagerLayout.js#L10-L28

ElijahLynn commented 1 year ago

I see that that function is still being called here https://gitlab.gnome.org/GNOME/gnome-shell/-/blob/42.4/js/ui/overviewControls.js#L73-77, in 42.4. But... the latest commit is titled:

Allocation runs every frame during the overview animations, so we want to do as little work there as possible. Cache the work area box computation.

https://gitlab.gnome.org/GNOME/gnome-shell/-/commit/dc933779681fc630ee2baf87fbbc72d162d68ec6

So seems likely this commit and the caching is causing this error.

ElijahLynn commented 1 year ago

Oh, I see now, it was changed from workAreaBox to a quasi-private name of this._workAreaBox.

ElijahLynn commented 1 year ago

Linking the MR that caused this > https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2395

mzur commented 1 year ago

Please try #237 and report if it fixes the issue. As a workaround, you can disable this extension in the overview.

nicjohnston commented 1 year ago

237 seems to have fixed the problem for me, at least on up-to-date Manjaro. Thanks!

ElijahLynn commented 1 year ago

Cool, I did a:

cd ~/.local/share/gnome-shell/extensions/wsmatrix@martin.zurowietz.de 
git fetch --all
git checkout g42.4-fix

Then enabled the extension in Extensions and it is working! Gonna reboot next after I get done with this meeting.

ElijahLynn commented 1 year ago

Reboot works, thank you!

ScottGarman commented 1 year ago

I run Manjaro and can also report that this fixes the same issue for me. Thanks @ElijahLynn for reporting this so promptly, and @mzur for being so responsive.