A Qt (C++) application is starting Python interpreters regularly via QProcess for script based computations and waits for the scripts result. This works fine for some time, but after about an hour runtime with many interpreter starts/terminations, the application fails with the error code ProcessError::FailedToStart. After this point, no other Python interpreter can be started from that C++ application anymore until the application itself is restarted. There is no error code, no stdout or stderr message and no additional message anywhere. The Windows logs do also show nothing suspicious. I strongly assume that this effect is caused by some resource exhaustion, but cannot find any obvious cause. What I already did: Source code review and lots of debugging. All resources I can identify are constructed/destructed correctly. Expand the Windows task manager by memory and handle counter columns. Both are increasing, but with a sane upper limit. Install "Process Explorer" to look at the handles and resources in detail. Nothing obvious suspicious here. Add various resource inspecting debug code (using GetProcessHandleCount, GetProcessIOCounters, GetProcessMemoryInfo, ...) which shows no abnormalities in the log. Ask my favorite LLMs for hints, but nothing valid from there. Now I'm stuck. Does anybody know this effect or how to get to the roots of it ? Maybe some debugging tool or some Windows feature I can use for a structured analysis of resources ? Or am I on the wrong path and the underlying cause is probably something else ? The fact that the application is based on Windows doesn't make this task easier, I'm afraid. Thank you in advance ! Continue reading...