Upgrading to 5.2.2 Causes Burst Compile Error on Linux

  • A* version: 5.2.2
  • Unity version: 2022.3.30f1

I can’t actually paste the log file because the forums software thinks that I’m posting too many links even though I checked and there’s nothing that looks like a hyperlink in it, so I’ll try to cut down some parts of it to avoid this but you won’t get the entire callstack…

I do local dev on Windows then a CI pipeline on Linux, upgrading from 5.2.1 to 5.2.2 causes this build time error:
Error: Burst internal compiler error: System.IO.FileNotFoundException: Could not find file “/builds/wyntersoft/project1/Library/BurstCache/Windows-Intel/Objects/f7b04e3ce27277459476878b677f1eb5.bc”
File name: ‘/builds/wyntersoft/project1/Library/BurstCache/Windows-Intel/Objects/f7b04e3ce27277459476878b677f1eb5.bc’
at System.IO.FileStream…ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.Boolean anonymous, System.IO.FileOptions options) [0x0019e] in <972ffc060f604ca9b9fa6d0a4c036950>:0
at System.IO.FileStream…ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize) [0x00000] in <972ffc060f604ca9b9fa6d0a4c036950>:0
at (wrapper remoting-invoke-with-check) System.IO.FileStream…ctor(string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,int)
at System.IO.File.ReadAllBytes (System.String path) [0x00000] in <972ffc060f604ca9b9fa6d0a4c036950>:0
) at Burst.Compiler.IL.Aot.AotModule.ReadFromDisk (Burst.Backend.Context context) [0x00013] in :0
at Burst.Compiler.IL.Server.LibraryCompiler.LoadMethodsFromDisk (Burst.Compiler.IL.NativeCompiler nativeCompiler, Burst.Compiler.IL.Aot.AotCompilerOptions defaultOptions, Burst.Compiler.IL.Aot.AotModuleGroup aotModuleGroup, System.Collections.Generic.IEnumerable1[T] methodLinkNames, System.String objectDirectory, System.String objectFileExtension, System.Boolean fromCache, System.Boolean isMultiCpu, System.Collections.Generic.Dictionary2[TKey,TValue] methodReferences, System.Collections.Generic.Dictionary2[TKey,TValue] perMethodObjectFileLocks) [0x00103] in <fecc8b90ec9549a294c4d6f8c000ff99>:0 ) at Burst.Compiler.IL.Server.LibraryCompiler.LinkAndFinalize (Burst.Compiler.IL.Server.CompilationJob request, Burst.Compiler.IL.Server.SharedLibraryCompilationState sharedState, System.Int32 methodGroupIndex, Burst.Compiler.IL.NativeCompiler nativeCompiler, Burst.Compiler.IL.Aot.AotCompilerOptions defaultOptions, Burst.Compiler.IL.Aot.AotModuleGroup aotModuleGroup) [0x0035e] in <fecc8b90ec9549a294c4d6f8c000ff99>:0 stderr: at Unity.Burst.Editor.BurstAotCompiler+BclRunner.RunProgram (UnityEditor.Utils.Program p, System.String exe, System.String args, System.String workingDirectory, UnityEditor.Scripting.Compilers.CompilerOutputParserBase parser, System.Boolean unreliableExitCode) [0x00224] in ./Library/PackageCache/com.unity.burst@1.8.13/Editor/BurstAotCompiler.cs:1943 at Unity.Burst.Editor.BurstAotCompiler+BclRunner.RunManagedProgram (System.String exe, System.String args, System.String workingDirectory, UnityEditor.Scripting.Compilers.CompilerOutputParserBase parser) [0x00065] in ./Library/PackageCache/com.unity.burst@1.8.13/Editor/BurstAotCompiler.cs:1812 at Unity.Burst.Editor.BurstAotCompiler+BclRunner.RunManagedProgram (System.String exe, System.String args, UnityEditor.Scripting.Compilers.CompilerOutputParserBase parser) [0x00000] in ./Library/PackageCache/com.unity.burst@1.8.13/Editor/BurstAotCompiler.cs:1777 at Unity.Burst.Editor.BurstAotCompiler.OnPostBuildPlayerScriptDLLsImpl (Unity.Burst.Editor.BurstAotCompiler+BurstAOTSettings settings, UnityEditor.Compilation.Assembly[] playerAssemblies) [0x00982] in ./Library/PackageCache/com.unity.burst@1.8.13/Editor/BurstAotCompiler.cs:886 at Unity.Burst.Editor.BurstAOTCompilerPostprocessor.DoGenerate (UnityEditor.Compilation.Assembly[] assemblies) [0x00013] in ./Library/PackageCache/com.unity.burst@1.8.13/Editor/BurstAotCompiler.cs:332 at Unity.Burst.Editor.BurstAOTCompilerPostprocessor.GenerateNativePluginsForAssemblies (UnityEditor.Build.IGenerateNativePluginsForAssemblies+GenerateArgs args) [0x0007d] in ./Library/PackageCache/com.unity.burst@1.8.13/Editor/BurstAotCompiler.cs:185 at UnityEditor.Modules.BeeBuildPostprocessor.GenerateNativePluginsForAssemblies (PlayerBuildProgramLibrary.Data.GenerateNativePluginsForAssembliesArgs args) [0x00050] in /home/bokken/build/output/unity/unity/Editor/Mono/Modules/BeeBuildPostprocessor.cs:612 at Bee.BeeDriver.BuildRequest+<>c__DisplayClass63_01[T].b__0 (System.Object o) [0x00000] in /home/bokken/build/output/unity/unity/Tools/Bee/Bee.BeeDriver2/BuildRequest.cs:66
at Bee.BeeDriver.BeeDriver_RunBackend+<>c__DisplayClass1_0.b__0 () [0x00000] in /home/bokken/build/output/unity/unity/Tools/Bee/Bee.BeeDriver2/BeeDriver_RunBackend.cs:88
at System.Threading.Tasks.Task.InnerInvoke () [0x0000f] in :0
at System.Threading.Tasks.Task.Execute () [0x00000] in :0
— End of stack trace from previous location where exception was thrown —

Reverting the commit to 5.2.1 allows builds to continue. Building locally on Windows did not fail the one time I tried it.

Hi

That’s weird.
It looks like a Unity bug to me.
Could you try to restart Unity, and if that doesn’t work, delete your Library folder to make Unity rebuild its various caches?

It’s a CI/CD pipeline running on Linux (So every build is a new Unity process), We disabled the cache, watched it import all assets again, and it failed again with 5.2.4, while 5.2.1 works.

Looking at git history, we were on 5.1.6 for a long time, then on October 5 went from 5.1.6 to 5.2.1 and then on October 6 went 5.2.1 to 5.2.2 which failed, We are moving back to 5.2.1 and won’t try again outside of a Unity update.

How annoying.

I’m not sure how to help you further. It really looks like a unity bug.