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

FTP Server tests leave behind zombie children #12018

Closed
Herdinger opened this issue Oct 3, 2023 · 0 comments
Closed

FTP Server tests leave behind zombie children #12018

Herdinger opened this issue Oct 3, 2023 · 0 comments
Labels

Comments

@Herdinger
Copy link
Contributor

I did this

I've run the ftp server torture tests in parallel mode with -j80.
I've noticed fork starting to fail.
After investigating I found that tests/ftpserver.pl uses the "sh" style open and not the "list" style.
It correctly cleans up the server process, but leaves the "sh" behind as a zombie.

I've fixed this locally by switching to the "list" style of open.
I can submit a pull request for that fix if wanted, but since it is rather small it might make more sense for the maintainers to do it themselves.

I expected the following

Fork not failing, no lingering processes, torture tests working in parallel test mode.

curl/libcurl version

WARNING: this libcurl is Debug-enabled, do not use in production

curl 8.3.0-DEV (aarch64-unknown-linux-gnu) libcurl/8.3.0-DEV OpenSSL/3.0.9 zlib/1.2.13 c-ares/1.18.1
Release-Date: [unreleased]
Protocols: dict file ftp ftps gopher gophers http https imap imaps mqtt pop3 pop3s rtsp smb smbs smtp smtps telnet tftp ws wss
Features: alt-svc AsynchDNS Debug HSTS HTTPS-proxy IPv6 Largefile libz NTLM NTLM_WB SSL threadsafe TLS-SRP TrackMemory UnixSockets

operating system

Linux debian 6.1.0-12-arm64 #1 SMP Debian 6.1.52-1 (2023-09-07) aarch64 GNU/Linux

@bagder bagder added the tests label Oct 3, 2023
Herdinger added a commit to Herdinger/curl that referenced this issue Oct 3, 2023
ftpserver.pl correctly cleans up spawned server processes,
but forgets to wait for the shell used to spawn them.
This is barely noticeable during a normal testrun,
but causes process exhaustion and test failure
during a complete torture run of the FTP tests.

Fixes curl#12018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

Successfully merging a pull request may close this issue.

2 participants