Description of problem: Installed ibus, ran ibus-config (but ibus-config uses the current python, not the system python like it should) so I ran it with system python with /usr/bin/python3 /usr/share/ibus/setup/main.py and it crashed. Version-Release number of selected component: ibus-setup-1.5.19-4.fc29 Additional info: reporter: libreport-2.9.6 cmdline: /usr/bin/python3 /usr/share/ibus/setup/main.py crash_function: join exception_type: TypeError executable: /usr/share/ibus/setup/main.py interpreter: python3-3.7.1-1.fc29.x86_64 kernel: 4.18.16-300.fc29.x86_64 runlevel: N 5 type: Python3 uid: 1000 Truncated backtrace: posixpath.py:80:join:TypeError: expected str, bytes or os.PathLike object, not NoneType Traceback (most recent call last): File "/usr/share/ibus/setup/main.py", line 698, in <module> setup = Setup() File "/usr/share/ibus/setup/main.py", line 115, in __init__ self.__init_ui() File "/usr/share/ibus/setup/main.py", line 404, in __init_ui self.__checkbutton_auto_start.set_active(self.__is_auto_start()) File "/usr/share/ibus/setup/main.py", line 654, in __is_auto_start "share/applications/ibus.desktop") File "/usr/lib64/python3.7/posixpath.py", line 80, in join a = os.fspath(a) TypeError: expected str, bytes or os.PathLike object, not NoneType Local variables in innermost frame: a: None p: ('share/applications/ibus.desktop',)
Created attachment 1499159 [details] File: backtrace
Created attachment 1499160 [details] File: cgroup
Created attachment 1499161 [details] File: cpuinfo
Created attachment 1499162 [details] File: environ
Created attachment 1499163 [details] File: mountinfo
Created attachment 1499164 [details] File: namespaces
Created attachment 1499165 [details] File: open_fds
Steps to reproduce: 1. Install a fresh copy of the F28/F29 KDE Spin. 2. Install ibus and ibus-mozc. 3. Run ibus-config. -> it crashes Expected: It works as described here: https://fedoraproject.org/wiki/Testcase_ibus_input?rd=QA:Testcase_ibus_input
You should run ibus-setup instead. (In reply to Nikhil Jha from comment #8) > https://fedoraproject.org/wiki/Testcase_ibus_input?rd=QA:Testcase_ibus_input That page should not describe that wrong usage and no ibus-config.
Oops, I meant run ibus-setup. That's not the issue. Steps to reproduce: 1. Install a fresh copy of the F28/F29 KDE Spin. 2. Install ibus and ibus-mozc. 3. Run ibus-setup. -> it crashes (In reply to fujiwara from comment #9) > You should run ibus-setup instead. > > (In reply to Nikhil Jha from comment #8) > > https://fedoraproject.org/wiki/Testcase_ibus_input?rd=QA:Testcase_ibus_input > > That page should not describe that wrong usage and no ibus-config.
So which error do you get? (In reply to Nikhil Jha from comment #0) > cmdline: /usr/bin/python3 /usr/share/ibus/setup/main.py > File "/usr/share/ibus/setup/main.py", line 654, in __is_auto_start > "share/applications/ibus.desktop") > File "/usr/lib64/python3.7/posixpath.py", line 80, in join > a = os.fspath(a) This error can happen when you run `python3 /usr/share/ibus/setup/main.py` directly but not `/usr/bin/ibus-setup`. Can you paste the output of `sh -x /usr/bin/ibus-setup` ?
$ sh -x /usr/bin/ibus-setup + prefix=/usr + libexecdir=/usr/libexec + export IBUS_PREFIX=/usr + IBUS_PREFIX=/usr + export IBUS_DATAROOTDIR=/usr/share + IBUS_DATAROOTDIR=/usr/share + export IBUS_LOCALEDIR=/usr/share/locale + IBUS_LOCALEDIR=/usr/share/locale + export IBUS_LIBEXECDIR=/usr/libexec + IBUS_LIBEXECDIR=/usr/libexec + exec python3 /usr/share/ibus/setup/main.py Traceback (most recent call last): File "/usr/share/ibus/setup/main.py", line 33, in <module> from gi import require_version as gi_require_version ModuleNotFoundError: No module named 'gi'
(In reply to Nikhil Jha from comment #12) > + exec python3 /usr/share/ibus/setup/main.py > Traceback (most recent call last): > File "/usr/share/ibus/setup/main.py", line 33, in <module> > from gi import require_version as gi_require_version > ModuleNotFoundError: No module named 'gi' The error is obviously different from the bug description and that's why I closed this bug. You need to install python3-gobject-base which has the gi module.
I have those packages. The issue is that ibus-setup isn't using the python in /usr/bin/python3 or /usr/bin/python like it should, it's using the python I have in my PATH, which is Anaconda Python. [njha@gram ~]$ sudo dnf install pygobject3 python3-gobject Last metadata expiration check: 23:12:36 ago on Wed 31 Oct 2018 08:12:28 AM PDT. Package python2-gobject-3.30.1-1.fc29.x86_64 is already installed. Package python3-gobject-3.30.1-1.fc29.x86_64 is already installed. Dependencies resolved. Nothing to do. Complete! [njha@gram ~]$ ibus-setup Traceback (most recent call last): File "/usr/share/ibus/setup/main.py", line 33, in <module> from gi import require_version as gi_require_version ModuleNotFoundError: No module named 'gi' So I fixed that by running /usr/bin/python3 /usr/share/ibus/setup/main.py The problem that causes the bug in the bug description is the fact that the correct IBUS env variables are not set by default. Once all of those are set, ibus-setup almost works as expected.
If you have multiple versions. You need to prioritize the correct path before you run ibus-setup or install another python3-gobject-base with the different version.