-
Notifications
You must be signed in to change notification settings - Fork 177
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Vietnamese input doesn't work when I upgrade ibus to 1.5.19-1ubuntu2.1 #2137
Comments
The change in 1.5.19-1ubuntu2.1 consists of the application of 3d442dbf as a CVE patch. There is also this Ubuntu bug report. |
I can confirm the problem. My attempt to use IBus input methods in Kate failed, i.e. only the latin letters show up. That's the case when 3d442dbf is applied on 1.5.19 as well as 1.5.21. |
I do not want create a duplicate issue, but I can confirm the same problem also affects Debian 10 (Buster), Gnome 3.30.2, X11. Found out while using Anki and tested on other qt apps as well. |
Can confirm this for Ubuntu 18.04.3, i3wm, X11. Using qt applications like Anki I can't switch to Japanese input (mozc). |
The patch has been disabled for now in Ubuntu's stable releases, so @luongthanhlam and @IllDepence: You should be able to fix it by updating ibus again. |
Hi,
On Mon, Sep 23, 2019 at 08:45:22PM -0700, luongthanhlam wrote:
Closed #2137.
Why whas this issue closed, though? TTBOMK the issue was not yet
fixed, but just the patch just disabled for further investigation.
|
@carnil I don't know, ibus just works well for me now. Feel free to re-open it if needed. |
Plus the problem seems to be affecting other platforms too, so the Ubuntu patch disablement is not a solution for me on Debian. I'll open a different issue, if needed, but i didn't want to make an almost-duplicate. |
Hi,
On Tue, Sep 24, 2019 at 02:03:07AM -0700, luongthanhlam wrote:
@carnil I don't know, ibus just works well for me now. Feel free to
re-open it if needed.
But this is only because the patch was reverted. This is not a
solution for the original issue, thus there is need to work out why
the regression happens and this needs to be fixed :-)
As I did not submit the issue, I think I cannot reopen the issue
itself, due to I'm neither opened the issue nor member of the project,
so I think I do not have permissions to reopen the issue.
|
@fujiwarat: Please re-open this issue. It was closed by mistake. |
@pollostrazon: If I was you, I'd wait a bit with submitting a new issue. I'm pretty sure that the maintainer will re-open it once he shows up. |
I think I'll do as you suggest. I don't want to be too much of an annoyance, but I'd like the problem to be solved :). Feel free to ask for more info, if needed. |
I'm not the one who will do that; maybe @fujiwarat will. OTOH, considering that the problem is easily reproducible, he may be able to nail what's causing the regression without further user input. |
@fujiwarat, did you had a chance to look into this regression? (Can you please reopen the bug for the regression introduced for the original CVE-2019-14822 description please?) |
I've been on vacation in this week :). Can you reproduce your problem with kate? The CVE patch restricts to access the DBus methods in the same UID only so if you access the IBus DBus methods with another UID likes root in your environment, the access is denied now. |
Qt is still version 5.11.3 in Debian and based distros.
I have this issue when I run a Qt app in GNOME while GTK apps are OK. So I don't think Qt apps are running with different UID. |
I confirmed the issue with Kate. But previously I had only tested on Ubuntu (GNOME), and when installing Kate it pulled quite a few Qt dependencies (not surprisingly). I just tested on Kubuntu (KDE Plasma), and there IBus including the CVE patch works with Kate. So possibly this is a dependency issue on Debian/Ubuntu. To work with Qt the CVE patch seems to require some library which is present by default on a KDE desktop, but not on a GNOME desktop. The question, in that case, is which package we are talking about... |
(Debian maintainer for input method-related packages here) That's a very interesting issue and it is likely to be specific to Debian derivatives. I will elaborate here. On my Debian Unstable with Gnome 3,
...where It's weird that we have two sets of ibus-related processes running. I'm not at all an expert of it, but the Debian-gdm one could be started by GDM. Now the question is: which set of ibus is actually monitoring the DBus interface? (forgive me if there's any inaccurate words -- I'm not familiar with DBus as well) If it's the I think it still needs debugging and any advice would be appreciated. |
I've tried to add some verbose info in |
It isn't weird if you have one session as uid Debian-gdm (to run the "greeter" where you log in), and one session as uid hosiet (to run your actual session).
Normally D-Bus services are split between multiple servers:
The gdm greeter is a miniature GNOME session running as uid Debian-gdm, so as well as its own X11 display, it gets its own ibus is unusual because it listens on its own D-Bus server socket, like a dbus-daemon, instead of connecting to the server provided by the dbus-daemon (or perhaps in addition to connecting to the dbus-daemon). You can see it in According to private discussion before the security vulnerability was fixed, ibus was meant to have the same security model (and presumably the same session model) as |
@hosiet: Are those Qt5-based applications perhaps using the |
@hosiet: I don't see two sets of ibus processes in unstable, and neither in Ubuntu 19.10. But indeed I have seen it in a few Ubuntu version before 19.10. Anyway, I have done some testing which may or may not be of interest. In any case it shows that the issue with Qt apps is present also in other environments but GNOME/GDM: I played with an Ubuntu MATE installation. To start with I installed Kate, and found that the Qt issue with the CVE patch is present also on MATE. Then I installed the kubuntu-desktop package, which pulls all the packages needed for the Plasma desktop. As long as I kept LightDM as the display manager, the Qt issue was there both in MATE and Plasma sessions. But switching from LightDM to SDDM made a difference. Suddenly IBus worked with Kate in Plasma sessions. Still not in MATE sessions, though. I enabled logging of ibus-daemon, but nothing was written to the log when it failed. |
In some versions and configurations of GNOME (I think it's mainly affected by the gdm version and by X11 vs. Wayland), the gdm "greeter" session is terminated after switching to a different virtual console for your real session, and only restarted when you switch back to tty1. In those versions and configurations, you would not have a second set of ibus processes for Debian-gdm. |
It would probably be useful to compare the environment variables that are set in these two situations. In some X11 display managers, the X11 display that was started for the login screen is kept and used for the user session; in others, a new X11 display is started on a different virtual console. This might also matter. |
I must correct myself: During today's exercise IBus worked in Qt also when Plasma was used together with LightDM. So to summarize it works in Plasma but not in MATE sessions. What strikes me is that in the MATE sessions (where Qt does not work) I have env variables like:
while in the Plasma sessions (where Qt works) I only have:
Attached please find the environment variables in all four combos. |
As long as you have (Actually that path is used by default if your However, that's the standard session bus, not ibus' private server socket. I don't know how ibus clients locate its private server. |
OK, so it is a QtDBus client, which behind the scenes uses a private libdbus connection. In that case, I would have expected the |
A |
strace of kate: strace of ibus-daemon Since I sometimes reproduce this issue, the strace of ibus-daemon includes some succeeded connections and the last failed connection. I think if the client failed to connect |
I don't see any failing authentication conversations in those logs, only successful ones. Are you perhaps not tracing all threads? ( You don't necessarily need to attach the whole log, only the parts that include the unsuccessful authentication/authorization handshake. You can recognise the authentication handshake by searching for Here is an example of a successful authentication/authorization handshake from
The unsuccessful handshake would look similar, but instead of having
I am particularly interested in any calls to |
I put the log of Here is the log of |
Thanks, this is better. In the new kate log I can see a QDBusConnection thread trying to authenticate. EXTERNAL authentication fails, and it falls back to trying DBUS_COOKIE_SHA1.
Unlike GDBus clients, libdbus-based clients do not explicitly send credentials on Linux: they just send
In the ibus-daemon, we can see the GDBusServer handling this connection attempt:
The GDBus server code assumes that the kernel will not attach a
I think this is a GDBusServer bug. If GDBusServer receives a |
@smcv Thank you for the evaluation. |
I think the workaround would be to run |
I hope https://gitlab.gnome.org/GNOME/glib/merge_requests/1176 will fix this. |
I built |
I can confirm problems with IBus (Japanese via Anthy) on Debian 10 with the applications Anki and JabRef. Debian Input Method Mailing List |
I verified the fix. Thank you. |
Side information: |
This bug has not yet been fixed in Debian 10. An update package has been proposed but needs release team approval. |
Is there a way I can test this on a Debian virtual machine with GNOME and some Qt app (for example anki), without understanding Japanese or other languages that normally use ibus? |
Absolutely; I do that often. Just install some IBus input method e.g. |
I believe the latest upstream glib 2.62.3 and 2.63.2 releases now have the necessary fix for this. |
I also had a issue similar with ibus for vietnamese, i can input vietnamese on system and libreoffice but can not input on web browser. I had looking for issue in few day but not result, anyone help me? |
@mayquanxi Is your web browser based on QT? If not, your problem is not this. |
I still have this issue with Anki 2.1.21 and ibus 1.5.22 on Solus using mozc. |
@Silgrond You don't have to modify configure.ac (which is a file in the source tree) to fix your problem. It seems that your installed Solus has old version of glib. You need newer version of glib (even with a Qt client app); glib 2.62.3 or higher but not 2.63.0. |
@J-J-Chiarella Nope. Please check how a closed issue has been resolved before referring other issues. |
@changwoo I did check. This issue here relating to using ibus with Qt was fixed with glib, but I don't know if glib is involved with what I reported. I thought maybe Qt wasn't playing nice with various things and that was causing it to not work with ibus. The problems I had with ibus were the same before and after a glib update. I watched this issue when I was running the earlier version of glib last year. As I reported in the other issue, the issues I encountered were different depending on which engine I was using. Honest mistake in wondering if these were related. I cannot understand 90% of what is in that referenced glib code merge. I can just test and report my experiences. Other comment deleted. |
Which distribution and version?: Ubuntu 19.04
Which desktop environment and version?: i3wm
Which session type?: X11
Which application and version?: All of QT apps (calibre, goldendict, telegram, keepassX, ...)
IBus version?: 1.5.19-1ubuntu2.1
Issue description:
After upgrading ibus to 1.5.19-1ubuntu2.1, all Vietnameses inputs no longer work in QT apps.
Ref: BambooEngine/ibus-bamboo#82, BambooEngine/ibus-bamboo#83
Steps to reproduce:
Can you reproduce your problem when you restart ibus-daemon? (yes / no): yes
Do you see any errors when you run ibus-daemon with the verbose option?:
(ibus-ui-gtk3:21599): IBUS-WARNING **: 20:47:41.669: panel.vala:255: If you launch KDE5 on xterm, export XDG_CURRENT_DESKTOP=KDE before launch KDE5.
(ibus-ui-gtk3:21599): IBUS-WARNING **: 20:47:41.765: ibus_bus_call_sync: org.freedesktop.DBus.Properties.Get: GDBus.Error:org.freedesktop.DBus.Error.Failed: No global engine.
Can you reproduce your problem with a new user account instead of the current your account? (yes / no): yes
The text was updated successfully, but these errors were encountered: