KWin keeps around "Not responding" windows of zombie processes - is that useful?

It seems like KWin keeps around “Not responding” windows of zombie processes. The dialog will pop up saying:

“Zombie application title” of Zombie Process Name is not responding. Do you want to terminate this application?

But even when you press “Terminate Zombie Process Name” then KWin doesn’t seem to realize the process is stuck waiting for the parent, and the window just hangs around.

Since apparently zombies don’t use up any RAM or CPU beyond a small process table entry (not that would I know, but this is e.g. stated here), I’m struggling to see why a user would be needed to put up with the associated frozen window.

Or is there a reason that I’m missing why the window can’t just be removed?

A zombie is a process that exited and free all resources but has not been reaped. E.g. a call to get the exit status.

I suspect what you are talking about are hung processes that cannot be killed. This will happen if the kernel is waiting on a device for the process and that operation cannot be aborted.

In this case there is RAM, files and maybe CPU being consumed.

The windows is staying around until the process really exits I think.

It lists Z in top so I think it’s a zombie.

Look at the process tree and see which process is the parent that should be doing the reaping.

You can use ps afx to view the process tree.

The direct parent seems to be bwrap, and one up there’s supervise-daemon sddm --start --respawn-delay 2 --respawn-max 5 --respawn-period 1800 /usr/bin/sddm --.

Anyway, I wasn’t really curious why it’s broken. Rather what baffles me is that kwin appears to think a zombie process should have the wayland window(s) remain around.

Is this just an oversight? Should I file a kwin feature request? Or is there a good reason?

I think it is worth a bug report for the kwin folks to comment on the issue.