Hello,
We fully use Horde/UBA to compile our project and run CI/CD. However, we face multiple instabilities.
Some of them are:
fatal error C1356: unable to find mspdbcore.dll
// or
Unhandled Exception: System.IO.FileNotFoundException: The specified module could not be found. (Exception from HRESULT: 0x8007007E)
System.IO.FileNotFoundException: The specified module could not be found. (Exception from HRESULT: 0x8007007E)
ASSERT: Unhandled exception/crash. Suppress debugger startup and try to report issue instead. This message is here to hopefully see callstack
CALLSTACK:
uba::Detoured_CreateProcessW (UbaDetoursFunctionsKernelBase.inl:3052)
KERNEL32.dll: +0x713f9
KERNEL32.dll: +0x71e94
KERNEL32.dll: +0x71996
KERNELBASE.dll: +0x12c6f9
ntdll.dll: +0xa58d8
ntdll.dll: +0x8ce46
ntdll.dll: +0xa296f
ntdll.dll: +0x52554
ntdll.dll: +0x522a7
KERNELBASE.dll: +0x25369
clr.dll: +0x1810a8
EXEC : error : Process 3492 VCTIP.EXE
fatal error C1356: unable to find mspdbcore.dll
Sometimes we also face agent stalls (the agent responds to pings but never finishes the job).
While users can retrigger compilation, these issues on build machines cause builds to fail. To mitigate this, we use some flags/build configurations such as -UBAForcedRetry or -UBAForcedRetryRemote.
We also consider using dedicated agents, but we still want to leverage our workstation compute power. To reduce errors, we’ve already updated agents, the Horde server, and reviewed agent configurations.
We’ve also increased the page file size. Workstation users use the idle system of Toolbox to ensure enough resources are available.
Questions:
- Is there anything we’ve missed to improve stability?
- We plan to update to latest release engine version. Should we target a specific CL?
- Due to our needs, we use devenv as CI (and we have also noticed this appears to users): by using -UBAForcedRetryRemote, even if the failed task restarts, MSVC considers the compilation as failed. Is there a way to avoid this?
Thank you for your help ![]()
[Attachment Removed]