passingthru67 / workspaces-to-dock

A gnome shell extension that transforms the workspaces into an intellihide dock
https://extensions.gnome.org/extension/427/workspaces-to-dock/
GNU General Public License v3.0
262 stars 54 forks source link

Session freezes when Always-On-Visible-Workspace is set on any window #163

Open jimav opened 5 years ago

jimav commented 5 years ago

Ubuntu 18.10 gnome-shell version 3.30.2 xorg Workspaces to Doc version 49 for gnome-shell 3.30

When any window is set to "Always on Visible Workspace", the session freezes instantly. The only recovery is to log into a vt and reboot (or kill all the user's processes).

STEPS TO REPRODUCE

  1. Set gnome settings listed below if necessary to reproduce (don't know if relevant)
  2. Open any window, e.g. gnome-terminal
  3. Right-click the titlebar to get context menu; then select "Always on Visible Workspace"

RESULTS: Instant freeze, with the menu still open

FWIW, I have the following gnome settings:

gsettings set org.gnome.desktop.wm.preferences focus-mode 'mouse' gsettings set org.gnome.mutter focus-change-on-pointer-rest false gsettings set org.gnome.desktop.wm.preferences auto-raise false gsettings set org.gnome.desktop.wm.preferences raise-on-click false gsettings set org.gnome.desktop.wm.preferences action-middle-click-titlebar lower gsettings set org.gnome.desktop.wm.preferences action-right-click-titlebar menu gsettings set org.gnome.desktop.wm.preferences action-double-click-titlebar toggle-maximize-vertically gsettings set org.gnome.desktop.interface clock-show-date true gsettings set org.gnome.desktop.screensaver lock-enabled false gsettings set org.gnome.desktop.session idle-delay 0

passingthru67 commented 5 years ago

I'm not able to duplicate this issue. Are you using the latest 3.30 branch from Github or did you install from extensions.gnome.org? Also, would you provide a dump of your current WtD configuration. Simply type the following in the command line and then copy/paste the output here.

dconf dump /org/gnome/shell/extensions/workspaces-to-dock/

jimav commented 5 years ago

On 3/20/19 10:51 AM, passingthru67 wrote:

dconf dump /org/gnome/shell/extensions/workspaces-to-dock/

...produces no output at all.

Note: I enabled this using the gnome-tweaks program, in Extensions->Workspaces to dock.  gnome-tweak shows the switch "on" (enabled).  And setting any window to Always-on-visible-workspace hangs the session.

-Jim

jimav commented 5 years ago

On 3/20/19 10:51 AM, passingthru67 wrote:

Are you using the latest 3.30 branch from Github or did you install from extensions.gnome.org?

Most likely I installed from extensions.gnome.org, or else it came pre-installed in Ubuntu.

Here is the content of ~/.local/share/gnome-shell/extensions/workspaces-to-dock@passingthru67.gmail.com/metadata.json :

{   "_generated": "Generated by SweetTooth, do not edit",   "description": "Transform Gnome Shell's overview workspaces into an intelligen t dock.",   "gettext-domain": "workspacestodock",   "name": "Workspaces to Dock",   "original-author": "passingthru67@gmail.com",   "shell-version": [     "3.30"   ],   "url": "https://github.com/passingthru67/workspaces-to-dock",   "uuid": "workspaces-to-dock@passingthru67.gmail.com",   "version": 49 }

jimav commented 5 years ago

FWIW, I have the following Extensions enabled (in gnome-tweaks). Maybe there is a conflict?

Auto move windows Gsconnect Kstatusnotifieritem/appindicator support Launch new instance Native window placement Removable drive menu Ubuntu dock

and

Workspaces to dock

passingthru67 commented 5 years ago

@jimav Native Window Placement is definitely an extension that causes conflicts (see section of Readme.md about extensions that cause conflicts). I'm not sure about the others.

jimav commented 5 years ago

Ok, I disabled 'Native Window Placement' and the hang now occurs when UN-checking "Always on Visible Workspace".

In other words, now checking "Always..." works and behavior is expected (the window appears in all workspaces). However when it is un-checked, the session freezes instantly.

gnome-shell is 100% cpu bound and does NOT respond to signals (not kill -15 anyway). I had to use kill -9 to terminate gnome-shell.

jimav commented 5 years ago

I got a SEGFAULT in gnome-shell while attached to strace. Attached is the strace output. Here's what I did:

  1. Logged in normally. The workspace dock was visible on the right edge.
  2. Started a single gnome-terminal (positioned to not impinge on the dock display).
  3. Right-click window header to display menu
  4. Switched to a vt (Alt-F5), logged in a root, ran strace -f -o gs_strace.txt -p <pid of gnome_shell> and then returned to the Xorg session (Alt-F2)
  5. I then clicked the "Always on Visible Workspace" menu item.

The menu item greyed out, and after a while the menu disappeared but nothing worked (I assume this is the point at which gnome_shell aborted and was restarted). gs_strace.txt.gz

passingthru67 commented 5 years ago

@jimav You can use the journalctl --since and --until options like below .. journalctl --since "2019-07-20 04:15:00" --until "2019-07-20 04:17:00" > journal.txt

Change the date/times to reflect when you click the "Always on Visible Workspace" menu item.

jimav commented 5 years ago

Ok, attached is the journalctl output you requested, split into two parts.

  1. I set a window to "Always on Visible Workspace", which succeeded. The first logfile is during that operation.

  2. Then I un-checked "Always..." and got the hang. The second logfile is from during that operation.

This time only the following Extensions were enabled (as shown by gnome-tweaks): Kstatusnotifieritem/appindicator support Launch new instance Removable drive menu Ubuntu dock Workspaces to dock

journal_setAlwasyVis_on.txt.gz journal_setAlwasyVis_off_and_hang.txt.gz

passingthru67 commented 5 years ago

@jimav If you don't mind me asking, why are you still using Ubuntu 18.10. I can understand using 18.04LTS, but 19.04 (with Gnome Shell 3.32) has been out a while now. I will have to install Ubuntu 18.10 to do any troubleshooting of WtD for Gnome 3.30.

jimav commented 5 years ago

I've learned the hard way that jumping quickly to new releases causes pain and suffering.  Ubuntu's policy of releasing on schedule regardless of quality means that the "latest" is just too dangerous for my production machine. There are always regressions and incompatibilities.  So I generally upgrade only once a year or so, and then only to the next-to-latest release [ok, end rant].

So I installed Ubuntu 19.04 in a Virtual Machine, and installed Workspaces to Dock from extensions.gnome.org as a newly created pristine user.  Now a somewhat different bug happens, where an about 10-second hang occurs when UN-checking "Always on visible workspace", but then control returns, and the window remains in all workspaces although the "Always..." feature is no longer checked in the window's context menu.

BTW, I installed w-t-d version 50 for gnome-shell 3.32 (I have 3.32.1).   No other extensions are enabled except for "Desktop Icons" (comes that way for newly-created user accounts).

STEPS TO REPRODUCE:

  1. sudo newuser testuser Then logout and login as testuser (in gear menu, check "Ubuntu" session, NOT Wayland)
  2. Applications->Terminal (starts gnome-terminal)
  3. rightclick terminal menubar -> Always on visible workspace (checkmark appears)
  4. rightclick in terminal body -> New Terminal     Resize it so you can easily distinguish the two terminals.
  5. Activities... click 2nd workspace (2nd workspace appears with only the first terminal)
  6. terminal menubar->(unselect) Always on Visible Workspace

RESULTS: Hangs for 5-10 seconds with very high cpu load (I can tell because my cpu fan speeds up)

Then the hang resolves, but the Terminal remains visible in all workspaces in the dock.

  1. Now trying to move windows with the mouse is extremely sluggish.  "top" shows gnome-shell runs with very high CPU load while trying to move windows, but quiets down again afterwards.

-Jim

On 7/21/19 5:58 AM, passingthru67 wrote:

@jimav https://github.com/jimav If you don't mind me asking, why are you still using Ubuntu 18.10. I can understand using 18.04LTS, but 19.04 (with Gnome Shell 3.32) has been out a while now. I will have to install Ubuntu 18.10 to do any troubleshooting of WtD for Gnome 3.30.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/passingthru67/workspaces-to-dock/issues/163?email_source=notifications&email_token=AAJUFQEQ36O2V3GNZGDC6A3QARMOBA5CNFSM4G4XDQI2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2OC62A#issuecomment-513552232, or mute the thread https://github.com/notifications/unsubscribe-auth/AAJUFQGOMZPSOHOUZAAHLVLQARMOBANCNFSM4G4XDQIQ.

passingthru67 commented 5 years ago

@jimav download the master branch zip (https://github.com/passingthru67/workspaces-to-dock/archive/master.zip) and extract it into a temporary folder. Inside of the extracted folder you will find the workspaces-to-dock@passingthru67.gmail.com folder. Simply copy it to your ~/.local/share/gnome-shell/extensions folder. Next, restart Gnome Shell (alt+f2+r). If Workspaces-to-Dock doesn't show up, you may need to enable the extension using Gnome Tweak tool.

jimav commented 5 years ago

@passingthru67 That (master.zip) works, thanks. Except that an extraneous empty workspace gets created when "Always on visible.." is turned off (i.e. a 3rd empty workspace appears in the dock after step #6 in the procedure given in https://github.com/passingthru67/workspaces-to-dock/issues/163#issuecomment-513634432)

passingthru67 commented 5 years ago

@jimav Unchecking the "Always on visible.." when you're on workspace2 moves the terminal window to workspace2. That's why the 3rd empty workspace appears (assuming you're using dynamic workspaces). Try unchecking the "Always on visible.." while on workspace1 and see what happens. No workspace3 is added.

jimav commented 5 years ago

@passingthru67 I see, thanks for the explanation.