Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Large number of zombie processes in docker #92

Open
niaow opened this issue Jun 21, 2018 · 3 comments
Open

Large number of zombie processes in docker #92

niaow opened this issue Jun 21, 2018 · 3 comments
Labels

Comments

@niaow
Copy link

niaow commented Jun 21, 2018

When using this plugin in docker, there is a large accumulation of zombie processes. I am using an ssh repo. In one container, I have a large accumulation of bash and git-remote-http zombies. In another, only sh zombies appear.

Somehow, processes are not being waited on properly.

@niaow niaow changed the title Large number of zombie processes in docker. Large number of zombie processes in docker Jun 21, 2018
@niaow
Copy link
Author

niaow commented Jun 21, 2018

system monitor screenshots:
image
image

@abiosoft abiosoft added the bug label Jun 21, 2018
@niaow
Copy link
Author

niaow commented Jan 6, 2019

Sorry for not responding on this for a while.

Basically what happens is that go only waits on only the child process, and not the grandchildren processes. These grandchildren processes exit but are not removed from the process table due to the lack of a wait syscall.

Git will normally wait on child processes. However, it skips this and bails out early if there is an error - creating zombie orphan granchild processes.

@jessicah
Copy link

jessicah commented Feb 4, 2019

I'm seeing this with ssl_client as well...

jessica@homecloud:~$ ps -axl | grep defunct
0     0  1042  1941  20   0      0     0 -      Z    ?          0:00 [ssl_client] <defunct>
0     0  1050  1941  20   0      0     0 -      Z    ?          0:00 [ssl_client] <defunct>
0     0  1089  1941  20   0      0     0 -      Z    ?          0:00 [ssl_client] <defunct>
0     0  1096  1941  20   0      0     0 -      Z    ?          0:00 [ssl_client] <defunct>
0  1000  6207  6185  20   0   6256   904 pipe_w S+   pts/1      0:00 grep --color=auto defunct
0     0 27448  1941  20   0      0     0 -      Z    ?          0:00 [ssl_client] <defunct>
0     0 29873  1941  20   0      0     0 -      Z    ?          0:00 [ssl_client] <defunct>
0     0 29918  1941  20   0      0     0 -      Z    ?          0:00 [ssl_client] <defunct>

where the parent process is:
4 0 1941 1888 20 0 103416 1336 - Ssl ? 0:00 /bin/parent caddy --conf /etc/Caddyfile --log stdout --agree=$ACME_AGREE

A new zombie process seems to get created on every request that hits my CGI script... normal web requests are unaffected.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants