Hi Oliver, Full details from the environment which has the problem:
Affected machines are all running Bionic and are fully patched. firefox: 68.0.1+build1-0ubuntu0.18.04.1 gnome-shell: 3.28.4-0ubuntu18.04.1 ibus: 1.5.17-3ubuntu4 Machines are accessed as a VDI through VMware Horizon 7.9.0, and users who have problems are using Gnome 3. After discussing this with Eric D, we agreed that it might be a better idea to not restore the old ibus-xx-f19-password.patch and instead go with the upstream solution of https://github.com/ibus/ibus/commit/f328fd67f479faa46ca87bf3c85eed7080ec5ec0 which implements the same functionality, but hides it behind two environment variables, IBUS_DISCARD_PASSWORD and IBUS_DISCARD_PASSWORD_APPS. To be honest, I think this approach is better since it doesn't change any default behaviour and the fix is opt in for environments which need it. Plus this is present in cosmic, disco and eoan, and will be available in the future 20.04 LTS. I have tried my best to reproduce this, but I have not had any luck. I think this solution is probably the best for all parties, and this has been tested successfully in the affected environment, so I have made a new debdiff with the above patch. I would like to determine and fix the root cause, but that might be a little challenging, and this is a sufficient workaround. -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to ibus in Ubuntu. https://bugs.launchpad.net/bugs/1838358 Title: Ibus causes gnome-shell to freeze when password fields are selected in Firefox Status in ibus package in Ubuntu: Confirmed Status in ibus source package in Bionic: In Progress Bug description: [Impact] The following has been seen in a VMware Horizon VDI. I cannot reproduce this issue myself. When a user interacts with any password field in Firefox, gnome-shell and Firefox both freeze and the system becomes unusable. If you ssh into the system and terminate Firefox, gnome-shell unfreezes. This only happens when the environment variable GTK_IM_MODULE is set to "ibus". If you unset the variable, or change it to GTK_IM_MODULE=gtk-im-context-simple and then start Firefox, everything works as intended. This has been seen before with gnome-shell 3.28.4-0ubuntu18.04.1, ibus 1.5.17-3ubuntu4 and Firefox versions starting with 68.0+build3-0ubuntu0.18.04.1 Note: Chrome[ium] and other applications do not trigger it, and it cannot be reproduced in other desktop environments. This seems to be an interaction issue between ibus and gnome-shell. [Fix] When ibus is built with the patch ibus-xx-f19-password.patch which was dropped in ibus-1.5.17-2, the problem is solved. Instead of using ibus-xx-f19-password.patch, we will instead fix it with upstream commit f328fd67f479faa46ca87bf3c85eed7080ec5ec0: https://github.com/ibus/ibus/commit/f328fd67f479faa46ca87bf3c85eed7080ec5ec0 Subject: client/gtk2: Add IBUS_DISCARD_PASSWORD for firefox and chrome Author: fujiwarat <takao.fujiwa...@gmail.com> This implements the password discard functionality found in ibus-xx-f19-password.patch and places it behind two environment variables, IBUS_DISCARD_PASSWORD and IBUS_DISCARD_PASSWORD_APPS. IBUS_DISCARD_PASSWORD is for a single process, and IBUS_DISCARD_PASSWORD_APPS lets you set a regex of process names to filter and enable the fix for. If IBUS_DISCARD_PASSWORD is set or IBUS_DISCARD_PASSWORD_APPS is set with the process name which input is being placed into password fields, ibus will pass through the input to the application without any processing. [Testcase] Launch firefox from within a gnome-session, making sure the GTK_IM_MODULE is set to "ibus". Note, this is the default value. $ env GTK_IM_MODULE="ibus" firefox Navigate to any website which has a password field. Wikipedia or Reddit will do. Click a password field and attempt to enter text. Firefox and gnome- shell both lock up and stay frozen for an extended period of time. Now, try it with the fix by enabling: $ env IBUS_DISCARD_PASSWORD=1 firefox When you enter text into a password field, ibus should directly pass through the text and the problem will be solved. We can also ask it to always apply for a specific application with: $ export IBUS_DISCARD_PASSWORD_APPS="firefox" $ firefox Again, when you enter text into a password input field, the problem will be solved. Test package is available here: https://launchpad.net/~mruffell/+archive/ubuntu/sf235370-test Please test with the revised version, 1.5.17-3ubuntu4+sf235370v20190731b1. [Regression Potential] This change has a low risk of regression, because the default behaviour is unchanged. To be able to use the password input field discard functionality, a user has to explicitly set an environment variable for the specific process, or set a regex that matches a process name. This means the fix is not enabled by default on any machines, and will only be utilised by those suffering problems and go and manually set environment variables or have their system administrator enable the environment variables permanently. This commit is present in upstream ibus from version ibus-1.5.19 onward, and is currently present in cosmic, disco and eoan. If a regression occurs, users can ensure that the environment variables are unset and continue working. [Notes] This patch is functionally the same as ibus-xx-f19-password.patch, but just hides the features behind environment variables. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/ibus/+bug/1838358/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp