Suspended processes left behind that can't be terminated

Started by Yakumo, December 11, 2023, 06:56:29 PM

Previous topic - Next topic

Yakumo

I installed Process Lasso v12.4.3.14 x64  on win11 23h2 build 22631.2792, Intel i9-13900KF
I left the install options at default.
I set some processes to Induce Performance Mode, Power Profile High Performance,  Efficiency mode Always Off, Hyperthreading Always Off, I also set it to always have core 0 disabled.

After that when closing those processes via the normal application exit means they were left as a suspended process in the Windows Task Manager with only 32k ram use reported, but this did not show in the Process Lasso list at all, and nothing was able to terminated it, a message that access was denied would be given instead, these processes would not time out and just kept increasing in number if I re-ran the application, or in the case of QuakeLive_steam.exe the original application refused to run. The only solution was to reboot the computer.

I removed all rules from the processes, then set only Induce Performance Mode, Efficiency mode Always Off, so far I have not had any of the zombie suspended processes.

Jeremy Collake

#1
It's hard to guess the cause, but it may have been related to your CPU affinity rule, or perhaps was an independent event. Such zombie processes are most commonly seen when a crash occurred and the Windows Error Reporting (WER) service responding to the process is stuck in an incomplete state. However, they can occur for other reasons, but in any case, it is a rare thing and not directly associated with Process Lasso.
Software Engineer. Bitsum LLC.

Yakumo

I've just had it happen again leaving an unkillable quakelive_steam.exe process suspended, 20k memory for it this time so the 32k mentioned before isn't consistent.
That was only having set Performance Mode, Efficiency mode Always Off as mentioned above.

Sysinternals Process Explorer also sees but cannot terminate the zombie process, so it is only invisible to Process Lasso.

The other application that was leaving zombies behind was the Epic Game Store launcher, so that is free and easy to test. Setting affinity on the Launcher itself is the only way to change the affinity for games that it spawns that use Easy Anti-Cheat. Unlike QuakeLive that was able to run again if there was a zombie so multiple zombies were eventually building up before reboots.

Yakumo

Quote from: Jeremy Collake on December 12, 2023, 05:45:40 AMIt's hard to guess the cause, but it may have been related to your CPU affinity rule, or perhaps was an independent event. Such zombie processes are most commonly seen when a crash occurred and the Windows Error Reporting (WER) service responding to the process is stuck in an incomplete state. However, they can occur for other reasons, but in any case, it is a rare thing and not directly associated with Process Lasso.

I experimented throughout the day with only processor affinity altered and had no problems. I then tried Efficiency mode again and found a reliable way to cause the zombies that you could try yourself in order to try trace this problem.

Epic Games Launcher is free from epicgames.com.

Run the Epic Launcher without altering anything with Lasso, watch task manager then run epicgameslauncher.exe once again without terminating the original, A suspended epicgameslauncher.exe is briefly created and then exits itself cleanly each time it is run. This seems to be the normal behaviour and happens whether Lasso and the governor is running or not.
If you then set Efficiency Mode to always Off OR On, then this suspended process no longer exits itself and becomes a zombie every successive time you launch epicgameslauncher.exe

This problem never occurs with Efficiency mode not set in Lasso for the process,  (or process lasso simply uninstalled.)

I have not witnessed QuakeLive creating a similar suspended process during normal operation, and unlike EGS it does not always seem to have a problem when Efficiency mode is enabled, but it is Efficiency mode which will eventually cause it to leave a zombie after closing the application.






Jeremy Collake

Interesting. Thank you for taking the time to experiment and report this! I'll reply again when we know more.
Software Engineer. Bitsum LLC.

Yakumo

Thank you for taking a look at this.
I checked Hardware Accelerated GPU Scheduling today but the problem is there whether that is on or off, I'm not aware of anything else non-standard on my Windows install likely to interfere in normal process operations.

If you're unable to replicate the problem feel free to email me and I will try and help work it out.

Jeremy Collake

#6
We were able to resolve the issue in Process Lasso v12.5.0.13 BETA, now available, by skipping Efficiency Mode enforcement on processes that have zero threads or are suspended. Enforcement in these conditions has no impact anyway.

CoreDirector will also get a beta update.

The fundamental cause is still being studied, but does not appear to be any bug with Process Lasso, such as a handle left open. It may be a Windows API issue with Efficiency Mode adjustments on processes with zero threads, a situation that doesn't normally arise.

You can get on the beta channel by checking menu item 'Updates / Include Betas'. If you try it, let me know how it goes!

Thanks again for bringing this to our attention!
Software Engineer. Bitsum LLC.

Yakumo

I can confirm the beta seems to have resolved the problem for the Epic launcher, I will have to run it for a day or so to be sure if it's resolved it for Quake Live as I was unable to find a specific trigger for that.
Thank you again!

Yakumo

There has been no sign of this problem recurring so I think your solution has resolved all cases here. Cheers.

Jeremy Collake

Software Engineer. Bitsum LLC.