[Bug 1838358] Re: Ibus causes gnome-shell to freeze when password fields are selected in Firefox

Ubuntu Foundations Team Bug Bot 1838358 at bugs.launchpad.net
Tue Jul 30 04:29:43 UTC 2019


The attachment "ibus debdiff for bionic" seems to be a debdiff.  The
ubuntu-sponsors team has been subscribed to the bug report so that they
can review and hopefully sponsor the debdiff.  If the attachment isn't a
patch, please remove the "patch" flag from the attachment, remove the
"patch" tag, and if you are member of the ~ubuntu-sponsors, unsubscribe
the team.

[This is an automated message performed by a Launchpad user owned by
~brian-murray, for any issue please contact him.]

** Tags added: patch

-- 
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
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.

  ibus-xx-f19-password.patch checks to see if the GTK version is at or
  above 3.6, and if it is, checks to see if the input purpose is for a
  password field. If it is, then no further action is taken by ibus.

  [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.

  With the test package which includes ibus-xx-f19-password.patch, gnome-shell
  and Firefox do not lock up and everything works as intended.

  Test package is available here:

  https://launchpad.net/~mruffell/+archive/ubuntu/sf235370-test

  [Regression Potential]

  This has a low to medium risk of regression, and is limited to inputs to
  password fields in all applications, including the gnome-shell lock screen.

  This patch has been extensively tested and it is present in the
  following Ubuntu releases:

  artful: 1.5.14-2ubuntu1
  zesty: 1.5.14-2ubuntu1
  yakkety: 1.5.11-1ubuntu3
  xenial: 1.5.11-1ubuntu2
  wily: 1.5.10-1ubuntu1
  vivid: 1.5.9-1ubuntu3
  utopic: 1.5.8-2ubuntu2
  trusty: 1.5.5-1ubuntu3.2

  The patch was introduced in trusty, and removed in bionic. I feel that the risk of reintroducing the patch is low, since the use case of the software is the same as previous releases in regards to input software and input language
  selection.

  I still acknowledge a potential risk of regression when users change their
  input engines to non defaults and pair it with non default input languages.

  In the event of regression ibus can be temporarily be disabled via an
  environment variable and the patch dropped in any subsequent packages.

  [Notes]

  This patch will not be needed in newer versions of ibus as an official
  workaround has been implemented as of ibus-1.5.19.

  https://github.com/ibus/ibus/commit/f328fd67f479faa46ca87bf3c85eed7080ec5ec0

  If problems arise with password input fields in ibus versions 1.5.19
  or later, which are found in cosmic onward, environment variables can
  be set that have the same effect as ibus-xx-f19-password.patch.

  env IBUS_DISCARD_PASSWORD=1 firefox
  or
  export IBUS_DISCARD_PASSWORD_APPS='firefox,.*chrome.*'

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ibus/+bug/1838358/+subscriptions



More information about the Ubuntu-sponsors mailing list