Bug 842471

Summary: logout leaves processes behind (maybe IME related)
Product: [Fedora] Fedora Reporter: Joel Rees <joel_rees>
Component: ibusAssignee: fujiwara <tfujiwar>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 16CC: i18n-bugs, shawn.p.huang, tfujiwar
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-10-16 02:55:54 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
This is the yum info of all the packages which would be removed if ibus gets removed.
none
the dependencies list for ibus. (Wish I didn't have to start a remove and say "no" to get this.)
none
The dmesg none

Description Joel Rees 2012-07-23 23:47:39 UTC
Created attachment 599872 [details]
This is the yum info of all the packages which would be removed if ibus gets removed.

Description of problem:

Visually, the first sign was, after logging out and back in, there were two input method icons in the panel. More logging out and back in (independent of the user logged in as) produced more more IM icons in the panel.

Using a virtual terminal to log in to a terminal session, I find these processes left over from every logout (ps wwaux | grep userX):

[userX@machineY ~]$ cat leavings.text
userX      12346  0.4  0.3  36420  3424 ?        Sl   07:25   0:03 /usr/bin/ibus-daemon -r --xim
userX      12370  0.3  2.1 115528 21420 ?        S    07:25   0:02 /usr/bin/python /usr/share/ibus/ui/gtk/main.py
userX      12376  0.0  0.5  33036  5936 ?        Sl   07:25   0:00 /usr/libexec/ibus-x11 --kill-daemon
userX      12382  0.2  1.6  57600 17288 ?        S    07:25   0:01 /usr/bin/python /usr/share/ibus-anthy/engine/main.py --ibus
userX      12391  0.0  0.3  22052  4044 ?        Sl   07:25   0:00 /usr/libexec/ibus-engine-xkb --ibus
root     12707  0.0  0.0   4588   800 tty2     S+   07:37   0:00 grep --color=auto userX
[userX@machineY ~]$ 

They can be killed, and the extra IM icons go away.


Version-Release number of selected component (if applicable):

Name        : ibus
Arch        : i686
Version     : 1.4.1
Release     : 2.fc16

XFCE reports version 4.8 in the GUI widget, I'm not remembering or seeing the base package for XFCE in yum search or yum info, but the xfwm4 is as follows:

Name        : xfwm4
Arch        : i686
Version     : 4.8.3
Release     : 1.fc16


How reproducible:

Always happens.


Steps to Reproduce:
1. Boot, log in, etc.
2. Log out.
3. Change to a virtual terminal and check for leftover processes. Leftover processes will always be present, as shown above.
4. Log back in and find one more input method icon in the panel than there was before.
  

Actual results:

Leftover processes, related input method icons repeat.


Expected results:

Clean logout without leftover processes, and no extra input method icons.


Additional info:

See attachments:

The system was originally installed from a security spin image on a USB drive. I had problems with the LXDE/openbox arrangement (X11 freezing on logout, which is still an unfixed bug), so I installed XFCE. XFCE does not freeze on logout, but this problem occurs. 

The X11 session freezing problem (IIRC) seemed to be related to many (20 or more) leftover processes. I could kill the leftover processes and get a new X11 session, but the new session was generally unstable.

Comment 1 Joel Rees 2012-07-23 23:50:02 UTC
Created attachment 599873 [details]
the dependencies list for ibus. (Wish I didn't have to start a remove and say "no" to get this.)

Comment 2 Joel Rees 2012-07-23 23:51:59 UTC
Created attachment 599875 [details]
The dmesg

For what it might be worth.

Comment 3 fujiwara 2012-08-09 02:29:40 UTC
(In reply to comment #0)
> [userX@machineY ~]$ cat leavings.text
> userX      12346  0.4  0.3  36420  3424 ?        Sl   07:25   0:03
> /usr/bin/ibus-daemon -r --xim
> userX      12370  0.3  2.1 115528 21420 ?        S    07:25   0:02
> /usr/bin/python /usr/share/ibus/ui/gtk/main.py
> userX      12376  0.0  0.5  33036  5936 ?        Sl   07:25   0:00
> /usr/libexec/ibus-x11 --kill-daemon
> userX      12382  0.2  1.6  57600 17288 ?        S    07:25   0:01
> /usr/bin/python /usr/share/ibus-anthy/engine/main.py --ibus
> userX      12391  0.0  0.3  22052  4044 ?        Sl   07:25   0:00
> /usr/libexec/ibus-engine-xkb --ibus
> root     12707  0.0  0.0   4588   800 tty2     S+   07:37   0:00 grep
> --color=auto userX

I expect ibus is alive if the parent process is also alive.
What is the parent process?
% ps -ef | grep ibus

Comment 4 Joel Rees 2012-08-10 02:17:21 UTC
userX       1620     1  0 Aug09 ?        00:00:12 /usr/bin/ibus-daemon -r --xim
userX       1746  1620  0 Aug09 ?        00:00:03 /usr/bin/python /usr/share/ibus/ui/gtk/main.py
userX       1748     1  0 Aug09 ?        00:00:00 /usr/libexec/ibus-x11 --kill-daemon
userX       1774  1620  0 Aug09 ?        00:00:01 /usr/bin/python /usr/share/ibus-anthy/engine/main.py --ibus
userX       1782  1620  0 Aug09 ?        00:00:02 /usr/libexec/ibus-engine-xkb --ibus
root     10542  8586  0 09:15 tty2     00:00:00 grep --color=auto ibus
---------------------------------------------

Hmm. Just for good measure, here's what it looks like when I log back in with the same user, without killing the zombies first:

---------------------------------------------
userX      11060 10598  0 09:16 ?        00:00:06 /usr/bin/ibus-daemon -r --xim
userX      11085 11060  0 09:16 ?        00:00:02 /usr/libexec/ibus-dconf
userX      11087 11060  0 09:16 ?        00:00:03 /usr/bin/python /usr/share/ibus/ui/gtk/main.py
userX      11089     1  0 09:16 ?        00:00:00 /usr/libexec/ibus-x11 --kill-daemon
userX      11095 11060  0 09:16 ?        00:00:01 /usr/bin/python /usr/share/ibus-anthy/engine/main.py --ibus
userX      11096 11060  0 09:16 ?        00:00:00 /usr/libexec/ibus-engine-xkb --ibus
root     11465  8586  0 11:14 tty2     00:00:00 grep --color=auto ibus
---------------------------------------------

And I not that I don't get the IME icon in the notifications area duplicated this time. Maybe some recent update fixed part of this.

Comment 5 fujiwara 2012-08-10 02:28:49 UTC
I don't know what was changed in your environment.
But if you mean you no longer reproduce your problem, I'd like to close this issue.

Comment 6 Joel Rees 2012-08-16 23:26:45 UTC
I don't know what changed, either. Should I dig into the yum logs?

But, as far as the bug is concerned, I didn't say I couldn't reproduce the problem, only that the most obvious symptom may have gone away. 

Checking just now, after another yum update this morning, the extra icon is still gone, but the zombie processes are still there after logging out.

What I noted above was that they do not multiply. Only the first logout for the user seems to leave zombies behind.

Hmm. Pulseaudio takes a long time to go away after logout.

Well, if I log in as a different user, the IME icon does proliferat. Not the number of logins, but the number of different users that have logged in since reboot, now.

Checking the logout, I get the same list of processes left over for each user. Only the ones from the first login for that user are left, but they are definitely left behind after logout.

Checking, for instance, ibus-engine-xkb, while the user is logged in the second or third time, there are two, but once logged out, only the leftover from the first login (checking the PIDs).

No, not fixed.

Comment 7 fujiwara 2012-08-17 06:59:25 UTC
OK, probably I think your session still runs dbus-daemon with a user process.
If you terminate dbus-daemon, I think ibus-daemon also will be terminated.

Probably I think ibus-daemon is not a zombie process.