Bug 1013005

Summary: openstack-novnc-proxy creates zombies
Product: [Fedora] Fedora Reporter: Pádraig Brady <pbrady>
Component: python-websockifyAssignee: Pádraig Brady <p>
Status: CLOSED EOL QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: unspecified    
Version: 22CC: eglynn, nsantos, p, sclewis
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 998423 Environment:
Last Closed: 2016-07-19 20:03:08 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:

Description Pádraig Brady 2013-09-27 14:58:35 UTC
+++ This bug was initially created as a clone of Bug #998423 +++

Description of problem:
After displaying novnc console, there are zombie processes left on the host with openstack-nova-novncproxy service.

Version-Release number of selected component (if applicable):
openstack-nova-novncproxy-0.4-6.el6

How reproducible:
always

Steps to Reproduce:
1. nova boot foo ...
2. curl `nova get-vnc-console foo novnc | awk '/ novnc / { print $4 }'` > /dev/null
3. ps aux | grep defunct

Actual results:
nova     29199  0.0  0.0      0     0 ?        Z    09:44   0:00 [python] <defunct>
root     29225  0.0  0.0 103232   888 pts/0    S+   09:44   0:00 grep defunct


Expected results:
root     29225  0.0  0.0 103232   888 pts/0    S+   09:44   0:00 grep defunct

Additional info:
When displaying the console in Horizon, way more of zombies gets created.
`service openstack-nova-novncproxy restart` works as an effective zombie killer weapon.

--- Additional comment from Solly Ross on 2013-09-20 14:00:16 EDT ---

Issue appears to be with noVNC.  Specifically, noVNC uses the python multiprocessing library.  However, it would appear that it only sets up the signal handler for SIGCHLD (to reap the zombie processes) when using the native OS.fork implementation (which is only used as a fallback implementation).  Simply activating the SIGCHLD handler with the same function used for fork seems to solve the problem.  However, this is in upstream websockify code, so I'm submitting a patch upstream.

--- Additional comment from Solly Ross on 2013-09-20 14:16:24 EDT ---

pull request submitted upstream: https://github.com/kanaka/websockify/pull/96

Comment 1 Jaroslav Reznik 2015-03-03 15:06:37 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 22 development cycle.
Changing version to '22'.

More information and reason for this action is here:
https://fedoraproject.org/wiki/Fedora_Program_Management/HouseKeeping/Fedora22

Comment 3 Fedora End Of Life 2016-07-19 20:03:08 UTC
Fedora 22 changed to end-of-life (EOL) status on 2016-07-19. Fedora 22 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.