-
Notifications
You must be signed in to change notification settings - Fork 22
Description
Hi, so I recently updated and ran into the program claiming that compile problems were caused by MO2 and I have reason to think you're not entirely correct. (Or it's reporting non-MO2 problems as MO2 problems.)
For many years, I was the primary maintainer of npm (the node package manager) and we ran into exactly the same "file appears to be use" type errors when operating on a bunch of things in parallel. This seems to be a design limitation of the Windows layered filesystem thing -- it does not happen on any other operating systems.
Our solution was a simple one:
Retry failures a few times in the filesystem library. This basically eliminated the problem.
In my case, the error I encountered in Synthesis was resolvable by forcing Synthesis to retry compiling the patcher by telling it to math the version, then go back to the latest version. This, in my experience, fixes the problem every time.
I suspect the MO2 VFS exacerbates the problem by adding further delays to filesystem operations, which results in the access errors we encounter. So MO2 is related to the problem, but the underlying problem is the Windows filesystem layer. Should that be true, it likely is also possible to avoid the issue by creating a Dev Drive and then putting MO2 and Skyrim on there (assuming the VFS works there at all -- Dev Drives eliminate the usual layered filesystem stack, to make things like git not be dog slow on big repos.)
I would strongly suggest adding at least a few retries for file access issues, especially from external processes (like the compiler).