On Monday 29 April 2024 18:54:42 Steven D'Aprano via tde-users wrote:
On Mon, Apr 29, 2024 at 03:39:33PM -0700, William Morder via tde-users
wrote:
As for that other zombie, the one generated when I start up tderandrtray: that bothers me more, as its behavior makes no sense. When I quit or kill tderandrtray, the zombie vanishes; when I start it up again, the zombie is back.
That makes perfect sense.
A zombie is a process which has ended but remains in the OS's process table. A zombie is not running, it does not use any CPU resources, only a negligible amount of memory, and an entry in the process table.
https://www.baeldung.com/linux/clean-zombie-process
By default, most Linux systems have at least 32768 evailable slots in the process table, so even in a rather busy system with thousands of running processes, one or two zombies are unlikely to fill the table up.
https://unix.stackexchange.com/questions/586723/process-table-limit
Your observations suggest that there is a (hypothetical) bug in tderandrtray:
it launches a subprocess, which does its job and then either dies or completes normally;
but tderandrtray fails to call wait on the subprocess;
which is how you get zombies.
Killing the parent, tderandrtray, should allow the OS to remove the zombie, which is exactly what you are seeing.
https://unix.stackexchange.com/questions/74028/is-a-persistent-zombie-proce ss-sign-of-a-bug
That is pretty much what I suspected, that I had discovered a bug, but I didn't really want to go through the steps of reporting it.
However ... in the interests of helping the TDE devs, and also for the betterment of all humanity ... I will file a bug report, if somebody points me in the right direction.
Bill