Ubuntu 18.04's ibus package breaks password fields in Firefox again

Bug #1836659 reported by pavel heimlich
38
This bug affects 6 people
Affects Status Importance Assigned to Milestone
GNOME Flashback
Fix Released
Unknown
gnome-flashback (Ubuntu)
Fix Released
Undecided
Unassigned
Bionic
Fix Released
Undecided
Unassigned
Disco
Fix Released
Undecided
Unassigned

Bug Description

On an uptodate Ubuntu 18.04.2 LTS system I am observing the same symptoms as in bug
https://bugs.launchpad.net/ubuntu/+source/ibus/+bug/1765304

When I focus a password field in Firefox, it starts focusing and unfocusing rapidly, making it difficult to type passwords.
Also, CPU usage goes up with the 4 processes eating most:
%Cpu(s): 25,3 us, 11,0 sy, 0,0 ni, 63,5 id
Xorg 60%
gnome-flashback 21%
firefox 20%
ibus-daemon 4%

Launching Firefox with
GTK_IM_MODULE=xim firefox
makes it go away.

[Impact]
This affects Firefox and potentially other applications running on GNOME Flashback desktop environment.

[Test Case]
1) Install gnome-session-flashback and ibus;
2) Log into the GNOME Flashback session;
3) Make sure the ibus indicator is visible in panel;
4) Start Firefox and open any page which contains <input type="password">, e.g. https://twitter.com/login.
5) It should be possible to type into the input. There should be no flickering.

[Proposed Fix]
The fix is backporting these two commits from upstream gnome-3-28 branch:
- https://gitlab.gnome.org/GNOME/gnome-flashback/commit/97b91406aafe60ac
- https://gitlab.gnome.org/GNOME/gnome-flashback/commit/fdecddfa802bbbf1

[Regression Potential]
The second commit removes listening to sources-changed key in GSettings, so potentially there could be cases when that setting is updated but GNOME Flashback does not handle that. However, in practice the current-source-changed is updated together with that key, so GNOME Flashback will handle that.

Both commits are now applied in Eoan. The first one has been present there since the 3.32.0 release. No regressions have been reported so far.

Revision history for this message
Olivier Tilloy (osomon) wrote :

I am not seeing the problem you describe in an up-to-date 18.04.2 VM, with the same versions of firefox, gnome-shell and ibus.

Is this happening for all password fields on all web pages? If not, can you share a link to a page that exhibits the problem?

What's the default value for GTK_IM_MODULE in your environment?

Changed in firefox (Ubuntu):
status: New → Incomplete
Revision history for this message
Ross Younger (crazyscot) wrote :

Affects me too.
$ lsb_release -rd
Description: Ubuntu 18.04.2 LTS
Release: 18.04

$ apt list gnome-shell ibus firefox
Listing... Done
firefox/bionic-updates,bionic-security,now 68.0+build3-0ubuntu0.18.04.1 amd64 [installed]
gnome-shell/bionic-updates 3.28.4-0ubuntu18.04.1 amd64 [upgradable from: 3.28.3+git20190124-0ubuntu18.04.2]
ibus/bionic,now 1.5.17-3ubuntu4 amd64 [installed]

$ echo $GTK_IM_MODULE
ibus

The Ubuntu One sign-in page is affected, amongst others; I had to copy and paste my password to log in to make this comment! ( https://launchpad.net/+login )

Revision history for this message
Ron Taulbee (rtaulbeer) wrote :

I was getting this error as well. However, i typically use Gnome fallback, and decided to try using regular Ubuntu desktop. When I do, I no longer get the error - password fields behave as expected.

Revision history for this message
Olivier Tilloy (osomon) wrote :

Pavel and Ross, can you confirm that you are seeing this with the GNOME Flashback session, not the default Ubuntu session?

Revision history for this message
Dmitry Shachnev (mitya57) wrote :

This is a bug in gnome-flashback, not in Firefox. I am working on a fix.

Revision history for this message
Olivier Tilloy (osomon) wrote :

Thanks Dmitry.
I'm tentatively closing the bug for firefox. To anyone affected, feel free to re-open if you're not using the GNOME Flashback session.

Changed in firefox (Ubuntu):
status: Incomplete → Invalid
Revision history for this message
pavel heimlich (tropikhajma) wrote :

$ echo $GTK_IM_MODULE
ibus

I don't know which session I use, I set this up a loong time ago and I have no idea how to find out.
But yes, it looks like it's flashback:

$ ps -ef|grep -i flash
hajma 1742 1503 0 čec16 ? 00:00:00 /bin/sh /usr/lib/gnome-session/run-systemd-session gnome-session-flashback.target
hajma 1910 1742 0 čec16 ? 00:00:00 /usr/bin/ssh-agent /usr/bin/im-launch /usr/lib/gnome-session/run-systemd-session gnome-session-flashback.target
hajma 2017 1742 0 čec16 ? 00:00:00 systemctl --user start --wait gnome-session-flashback.target
hajma 2052 1721 0 čec16 ? 00:00:00 /usr/lib/gnome-session/gnome-session-binary --session=gnome-flashback-metacity --disable-acceleration-check
hajma 2309 2052 0 čec16 ? 00:00:41 gnome-flashback
hajma 3343 3228 0 16:59 pts/0 00:00:00 grep --color=auto -i flash

no longer affects: firefox (Ubuntu)
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gnome-flashback - 3.32.0-2ubuntu1

---------------
gnome-flashback (3.32.0-2ubuntu1) eoan; urgency=medium

  * Merge with Debian experimental, remaining changes:
    - debian/rules:
      + Add an epoch number to gnome-session-flashback package.
    - debian/gnome-flashback-common.gsettings-override:
      + Disable some not needed gnome-flashback components.
      + Add the default settings for GNOME Flashback sessions.
    - debian/gnome-session-flashback.target:
      + The target file for systemd, based on ubuntu-session.target.
      + Install this file into /usr/lib/systemd/user/ directory.
    - debian/control.in:
      + Bump gnome-session-bin dependency to 3.18.1.2-1ubuntu5, to be able
        to use run-systemd-session.
      + Add dependencies on dbus-user-session, indicator-common and systemd.
      + Use Ubuntu VCS fields.
      + Make gnome-flashback-common depend on light-themes.
    - debian/patches/run-systemd-session.diff:
      + Use run-systemd-session script for running the session.
    - debian/patches/support-indicator-keyboard.diff:
      + Support “org.gnome.desktop.input-sources current” key, to make
        indicator-keyboard working.
    - debian/patches/disable_compiz_session.diff:
      + Remove this patch, enable the Compiz session.
  * Refresh support-indicator-keyboard.diff.

 -- Dmitry Shachnev <email address hidden> Sat, 20 Jul 2019 21:39:57 +0300

Changed in gnome-flashback (Ubuntu):
status: New → Fix Released
Revision history for this message
Ori Avtalion (salty-horse) wrote :

Will this be available in disco as well?

Besides breaking password fields, the commit also fixes an issue I had sometimes with layouts not switching at all, until I restart ibus.

Revision history for this message
Alberts Muktupāvels (muktupavels) wrote :

Wait...

Reading description it sounds like real bug was this:
https://gitlab.gnome.org/GNOME/gnome-flashback/issues/15

So real fix is this - https://gitlab.gnome.org/GNOME/gnome-flashback/commit/028122a439f227a3c107b45d6d2a2f56b5144a8a and it is already in 3.32.0 release.

https://gitlab.gnome.org/GNOME/gnome-flashback/issues/16
https://gitlab.gnome.org/GNOME/gnome-flashback/commit/31ceaf77242e423cf27018f6e545deeb5fc154c8

That bug and commit only fixes flickering and without other patch it won't fix this bug. So both patches must be included in older releases.

Revision history for this message
Dmitry Shachnev (mitya57) wrote :

I will backport both patches to Bionic. And I will make a fix for Disco too.

description: updated
description: updated
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in gnome-flashback (Ubuntu Bionic):
status: New → Confirmed
Changed in gnome-flashback (Ubuntu Disco):
status: New → Confirmed
Revision history for this message
Brian Murray (brian-murray) wrote : Please test proposed package

Hello pavel, or anyone else affected,

Accepted gnome-flashback into disco-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/gnome-flashback/3.30.0-1ubuntu6.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-disco to verification-done-disco. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-disco. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in gnome-flashback (Ubuntu Disco):
status: Confirmed → Fix Committed
tags: added: verification-needed verification-needed-disco
Changed in gnome-flashback (Ubuntu Bionic):
status: Confirmed → Fix Committed
tags: added: verification-needed-bionic
Revision history for this message
Brian Murray (brian-murray) wrote :

Hello pavel, or anyone else affected,

Accepted gnome-flashback into bionic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/gnome-flashback/3.28.0-1ubuntu1.4 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-bionic to verification-done-bionic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-bionic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Revision history for this message
Ori Avtalion (salty-horse) wrote :

Tested on disco with
gnome-flashback 3.28.0-1ubuntu1.4
gnome-flashback-common 3.28.0-1ubuntu1.4
gnome-session-flashback 1:3.28.0-1ubuntu1.4

(Note that disco's regular version is 3.30, so I had to downgrade)

I can confirm that the password field does not cause the ibus indicator to restart constantly.

I did find another bug with the password field, but I'll report it to gnome-flashback separately after more testing with gnome-shell:
If I'm on a password field, I can't change the layout to anything other than English.

Revision history for this message
Dmitry Shachnev (mitya57) wrote :

Ori, there is no need to downgrade. There are two messages from Brian here: one with link for Bionic and one for Disco. You need to follow the right link. Or, alternatively, enable disco-proposed using instructions from https://wiki.ubuntu.com/Testing/EnableProposed and update from there instead of downloading .debs manually.

Please test again with correct version if you can. Thanks in advance!

Revision history for this message
Ori Avtalion (salty-horse) wrote :

Whoops!

OK, tested with:
  gnome-flashback 3.30.0-1ubuntu6.1
  gnome-flashback-common 3.30.0-1ubuntu6.1
  gnome-session-flashback 1:3.30.0-1ubuntu6.1

Looks good!

Revision history for this message
Dmitry Shachnev (mitya57) wrote :

Thanks, marking as verified for Disco then.

We still need someone to test the Bionic version.

tags: added: verification-done-disco
removed: verification-needed-disco
Revision history for this message
Nico Dizagn (nico-dizagn) wrote :

Hello,

I installed bionic-proposed/gnome-flashback and bionic-proposed/gnome-flashback-common on my laptop Ubuntu 18.04 with success.

Previous version from stable channel with bug password focus on firefox:
ii gnome-flashback 3.28.0-1ubuntu1.3 amd64 helper application for the GNOME Flashback session
ii gnome-flashback-common 3.28.0-1ubuntu1.3 all GNOME Flashback helper application - common data files

Installed from bionic-proposed
ii gnome-flashback 3.28.0-1ubuntu1.4 amd64 helper application for the GNOME Flashback session
ii gnome-flashback-common 3.28.0-1ubuntu1.4 all GNOME Flashback helper application - common data files

May I help more ? do you need others informations ?

I do not install gnome-session-flashback, is it ok ?

Tks

Revision history for this message
Ori Avtalion (salty-horse) wrote :

Looks like the version I tested still has issues with layout switching (unrelated to the password field issue in this bug). When I switch from e.g. English to Hebrew, the indicator shows the other layout but when I type I still get English.

With the latest gnome-flashback master branch I didn't experience this glitch (based on several weeks of testing.)

Revision history for this message
Dmitry Shachnev (mitya57) wrote :

@Nico Do you confirm that with the version from bionic-proposed the bug is gone?

@Ori Is that a regression, or the same bug existed with older version? If the latter, can you please file a separate bug for that?

Revision history for this message
Ori Avtalion (salty-horse) wrote :

The same bug existed in the older version. This is not a regression.

The patch for the release does include both of the relevant fixes:
input-sources: do not grab keyboard with set-content-type
input-sources: avoid unneeded status icon re-creation

I'm not sure if me not encountering the latest issue I mentioned was due to chance, if the master branch contains some other fix.

I don't know if you should hold up the release because of this issue. As a multi-layout user it constantly annoyed me and I was glad to finally get it fixed.

Revision history for this message
Nico Dizagn (nico-dizagn) wrote :

@dimitri : yes I confirm the bug is resolved, the password field in firefox quantum 68.0.1 is now OK in bionic :) !

That was for me the only problem, But I don't now if there is other bug fixes in the patch 3.28.0-1ubuntu1.4 that you want me to check ?

Revision history for this message
Dmitry Shachnev (mitya57) wrote :

@Nico Thanks. There was no other bug. Marking as verified.

@Ori As it is not a regression, it will be better to fix the other bug separately.

tags: added: verification-done-bionic
removed: verification-needed-bionic
Revision history for this message
JPSman (jpsman) wrote :

I can verify that the proposed package in the link

https://launchpad.net/ubuntu/+source/gnome-flashback/3.28.0-1ubuntu1.4

did work for me.

Revision history for this message
Dmitry Shachnev (mitya57) wrote :

@JPSman Thanks for testing too! This bug is already verified, though I forgot to update one of the tags.

tags: added: verification-done
removed: verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gnome-flashback - 3.30.0-1ubuntu6.1

---------------
gnome-flashback (3.30.0-1ubuntu6.1) disco; urgency=medium

  * Backport two upstream commits to fix ibus indicator flickering
    (LP: #1836659).

 -- Dmitry Shachnev <email address hidden> Tue, 23 Jul 2019 16:16:52 +0300

Changed in gnome-flashback (Ubuntu Disco):
status: Fix Committed → Fix Released
Revision history for this message
Chris Halse Rogers (raof) wrote : Update Released

The verification of the Stable Release Update for gnome-flashback has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gnome-flashback - 3.28.0-1ubuntu1.4

---------------
gnome-flashback (3.28.0-1ubuntu1.4) bionic; urgency=medium

  * Backport two upstream commits to fix ibus indicator flickering
    (LP: #1836659).

 -- Dmitry Shachnev <email address hidden> Tue, 23 Jul 2019 16:09:36 +0300

Changed in gnome-flashback (Ubuntu Bionic):
status: Fix Committed → Fix Released
Changed in gnome-flashback:
status: Unknown → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.