Skip to content

Huge amount of zombie processes cause system hang #32

@ArthurDents

Description

@ArthurDents

Hi

I have discovered an issues with the uftpd which causes a huge amount of zombie processes, and eventually I loose contact with the target and a hard reset (power on/off) is required.

My test setup:
I have an ftp client that opens up an ftp connection to uftpd, and each 5 sec the client upload a number of log files (the log files are constantly being updated on the target). I do not disconnect between the transfers, i.e. the ftp connection is open during the session.
This can run fine for a days/a week, but sometimes there is a build up of zombie process, and each time my ftp client tries to upload files I get more zombie process.

E.g.:

# ps aux | grep defunct
root     14011  0.0  0.0      0     0 ?        Z 13:21   0:00 [uftpd] <defunct> 
root     14012  0.0  0.0      0     0 ?        Z 13:21   0:00 [uftpd] <defunct>
root     14013  0.0  0.0      0     0 ?        Z 13:22   0:00 [uftpd] <defunct>
root     14014  0.0  0.0      0     0 ?        Z 13:22   0:00 [uftpd] <defunct>
root     14024  0.0  0.0      0     0 ?        Z 13:22   0:00 [uftpd] <defunct>
root     14025  0.0  0.0      0     0 ?        Z 13:22   0:00 [uftpd] <defunct>
root     14030  0.0  0.0      0     0 ?        Z 13:22   0:00 [uftpd] <defunct>
root     14031  0.0  0.0      0     0 ?        Z 13:22   0:00 [uftpd] <defunct>
...

From console there are ftp error messages:

...
Failed accepting FTP client connection. Error 11: Resource temporarily unavailable
Failed accepting FTP client connection. Error 11: Resource temporarily unavailable
Failed accepting FTP client connection. Error 11: Resource temporarily unavailable
Failed accepting FTP client connection. Error 11: Resource temporarily unavailable 
...

Eventually there are around 11000-12000 zombie processes, and I loose contact with the unit. E.g. trying to run a simple ls command:

# ls
-sh: fork: retry: Resource temporarily unavailable
-sh: fork: retry: Resource temporarily unavailable
-sh: fork: retry: Resource temporarily unavailable

I haven't figured out what's trigger this. Maybe a network issue since it happen on two units at the same time, but this has not been verified.

Any idea what causing this?

I am using version 2.13.

Configuration:
uftpd -n -l err -o ftp=9013,tftp=0 /mnt/ramdisk

BR
AD

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions