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): How reproducible: Always 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. Actual results: There is a zombie process after a failed execution of a executable using runner API. Expected results: There should be no zombie process left around. Additional info:
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 (vijay)
CHANGE: http://review.gluster.com/3055 (libglusterfs/run: clean up properly also if program could not be spawned) merged in master by Vijay Bellur (vijay)
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