Public bug reported:

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

** Affects: ibus (Ubuntu)
     Importance: Undecided
         Status: New

** Affects: ibus (Ubuntu Bionic)
     Importance: Medium
     Assignee: Matthew Ruffell (mruffell)
         Status: In Progress


** Tags: sts

** Also affects: ibus (Ubuntu Bionic)
   Importance: Undecided
       Status: New

** Changed in: ibus (Ubuntu Bionic)
       Status: New => In Progress

** Changed in: ibus (Ubuntu Bionic)
     Assignee: (unassigned) => Matthew Ruffell (mruffell)

** Changed in: ibus (Ubuntu Bionic)
   Importance: Undecided => Medium

** Description changed:

  [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.
+ 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 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 
+ 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. 
+ 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.
+ 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.
+ 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.
+ 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.
+ 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:
+ 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
+ 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.
+ 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.
+ 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.*'

** Tags added: sts

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1838358

Title:
  Ibus causes gnome-shell to freeze when password fields are selected in
  Firefox

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

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to