game-ci / game-ci/docker

UnauthorizedAccessException during compilation with 2021.2.0

Open
#128 6 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Dockerfile
Stars
470
Forks
140
PR merge metrics
No merged PRs in 30d

Description

**Bug description**

I upgraded one of my projects to 2021.2.0. Everything works in the editor, but the CI build fails

**How to reproduce**

- Create a unity build with 2021.2.0

**Expected behavior**

Project builds without error

**Additional details**

I'm using the image: unityci/editor:2021.2.0f1-windows-mono-0.15.0

When running the build on Windows and installing Unity via chocolatey, everything works as expected

Logs

```
Registering precompiled user dll's ...
Registered in 0.033312 seconds.
IOException: Permission denied
Rethrow as UnauthorizedAccessException: Access to the path '/opt/unity/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades' is denied.
at System.IO.Enumeration.FileSystemEnumerator`1[TResult].CreateDirectoryHandle (System.String path, System.Boolean ignoreNotFound) [0x00032] in <75405ec2242e43c49aa0483c7c7d5ed0>:0
at System.IO.Enumeration.FileSystemEnumerator`1[TResult]..ctor (System.String directory, System.IO.EnumerationOptions options) [0x00048] in <75405ec2242e43c49aa0483c7c7d5ed0>:0
at System.IO.Enumeration.FileSystemEnumerable`1+DelegateEnumerator[TResult]..ctor (System.IO.Enumeration.FileSystemEnumerable`1[TResult] enumerable) [0x00000] in <75405ec2242e43c49aa0483c7c7d5ed0>:0
at System.IO.Enumeration.FileSystemEnumerable`1[TResult]..ctor (System.String directory, System.IO.Enumeration.FileSystemEnumerable`1+FindTransform[TResult] transform, System.IO.EnumerationOptions options) [0x00042] in <75405ec2242e43c49aa0483c7c7d5ed0>:0
at System.IO.Enumeration.FileSystemEnumerableFactory.UserFiles (System.String directory, System.String expression, System.IO.EnumerationOptions options) [0x00014] in <75405ec2242e43c49aa0483c7c7d5ed0>:0
at System.IO.Directory.InternalEnumeratePaths (System.String path, System.String searchPattern, System.IO.SearchTarget searchTarget, System.IO.EnumerationOptions options) [0x0003c] in <75405ec2242e43c49aa0483c7c7d5ed0>:0
at System.IO.Directory.GetFiles (System.String path, System.String searchPattern, System.IO.EnumerationOptions enumerationOptions) [0x00000] in <75405ec2242e43c49aa0483c7c7d5ed0>:0
at System.IO.Directory.GetFiles (System.String path, System.String searchPattern) [0x00007] in <75405ec2242e43c49aa0483c7c7d5ed0>:0
at UnityEditor.Scripting.ScriptCompilation.MonoLibraryHelpers.GetCachedSystemLibraryReferences (UnityEditor.ApiCompatibilityLevel apiCompatibilityLevel) [0x00083] in /home/bokken/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/MonoLibraryHelpers.cs:57
at UnityEditor.Scripting.ScriptCompilation.MonoLibraryHelpers.GetSystemLibraryReferences (UnityEditor.ApiCompatibilityLevel apiCompatibilityLevel) [0x00001] in /home/bokken/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/MonoLibraryHelpers.cs:21
at UnityEditor.Scripting.ScriptCompilation.LoadingAssemblyDefinition.SetAllCustomScriptAssemblyJsonContents (System.String[] paths, System.String[] contents, System.String[] guids) [0x00132] in /home/bokken/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/LoadingAssemblyDefinition.cs:90
UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
UnityEngine.Logger:LogException(Exception, Object)
UnityEngine.Debug:LogException(Exception)
UnityEditor.Scripting.ScriptCompilation.EditorCompilationInterface:LogException(Exception) (at /home/bokken/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/EditorCompilationInterface.cs:33)
UnityEditor.Scripting.ScriptCompilation.EditorCompilationInterface:EmitExceptionsAsErrors(Exception[]) (at /home/bokken/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/EditorCompilationInterface.cs:42)
UnityEditor.Scripting.ScriptCompilation.EditorCompilationInterface:SetAllCustomScriptAssemblyJsonContents(String[], String[], String[]) (at /home/bokken/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/EditorCompilationInterface.cs:140)

(Filename: /home/bokken/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/MonoLibraryHelpers.cs Line: 57)
IOException: Permission denied
Rethrow as UnauthorizedAccessException: Access to the path '/opt/unity/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades' is denied.
at System.IO.Enumeration.FileSystemEnumerator`1[TResult].CreateDirectoryHandle (System.String path, System.Boolean ignoreNotFound) [0x00032] in <75405ec2242e43c49aa0483c7c7d5ed0>:0
at System.IO.Enumeration.FileSystemEnumerator`1[TResult]..ctor (System.String directory, System.IO.EnumerationOptions options) [0x00048] in <75405ec2242e43c49aa0483c7c7d5ed0>:0
at System.IO.Enumeration.FileSystemEnumerable`1+DelegateEnumerator[TResult]..ctor (System.IO.Enumeration.FileSystemEnumerable`1[TResult] enumerable) [0x00000] in <75405ec2242e43c49aa0483c7c7d5ed0>:0
at System.IO.Enumeration.FileSystemEnumerable`1[TResult]..ctor (System.String directory, System.IO.Enumeration.FileSystemEnumerable`1+FindTransform[TResult] transform, System.IO.EnumerationOptions options) [0x00042] in <75405ec2242e43c49aa0483c7c7d5ed0>:0
at System.IO.Enumeration.FileSystemEnumerableFactory.UserFiles (System.String directory, System.String expression, System.IO.EnumerationOptions options) [0x00014] in <75405ec2242e43c49aa0483c7c7d5ed0>:0
at System.IO.Directory.InternalEnumeratePaths (System.String path, System.String searchPattern, System.IO.SearchTarget searchTarget, System.IO.EnumerationOptions options) [0x0003c] in <75405ec2242e43c49aa0483c7c7d5ed0>:0
at System.IO.Directory.GetFiles (System.String path, System.String searchPattern, System.IO.EnumerationOptions enumerationOptions) [0x00000] in <75405ec2242e43c49aa0483c7c7d5ed0>:0
at System.IO.Directory.GetFiles (System.String path, System.String searchPattern) [0x00007] in <75405ec2242e43c49aa0483c7c7d5ed0>:0
at UnityEditor.Scripting.ScriptCompilation.MonoLibraryHelpers.GetCachedSystemLibraryReferences (UnityEditor.ApiCompatibilityLevel apiCompatibilityLevel) [0x00083] in /home/bokken/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/MonoLibraryHelpers.cs:57
at UnityEditor.Scripting.ScriptCompilation.MonoLibraryHelpers.GetSystemLibraryReferences (UnityEditor.ApiCompatibilityLevel apiCompatibilityLevel) [0x00001] in /home/bokken/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/MonoLibraryHelpers.cs:21
at UnityEditor.Scripting.ScriptCompilation.LoadingAssemblyDefinition.SetAllCustomScriptAssemblyJsonContents (System.String[] paths, System.String[] contents, System.String[] guids) [0x00132] in /home/bokken/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/LoadingAssemblyDefinition.cs:90
UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
UnityEngine.Logger:LogException(Exception, Object)
UnityEngine.Debug:LogException(Exception)
UnityEditor.Scripting.ScriptCompilation.EditorCompilationInterface:LogException(Exception) (at /home/bokken/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/EditorCompilationInterface.cs:33)
UnityEditor.Scripting.ScriptCompilation.EditorCompilationInterface:EmitExceptionsAsErrors(Exception[]) (at /home/bokken/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/EditorCompilationInterface.cs:42)
UnityEditor.Scripting.ScriptCompilation.EditorCompilationInterface:SetAllCustomScriptAssemblyJsonContents(String[], String[], String[]) (at /home/bokken/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/EditorCompilationInterface.cs:140)

(Filename: /home/bokken/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/MonoLibraryHelpers.cs Line: 57)
[ScriptCompilation] Requested script compilation because: InitialRefresh: Force Refresh Recompile flag enabled
[API Updater] Processing imported assemblies took 97 ms (0/0 assembly(ies)).
Assembly Updater Post Process Assets time: 0.113042s
IOException: Permission denied
Rethrow as UnauthorizedAccessException: Access to the path '/opt/unity/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades' is denied.
at System.IO.Enumeration.FileSystemEnumerator`1[TResult].CreateDirectoryHandle (System.String path, System.Boolean ignoreNotFound) [0x00032] in <75405ec2242e43c49aa0483c7c7d5ed0>:0
at System.IO.Enumeration.FileSystemEnumerator`1[TResult]..ctor (System.String directory, System.IO.EnumerationOptions options) [0x00048] in <75405ec2242e43c49aa0483c7c7d5ed0>:0
at System.IO.Enumeration.FileSystemEnumerable`1+DelegateEnumerator[TResult]..ctor (System.IO.Enumeration.FileSystemEnumerable`1[TResult] enumerable) [0x00000] in <75405ec2242e43c49aa0483c7c7d5ed0>:0
at System.IO.Enumeration.FileSystemEnumerable`1[TResult]..ctor (System.String directory, System.IO.Enumeration.FileSystemEnumerable`1+FindTransform[TResult] transform, System.IO.EnumerationOptions options) [0x00042] in <75405ec2242e43c49aa0483c7c7d5ed0>:0
at System.IO.Enumeration.FileSystemEnumerableFactory.UserFiles (System.String directory, System.String expression, System.IO.EnumerationOptions options) [0x00014] in <75405ec2242e43c49aa0483c7c7d5ed0>:0
at System.IO.Directory.InternalEnumeratePaths (System.String path, System.String searchPattern, System.IO.SearchTarget searchTarget, System.IO.EnumerationOptions options) [0x0003c] in <75405ec2242e43c49aa0483c7c7d5ed0>:0
at System.IO.Directory.GetFiles (System.String path, System.String searchPattern, System.IO.EnumerationOptions enumerationOptions) [0x00000] in <75405ec2242e43c49aa0483c7c7d5ed0>:0
at System.IO.Directory.GetFiles (System.String path, System.String searchPattern) [0x00007] in <75405ec2242e43c49aa0483c7c7d5ed0>:0
at UnityEditor.Scripting.ScriptCompilation.MonoLibraryHelpers.GetCachedSystemLibraryReferences (UnityEditor.ApiCompatibilityLevel apiCompatibilityLevel) [0x00083] in /home/bokken/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/MonoLibraryHelpers.cs:57
at UnityEditor.Scripting.ScriptCompilation.MonoLibraryHelpers.GetSystemLibraryReferences (UnityEditor.ApiCompatibilityLevel apiCompatibilityLevel) [0x00001] in /home/bokken/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/MonoLibraryHelpers.cs:21
at UnityEditor.Scripting.ScriptCompilation.LoadingAssemblyDefinition.SetAllCustomScriptAssemblyJsonContents (System.String[] paths, System.String[] contents, System.String[] guids) [0x00132] in /home/bokken/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/LoadingAssemblyDefinition.cs:90
UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
UnityEngine.Logger:LogException(Exception, Object)
UnityEngine.Debug:LogException(Exception)
UnityEditor.Scripting.ScriptCompilation.EditorCompilationInterface:LogException(Exception) (at /home/bokken/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/EditorCompilationInterface.cs:33)
UnityEditor.Scripting.ScriptCompilation.EditorCompilationInterface:EmitExceptionsAsErrors(Exception[]) (at /home/bokken/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/EditorCompilationInterface.cs:42)
UnityEditor.Scripting.ScriptCompilation.EditorCompilationInterface:SetAllCustomScriptAssemblyJsonContents(String[], String[], String[]) (at /home/bokken/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/EditorCompilationInterface.cs:140)

(Filename: /home/bokken/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/MonoLibraryHelpers.cs Line: 57)
[ScriptCompilation] Requested script compilation because: Assembly Definition File(s) changed
[ScriptCompilation] Requested script compilation because: Assetdatabase observed changes in script compilation related files
IOException: Permission denied
Rethrow as UnauthorizedAccessException: Access to the path '/opt/unity/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades' is denied.
at System.IO.Enumeration.FileSystemEnumerator`1[TResult].CreateDirectoryHandle (System.String path, System.Boolean ignoreNotFound) [0x00032] in <75405ec2242e43c49aa0483c7c7d5ed0>:0
at System.IO.Enumeration.FileSystemEnumerator`1[TResult]..ctor (System.String directory, System.IO.EnumerationOptions options) [0x00048] in <75405ec2242e43c49aa0483c7c7d5ed0>:0
at System.IO.Enumeration.FileSystemEnumerable`1+DelegateEnumerator[TResult]..ctor (System.IO.Enumeration.FileSystemEnumerable`1[TResult] enumerable) [0x00000] in <75405ec2242e43c49aa0483c7c7d5ed0>:0
at System.IO.Enumeration.FileSystemEnumerable`1[TResult]..ctor (System.String directory, System.IO.Enumeration.FileSystemEnumerable`1+FindTransform[TResult] transform, System.IO.EnumerationOptions options) [0x00042] in <75405ec2242e43c49aa0483c7c7d5ed0>:0
at System.IO.Enumeration.FileSystemEnumerableFactory.UserFiles (System.String directory, System.String expression, System.IO.EnumerationOptions options) [0x00014] in <75405ec2242e43c49aa0483c7c7d5ed0>:0
at System.IO.Directory.InternalEnumeratePaths (System.String path, System.String searchPattern, System.IO.SearchTarget searchTarget, System.IO.EnumerationOptions options) [0x0003c] in <75405ec2242e43c49aa0483c7c7d5ed0>:0
at System.IO.Directory.GetFiles (System.String path, System.String searchPattern, System.IO.EnumerationOptions enumerationOptions) [0x00000] in <75405ec2242e43c49aa0483c7c7d5ed0>:0
at System.IO.Directory.GetFiles (System.String path, System.String searchPattern) [0x00007] in <75405ec2242e43c49aa0483c7c7d5ed0>:0
at UnityEditor.Scripting.ScriptCompilation.MonoLibraryHelpers.GetCachedSystemLibraryReferences (UnityEditor.ApiCompatibilityLevel apiCompatibilityLevel) [0x00083] in /home/bokken/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/MonoLibraryHelpers.cs:57
at UnityEditor.Scripting.ScriptCompilation.MonoLibraryHelpers.GetSystemLibraryReferences (UnityEditor.ApiCompatibilityLevel apiCompatibilityLevel) [0x00001] in /home/bokken/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/MonoLibraryHelpers.cs:21
at UnityEditor.Scripting.ScriptCompilation.EditorBuildRules.AddScriptAssemblyReferences (UnityEditor.Scripting.ScriptCompilation.ScriptAssembly& scriptAssembly, UnityEditor.Scripting.ScriptCompilation.TargetAssembly targetAssembly, UnityEditor.Scripting.ScriptCompilation.ScriptAssemblySettings settings, UnityEditor.Scripting.ScriptCompilation.EditorBuildRules+CompilationAssemblies assemblies, System.Collections.Generic.IDictionary`2[TKey,TValue] targetToScriptAssembly, UnityEditor.Scripting.ScriptCompilation.ICompilationSetupWarningTracker warningSink) [0x0036d] in /home/bokken/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/EditorBuildRules.cs:457
at UnityEditor.Scripting.ScriptCompilation.EditorBuildRules.ToScriptAssemblies (System.Collections.Generic.IDictionary`2[TKey,TValue] targetAssemblies, UnityEditor.Scripting.ScriptCompilation.ScriptAssemblySettings settings, UnityEditor.Scripting.ScriptCompilation.EditorBuildRules+CompilationAssemblies assemblies, UnityEditor.Scripting.ScriptCompilation.ICompilationSetupWarningTracker warningSink, UnityEditor.Scripting.ScriptCompilation.ISafeModeInfo safeModeInfo) [0x002b4] in /home/bokken/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/EditorBuildRules.cs:298
at UnityEditor.Scripting.ScriptCompilation.EditorBuildRules.GetAllScriptAssemblies (System.Collections.Generic.Dictionary`2[TKey,TValue] allSourceFiles, System.String projectDirectory, UnityEditor.Scripting.ScriptCompilation.ScriptAssemblySettings settings, UnityEditor.Scripting.ScriptCompilation.EditorBuildRules+CompilationAssemblies assemblies, UnityEditor.Scripting.ScriptCompilation.ISafeModeInfo safeModeInfo, UnityEditor.Scripting.ScriptCompilation.TargetAssemblyType onlyIncludeType, System.Func`2[T,TResult] targetAssemblyCondition, UnityEditor.Scripting.ScriptCompilation.ICompilationSetupWarningTracker warningSink) [0x00116] in /home/bokken/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/EditorBuildRules.cs:191
at UnityEditor.Scripting.ScriptCompilation.EditorCompilation.GetAllScriptAssembliesOfType (UnityEditor.Scripting.ScriptCompilation.ScriptAssemblySettings settings, UnityEditor.Scripting.ScriptCompilation.TargetAssemblyType type, UnityEditor.Scripting.ScriptCompilation.ICompilationSetupWarningTracker warningSink) [0x0009f] in /home/bokken/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/EditorCompilation.cs:1593
at UnityEditor.Scripting.ScriptCompilation.EditorCompilation.CompileScriptsWithSettings (UnityEditor.Scripting.ScriptCompilation.ScriptAssemblySettings scriptAssemblySettings) [0x00085] in /home/bokken/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/EditorCompilation.cs:922
at UnityEditor.Scripting.ScriptCompilation.EditorCompilation.CompileScripts (UnityEditor.Scripting.ScriptCompilation.EditorScriptCompilationOptions editorScriptCompilationOptions, UnityEditor.BuildTargetGroup platformGroup, UnityEditor.BuildTarget platform, System.Int32 subtarget, System.String[] extraScriptingDefines) [0x0003a] in /home/bokken/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/EditorCompilation.cs:791
at UnityEditor.Scripting.ScriptCompilation.EditorCompilationInterface+<>c__DisplayClass21_0.b__0 () [0x00000] in /home/bokken/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/EditorCompilationInterface.cs:184
at UnityEditor.Scripting.ScriptCompilation.EditorCompilationInterface.EmitExceptionAsError[T] (System.Func`1[TResult] func, T returnValue) [0x00002] in /home/bokken/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/EditorCompilationInterface.cs:49
UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
UnityEngine.Logger:LogException(Exception, Object)
UnityEngine.Debug:LogException(Exception)
UnityEditor.Scripting.ScriptCompilation.EditorCompilationInterface:LogException(Exception) (at /home/bokken/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/EditorCompilationInterface.cs:33)
UnityEditor.Scripting.ScriptCompilation.EditorCompilationInterface:EmitExceptionAsError(Func`1, CompileStatus) (at /home/bokken/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/EditorCompilationInterface.cs:53)
UnityEditor.Scripting.ScriptCompilation.EditorCompilationInterface:CompileScripts(EditorScriptCompilationOptions, BuildTargetGroup, BuildTarget, Int32, String[]) (at /home/bokken/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/EditorCompilationInterface.cs:184)

(Filename: /home/bokken/buildslave/unity/build/Editor/Mono/Scripting/ScriptCompilation/MonoLibraryHelpers.cs Line: 57)
```

Contributor guide

Open the contributing guide

Research direction

Start with the unityci/editor:2021.2.0f1-windows-mono-0.15.0 image and the logged path /opt/unity/Editor/Data/UnityReferenceAssemblies/unity-4.8-api/Facades. Trace the failure at MonoLibraryHelpers.cs:57 during compilation and compare it with the working Chocolatey installation. Done means the reported Unity 2021.2.0 CI build completes without UnauthorizedAccessException.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, unity
Domain
ci-cd, devops, infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.