Thanks for the report Matthew. I appreciate all the work to prepare a
SRU bug and a debdiff, but the very first step would be to reliably
reproduce the issue. As far as I can tell this hasn't been reported by
anyone else, which makes it likely to be an isolated issue on a very
specific setup, and thus not necessarily a good candidate for a SRU. Can
you get the person who reported the issue to provide more details on
their setup (is it stock Ubuntu or a derivative, is it fully up-to-date,
which desktop environment, what are the exact versions of gnome-shell,
firefox and ibus). Thanks!

-- 
You received this bug notification because you are a member of Desktop
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.

  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

-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : desktop-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to