slingshot/wingpanel leaves zombie/defunct processes open

Bug #1067975 reported by Removed by request
6
Affects Status Importance Assigned to Milestone
Wingpanel
Fix Released
High
Unassigned

Bug Description

Steps to Reproduce:

1. Boot into elementary
2. Click Applications in top left to launch slingshot
3. Click it again to close.
4. Check for zombie/defunct processes (generally 1 to 3 new processes)

This command will show all zombie processes.
>ps aux | grep defunct

All of these zombie process have a PPID of wingpanel and restarting wingpanel (by killing it and waiting for cerbere to bring it back) clears them.

A little background on zombie processes: http://en.wikipedia.org/wiki/Zombie_process

Revision history for this message
Removed by request (removed2115751) wrote :

It might be noted that I cannot reproduce this bug with the <Super><Space> hotkey or a hot corner. It appears to be a single process to each click.

summary: - slingshot leaves zombie/defunct processes open
+ slingshot/wingpanel leaves zombie/defunct processes open
description: updated
Revision history for this message
Removed by request (removed2115751) wrote :

Cody was able to reproduce during IRC conversation. Another IRC person wasn't able to reproduce and he was running r94 (unconfirmed) of wingpanel.

http://imageshack.us/a/img84/8245/screenshotfrom201210181i.png

Revision history for this message
Cody Garver (codygarver) wrote :

And we figured out restarting Wingpanel makes the zombies go away.

Changed in wingpanel:
status: New → Confirmed
importance: Undecided → High
Revision history for this message
Removed by request (removed2115751) wrote :

I was able to fix this issue by simply removing the flag GLib.SpawnFlags.DO_NOT_REAP_CHILD (line 69 of AppsButton.vala) from the launch of slingshot and recompiling. I am unsure to the side effects of making this change and merely provide it as background information. It seemed to work alright for the little bit of testing that I did before reinstalling from package. I could not find any documentation of this flag.

Looking at shotwell code (http://git.yorba.org/cgit.cgi/shotwell/plain/src/VideoSupport.vala) with the same flag yields some interesting information. Here, yorba is waiting for the child and seeing if the process returns an error code. Perhaps we want to do the same thing? Perhaps just removing the flag is enough.

I don't know; I have very little (read: none) experience with vala and GNOME development, though I do have years as a C programmer and 8 months working with C# full-time.

Revision history for this message
Removed by request (removed2115751) wrote :

I am unsure if I did everything right with my commit, since afterall, I am not a member of the team. I have fixed this issue with Victor's help (thanks!) and updated wingpanel to use the new Granite SimpleCommand. I am attaching the file here just in case I dun goofed with bzr.

Revision history for this message
Removed by request (removed2115751) wrote :

Attached patch.

Revision history for this message
Removed by request (removed2115751) wrote :

Recent merge from victored has fixed this issue.

no longer affects: slingshot
Changed in wingpanel:
status: Confirmed → 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.