Red Hat Bugzilla – Bug 808427
Runner API leaves behind a zombie process when 'execution' fails
Last modified: 2015-12-01 11:45:32 EST
Description of problem:
When the executable to be 'run' using the runner API failed to execute, it results in a zombie process (of the executable).
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. In a local source repo, cd into libglusterfs/src directory.
2. Apply the patch that is _attached_ along with the bug.
3. (Compile run's code with appropriate flags) gcc -DRUN_STANDALONE -DRUN_DO_TESTS run.c -o run
4. (Run the 'runner' test suite.) ./run
5. On ps ax | grep run, you must notice [run] <defunct> entry, which indicates
the presence of a zombie process born out of the run testsuite.
There is a zombie process after a failed execution of a executable using runner
There should be no zombie process left around.
Created attachment 573968 [details]
Helps to recreate the issue.
This is the patch that needs to be applied in order to recreate the issue (easily).
CHANGE: http://review.gluster.com/3067 (libglusterfs/run: test suite refinement) merged in master by Vijay Bellur (firstname.lastname@example.org)
CHANGE: http://review.gluster.com/3055 (libglusterfs/run: clean up properly also if program could not be spawned) merged in master by Vijay Bellur (email@example.com)
So, due to commit "test suite refienement", the way to test for this issue does not requires the attached repro patch anymore.
That is (for glusterfs >= 22cc6179), "Steps to Reproduce" section of bug description changes as follows:
- Step 2 is not needed
- Step 4 modifies to calling ./run 0
I don't see a zombie process now while the test suite is running.
ps ax | grep run
32603 pts/2 S+ 0:00 ./run 0