0

I'm using an open-source program that runs through thousands of operations in sequence and "scipy" is one of the libraries being used. At some random iteration, I get this error and the process dies leaving me to find out the process I wanted to run overnight doesn't.

It makes no sense though. How is this file blocking itself? I have Windows 11, Windows Defender, Malwarebytes Anti-exploit... I don't know which if any could be causing the problem. The files truly are temporary because when I go to find them after the crash, they're not even there so there's no way to know what is using them in the first place.

If I watch the temp folder, I can see files of that naming convention appear and disappear at unknown intervals. When it does show up, it disappears again almost instantly.

1 Answers1

0

Windows allows an application to be multithreaded. That means that a single application can spawn multiple threads. So, when you state, " At some random iteration, I get this error," it implies that one thread is blocking another, hogging a needed resource, i.e., scipy-36p0uzzx. Thic is called thread contention.

Normally, a well-written multithreaded application uses a method to indicate a resource is in use, such as a mutex, to avoid contention.

If the application you are using fails because of contention, then try to limit the number of threads.

  • If the app has such a setting, perhaps in an .ini file, set it to single threading.
  • If it is an interpreted app, e.g., running in Java, it might be possible to instruct the engine to limit number of threads.
  • You can try to limit the number of CPU cores the process uses by setting Affinity.
  • Contact the app developers for help. My experience has been that developers of open-source projects are more responsive to user requests than those of commercial applications.