Bug 1625142 - In Gnome Wayland, forward-key-event does not work well, breaks space key completely
Summary: In Gnome Wayland, forward-key-event does not work well, breaks space key comp...
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: gnome-shell   
(Show other bugs)
Version: 29
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ---
Assignee: Carlos Garnacho
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: PrioritizedBug AcceptedFreezeExceptio...
Keywords: i18n
: 1625551 1626411 (view as bug list)
Depends On:
Blocks: F29FinalFreezeException
TreeView+ depends on / blocked
 
Reported: 2018-09-04 08:33 UTC by Mike FABIAN
Modified: 2018-10-10 19:36 UTC (History)
18 users (show)

Fixed In Version: gnome-shell-3.30.1-1.fc29
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2018-10-10 17:40:23 UTC
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
screencast-ibus-typing-booster-forward-key-event-breaks-space-key.webm (610.26 KB, application/octet-stream)
2018-09-04 08:48 UTC, Mike FABIAN
no flags Details
screencast-ibus-hangul-forward-key-event-breaks-space-key.webm (878.40 KB, application/octet-stream)
2018-09-04 10:06 UTC, Mike FABIAN
no flags Details


External Trackers
Tracker ID Priority Status Summary Last Updated
GNOME Gitlab GNOME/gnome-shell/issues/531 None None None 2018-10-04 03:47 UTC

Description Mike FABIAN 2018-09-04 08:33:25 UTC
I installed Fedora-Workstation-netinst-x86_64-29-20180903.n.0.iso in
qemu and added a few input methods including ibus-typing-booster and
ibus-hangul in the gnome-control-center after the first login.

Then I tried to use ibus-typing-booster and ibus-hangul.

As soon as one commits a preëdit by typing space, the space is endlessly
repeated. One can stop the repetition by typing Control+c or BackSpace.
But after doing that, the space key stops working completely on
the whole desktop.

Even when switching the input back to US English keyboard, I cannot
type "a " anymore into gnome-terminal, the Space is just ignored,
I only get the "a". And Super+Space doesn’t show the input method
switcher anymore, it behaves as if only Super had been pressed.
So the Space key seems to be completely dead.

I can find no other way but logging out and logging in again
to make the space key work again.

Comment 1 Mike FABIAN 2018-09-04 08:48 UTC
Created attachment 1480702 [details]
screencast-ibus-typing-booster-forward-key-event-breaks-space-key.webm

Screencast showing how to reproduce the problem with ibus-typing-booster.

In the screencast one can see:

- Alt+F2 and open gnome-terminal
- Switch to ibus-typing-booster using the gnome panel
- Type "a " into the gnome-terminal

  The Space typed after the "a" commits the preëdit which contains "a"
  into the gnome-terminal and adds a space using the forward-key-event
  function.

  There should be just a single space after the "a" now.
  But after a fraction of a second more spaces are automatically
  added into the gnome-terminal, as if somebody would press and hold
  the space key.

- Type Control+C

  This stops more spaces being inserted (One can also use Backspace to
  stop more spaces being inserted).

  Now try to type "a " again. One can see the candidate list of
  ibus-typing-booster for words starting with "a" popup, but the
  space does not commit the "a" anymore, the space is ignored.

- Switch to US English keyboard using the Gnome panel.

- Type "a ".

  Only an "a" is inserted, the space is ignored.

Comment 2 Mike FABIAN 2018-09-04 08:50:11 UTC
This works fine in Gnome Xorg.

Comment 3 Mike FABIAN 2018-09-04 10:06 UTC
Created attachment 1480728 [details]
screencast-ibus-hangul-forward-key-event-breaks-space-key.webm

Screencast showing the same problem triggered by ibus-hangul.


- Open gnome-terminal
- Switch to ibus-hangul
- Open ibus-hangul setup tool from the gnome panel
- Set Hangul keyboard to "Romaja"
- Close setup tool
- Switch Hangul mode to "On" using the gnome panel
- Type "han " into gnome-terminal
    Now space is repeated endlessly
- Type Control+C
    This stops the repetition of the space
- Switch to English.
- Type "a "
  Only "a" appears, one cannot type spaces anymore.

Comment 4 Mike FABIAN 2018-09-04 10:59:26 UTC
Takao Fujiwara made this merge request:

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/218

I applied the patch from this merge request to the gnome-shell-3.29.91
package which is used in Fedora-Workstation-netinst-x86_64-29-20180903.n.0.iso,
rebuild that package and installed it.

It solves the problem for me, both ibus-typing-booster and  ibus-hangul
seem to work fine in Gnome Wayland with this patch applied.

Comment 5 Adam Williamson 2018-09-10 23:03:30 UTC
Discussed at 2018-09-10 freeze exception review meeting: https://meetbot-raw.fedoraproject.org/fedora-blocker-review/2018-09-10/f29-blocker-review.2018-09-10-16.01.html . Rejected as a freeze exception issue on the grounds the fix is quite large, still under testing, and could theoretically break something else worse.

(Note: I wasn't present when this was discussed. I would have voted +1. As described it is rather a bad bug. I might try and get a revote on this.)

Comment 6 Mike FABIAN 2018-09-11 08:54:40 UTC
*** Bug 1626411 has been marked as a duplicate of this bug. ***

Comment 7 fujiwara 2018-09-11 09:35:39 UTC
Unfortunately there is no workaround if forward-key-event is used in GNOME Wayland.

I confirmed the submitted patches fix a critical infinite loop in key typing.

Comment 8 Mike FABIAN 2018-09-11 11:09:42 UTC
*** Bug 1625551 has been marked as a duplicate of this bug. ***

Comment 9 Jens Petersen 2018-09-20 09:09:23 UTC
Thanks, Adam

I resubmitted it for consideration for Beta FreezeException
and also for Final FreezeException.

Comment 10 Adam Williamson 2018-09-20 16:23:58 UTC
I wish you'd done it yesterday, when I was doing a new gnome-shell build with a bunch of fixes for Beta RC5 :( Sounds like the fix isn't quite done yet upstream, though?

Comment 11 Jens Petersen 2018-09-21 07:18:59 UTC
Yeah, no movement there yet alas.

As such I would like this to be GA Blocker though I am not sure if it qualifies?

Comment 12 Adam Williamson 2018-09-21 22:10:02 UTC
We can propose it, at least.

Comment 13 Geoffrey Marr 2018-09-24 19:29:11 UTC
Discussed during the 2018-09-24 blocker review meeting: [1]

The decision to delay the classification of this as a blocker bug was made as we need more data to make an informed decision, particularly if ibus-typing-booster is used by default for any language. 

[1] https://meetbot.fedoraproject.org/fedora-blocker-review/2018-09-24/f29-blocker-review.2018-09-24-16.05.txt

Comment 14 Mike FABIAN 2018-09-24 20:42:19 UTC
After a default installation in Korean, using the default Gnome-Wayland desktop, one will run into this problem immediately when trying to type Korean with the default Korean input method ibus-hangul.

Comment 15 Adam Williamson 2018-09-24 21:56:34 UTC
Thanks. Did you also say some Indic languages were affected?

Comment 16 fujiwara 2018-09-25 04:47:30 UTC
I think another idea is to revert the patch of forward-key-event:
https://gitlab.gnome.org/GNOME/gnome-shell/commit/374caade4742405a402952a894f11ced77fe1b9b

And then forward-key-event is completely disabled likes f28 but reverting the patch can fix the freezing key events in f29.

This bug and bug #1611894 has the same root cause.

Comment 17 Mike FABIAN 2018-09-25 05:50:25 UTC
(In reply to Adam Williamson from comment #15)
> Thanks. Did you also say some Indic languages were affected?

I thought so, but  ibus-typing-booster seems to be *not* default for any Indian languages. I tried an installation in Hindi and the default was inscript of  ibus-m17n and not inscript of ibus-typing-booster.

Comment 18 Mike FABIAN 2018-09-25 08:59:14 UTC
I also tried a netinstall in Vietnamese. The Vietnamese input method ibus-bogo was installed by default, but not configured by default. I added it using the Gnome control centre manually. When trying to use it, I immediately ran into the 
endless loop problem caused by the broken forward-key-event implementation.

Currently I know 3 input methods using forward-key-event: 

ibus-hangul, ibus-bogo, and ibus-typing-booster. They all run into this problem immediately. 

But only ibus-hangul is default (when installing in Korean).

Comment 19 Stephen Gallagher 2018-10-01 16:58:33 UTC
At today's blocker meeting, there was no consensus on whether this should be a blocker for Fedora 29. However, we generally agreed that this is quite serious for the people that hit it, so I'm proposing it as a PrioritizedBug to get attention on it.

Comment 20 Geoffrey Marr 2018-10-01 19:46:49 UTC
Discussed during the 2018-10-01 blocker review meeting: [1]

The decision to delay the classification of this as a blocker bug and accept this bug as an "AcceptedFreezeException" was made as we had a hard time voting on this bug as it only breaks one language out of the box and we don't have consensus on the vote. We do acknowledge this as being Freeze Exception worthy and grant it that status as such. We will reconvene to vote on this bug at the next blocker review meeting.

[1] https://meetbot.fedoraproject.org/fedora-blocker-review/2018-10-01/f29-blocker-review.2018-10-01-16.00.txt

Comment 22 František Zatloukal 2018-10-08 16:51:04 UTC
Discussed during the 2018-10-08 blocker review meeting: [1]

The decision to classify this bug as an RejectedBlocker was made as it violates the following blocker criteria:

"We agreed that while this is a bad bug, since it only affects one language that likely isn't a large percentage of Fedora's user base by default, it's not quite serious enough to be a blocker. It is already accepted as an FE, and we recommend Prioritized status (though it should be fixed today)"

[1] https://meetbot-raw.fedoraproject.org/fedora-blocker-review/2018-10-08/f29-blocker-review.2018-10-08-16.00.log.txt

Comment 23 Fedora Update System 2018-10-08 21:47:05 UTC
mutter-3.30.1-1.fc29 gnome-shell-extensions-3.30.1-1.fc29 gnome-shell-3.30.1-1.fc29 has been submitted as an update to Fedora 29. https://bodhi.fedoraproject.org/updates/FEDORA-2018-9e1f9f945d

Comment 24 Fedora Update System 2018-10-09 05:13:03 UTC
gnome-shell-3.30.1-1.fc29, gnome-shell-extensions-3.30.1-1.fc29, mutter-3.30.1-1.fc29 has been pushed to the Fedora 29 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-9e1f9f945d

Comment 25 Jens Petersen 2018-10-09 07:03:53 UTC
This LGTM, thank you.

I would appreciate if others could confirm the fix too.

Comment 26 Bhushan Barve 2018-10-09 11:52:19 UTC
Checked with the latest F29 build with these updates. 
No issues with the above mentioned scenarios.

Comment 27 Fedora Update System 2018-10-10 17:40:23 UTC
gnome-shell-3.30.1-1.fc29, gnome-shell-extensions-3.30.1-1.fc29, mutter-3.30.1-1.fc29 has been pushed to the Fedora 29 stable repository. If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.