Exception for WebGL Unity 2020.1 - UnityLinker.exe did not run properly

Hi,

I fail to build a fresh new project for Unity 2020.1.0a20.2541, URP, WebGL platform. It plays fine on Editor. I’m on Win10. Error:

Files\Unity\Hub\Editor\2020.1.0a20\Editor\Data\il2cpp\build/deploy/net471/UnityLinker.exe did not run properly!
UnityEditorInternal.Runner.RunProgram (UnityEditor.Utils.Program p, System.String exe, System.String args, System.String workingDirectory, UnityEditor.Scripting.Compilers.CompilerOutputParserBase parser) (at <bba5ae680bc14113ade3be5cc43cbed6>:0)

Googling it, I tried I tried disabled compression, both Project settings->Player->API compatibility at .NET2x and 4x, unticking strip engine code, delete project and library folder and re-build, delete link.xml, my system is set to region format English(United States), none to any avail.

Also, Files\Unity\Hub\Editor\2020.1.0a20\Editor\Data\il2cpp\build/deploy/net471/UnityLinker.exe --help seems to report correctly

Full build error code:

Failed running C:\Program Files\Unity\Hub\Editor\2020.1.0a20\Editor\Data\il2cpp\build/deploy/net471/UnityLinker.exe -out=B:/[path]/Temp/StagingArea/Data/Managed/tempStrip -x="C:/Users/username/AppData/Local/Temp/tmp1942393e.tmp" -x=B:/[path]/Temp/StagingArea/Data/Managed/TypesInScenes.xml -d=B:/[path]/Temp/StagingArea/Data/Managed --include-unity-root-assembly=B:/[path]/Temp/StagingArea/Data/Managed/Assembly-CSharp.dll --include-unity-root-assembly=B:/[path]/Temp/StagingArea/Data/Managed/Unity.RenderPipelines.Core.Runtime.dll --include-unity-root-assembly=B:/[path]/Temp/StagingArea/Data/Managed/Unity.RenderPipelines.Universal.Runtime.dll --include-unity-root-assembly=B:/[path]/Temp/StagingArea/Data/Managed/UnityEngine.UI.dll --dotnetruntime=il2cpp --dotnetprofile=unityaot --use-editor-options --include-directory=B:/[path]/Temp/StagingArea/Data/Managed --rule-set=Conservative --editor-data-file=B:/[path]/Temp/StagingArea/Data/Managed/EditorToUnityLinkerData.json --platform=WebGL --enable-engine-module-stripping --engine-modules-asset-file="C:/Program Files/Unity/Hub/Editor/2020.1.0a20/Editor/Data/PlaybackEngines/WebGLSupport/Whitelists/../modules.asset"
stdout:
Fatal error in Unity CIL Linker
Mono.Linker.MarkException: Error processing method: 'System.Void UnityEngine.Rendering.ObjectParameter`1::set_value(T)' in assembly: 'Unity.RenderPipelines.Core.Runtime.dll' ---> System.NullReferenceException: Object reference not set to an instance of an object.
   at Unity.Linker.Steps.Marking.ReflectionMarking.<>c.<ProcessGetFields>b__16_0(TypeDefinition t)
   at Unity.Linker.Steps.Marking.ReflectionMarking.ProcessGetMemberCollection[T](ReflectionUsageContext reflectionContext, DetailedStackItem stackItem, Func`2 getMembers, Func`2 isPublic, Action`1 markMember, Boolean includeBaseTypes)
   at Unity.Linker.Steps.Marking.ReflectionMarking.ProcessGetFields(ReflectionUsageContext reflectionContext, DetailedStackItem stackItem)
   at Unity.Linker.Steps.Marking.ReflectionMarking.MarkThingsUsedViaReflection(MethodBody body)
   at Unity.Linker.Steps.UnityMarkStep.MarkReflectionLikeDependencies(MethodBody body)
   at Mono.Linker.Steps.MarkStep.MarkMethodBody(MethodBody body)
   at Unity.Linker.Steps.UnityMarkStep.MarkMethodBody(MethodBody body)
   at Mono.Linker.Steps.MarkStep.ProcessMethod(MethodDefinition method)
   at Unity.Linker.Steps.UnityMarkStep.ProcessMethod(MethodDefinition method)
   at Mono.Linker.Steps.MarkStep.ProcessQueue()
   --- End of inner exception stack trace ---
   at Mono.Linker.Steps.MarkStep.ProcessQueue()
   at Mono.Linker.Steps.MarkStep.ProcessPrimaryQueue()
   at Mono.Linker.Steps.MarkStep.Process()
   at Mono.Linker.Steps.MarkStep.Process(LinkContext context)
   at Unity.Linker.Steps.UnityMarkStep.Process(LinkContext context)
   at Mono.Linker.Pipeline.ProcessStep(LinkContext context, IStep step)
   at Unity.Linker.UnityPipeline.ProcessStep(LinkContext context, IStep step)
   at Mono.Linker.Pipeline.Process(LinkContext context)
   at Unity.Linker.UnityDriver.Run()
   at Unity.Linker.UnityDriver.RunDriverWithoutErrorHandling()
   at Unity.Linker.UnityDriver.RunDriver()
stderr:
UnityEngine.Debug:LogError(Object)
UnityEditorInternal.Runner:RunProgram(Program, String, String, String, CompilerOutputParserBase)
UnityEditorInternal.Runner:RunManagedProgram(String, String, String, CompilerOutputParserBase, Action`1)
UnityEditorInternal.AssemblyStripper:RunAssemblyLinker(IEnumerable`1, String&, String&, String, String)
UnityEditorInternal.AssemblyStripper:StripAssembliesTo(String, String&, String&, IEnumerable`1, UnityLinkerRunInformation)
UnityEditorInternal.AssemblyStripper:RunAssemblyStripper(UnityLinkerRunInformation)
UnityEditorInternal.AssemblyStripper:StripAssemblies(String, BaseUnityLinkerPlatformProvider, IIl2CppPlatformProvider, RuntimeClassRegistry, ManagedStrippingLevel)
UnityEditorInternal.IL2CPPBuilder:Run()
UnityEditorInternal.IL2CPPUtils:RunIl2Cpp(String, IIl2CppPlatformProvider, Action`1, RuntimeClassRegistry)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

Exception: C:\Program Files\Unity\Hub\Editor\2020.1.0a20\Editor\Data\il2cpp\build/deploy/net471/UnityLinker.exe did not run properly!
UnityEditorInternal.Runner.RunProgram (UnityEditor.Utils.Program p, System.String exe, System.String args, System.String workingDirectory, UnityEditor.Scripting.Compilers.CompilerOutputParserBase parser) (at <bba5ae680bc14113ade3be5cc43cbed6>:0)
UnityEditorInternal.Runner.RunManagedProgram (System.String exe, System.String args, System.String workingDirectory, UnityEditor.Scripting.Compilers.CompilerOutputParserBase parser, System.Action`1[T] setupStartInfo) (at <bba5ae680bc14113ade3be5cc43cbed6>:0)
UnityEditorInternal.AssemblyStripper.RunAssemblyLinker (System.Collections.Generic.IEnumerable`1[T] args, System.String& out, System.String& err, System.String linkerPath, System.String workingDirectory) (at <bba5ae680bc14113ade3be5cc43cbed6>:0)
UnityEditorInternal.AssemblyStripper.StripAssembliesTo (System.String outputFolder, System.String& output, System.String& error, System.Collections.Generic.IEnumerable`1[T] linkXmlFiles, UnityEditorInternal.UnityLinkerRunInformation runInformation) (at <bba5ae680bc14113ade3be5cc43cbed6>:0)
UnityEditorInternal.AssemblyStripper.RunAssemblyStripper (UnityEditorInternal.UnityLinkerRunInformation runInformation) (at <bba5ae680bc14113ade3be5cc43cbed6>:0)
UnityEditorInternal.AssemblyStripper.StripAssemblies (System.String managedAssemblyFolderPath, UnityEditorInternal.BaseUnityLinkerPlatformProvider unityLinkerPlatformProvider, UnityEditorInternal.IIl2CppPlatformProvider il2cppPlatformProvider, UnityEditor.RuntimeClassRegistry rcr, UnityEditor.ManagedStrippingLevel managedStrippingLevel) (at <bba5ae680bc14113ade3be5cc43cbed6>:0)
UnityEditorInternal.IL2CPPBuilder.Run () (at <bba5ae680bc14113ade3be5cc43cbed6>:0)
UnityEditorInternal.IL2CPPUtils.RunIl2Cpp (System.String stagingAreaData, UnityEditorInternal.IIl2CppPlatformProvider platformProvider, System.Action`1[T] modifyOutputBeforeCompile, UnityEditor.RuntimeClassRegistry runtimeClassRegistry) (at <bba5ae680bc14113ade3be5cc43cbed6>:0)
UnityEditor.WebGL.WebGlBuildPostprocessor.CompileBuild (UnityEditor.Modules.BuildPostProcessArgs args) (at /Users/builduser/buildslave/unity/build/PlatformDependent/WebGL/Extensions/Unity.WebGL.extensions/BuildPostprocessor.cs:373)
UnityEditor.WebGL.WebGlBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args) (at /Users/builduser/buildslave/unity/build/PlatformDependent/WebGL/Extensions/Unity.WebGL.extensions/BuildPostprocessor.cs:911)
UnityEditor.Modules.DefaultBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties) (at <bba5ae680bc14113ade3be5cc43cbed6>:0)
UnityEditor.PostprocessBuildPlayer.Postprocess (UnityEditor.BuildTargetGroup targetGroup, UnityEditor.BuildTarget target, System.String installPath, System.String companyName, System.String productName, System.Int32 width, System.Int32 height, UnityEditor.BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) (at <bba5ae680bc14113ade3be5cc43cbed6>:0)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

UnityEditor.BuildPlayerWindow+BuildMethodException: 3 errors
  at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (UnityEditor.BuildPlayerOptions options) [0x0027c] in <bba5ae680bc14113ade3be5cc43cbed6>:0
  at UnityEditor.BuildPlayerWindow.CallBuildMethods (System.Boolean askForBuildLocation, UnityEditor.BuildOptions defaultBuildOptions) [0x00080] in <bba5ae680bc14113ade3be5cc43cbed6>:0
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

Anyone encountered this and found a solution? I raised bug rpt

Thanks a bunch for your help

1 Like

Thanks for making the bug report- I have the same issue for the .19 and .20 alphas. I’m away from my machine, but I recall one of the error messages points to the URP package. Also happens with the mono backend unless stripping is set to ‘none’.

thanks @Karearea , i tried to build by unchecking strip engine code but didn’t work, and can’t change mono on webgl, attached settings. I removed URP package and builds but the browser opens but still throws some errors (I had also set compression to none)

Same problem with building on Android and iOS (2020.1.0a20.2541, URP)

1 Like

Not using URP but same problem

Fatal error in Unity CIL Linker
Mono.Linker.MarkException: Error processing method: 'Unity.Properties.IPropertyBag`1<TContainer> Unity.Properties.Reflection.ReflectedPropertyBagProvider::Generate()' in assembly: 'Unity.Properties.dll' ---> System.NullReferenceException: ��뫪� �� ��ꥪ� �� 㪠�뢠�� �� �������� ��ꥪ�.

Same problem with iOS build of new URP project from template (2020.1.0a20.2541, URP).

This bug appears to be a regression, I just tested with a18 and URP builds for iOS.

in 2020.1.0a21 all goes to normal, at least for me

1 Like

I just built mine up in a21 too, no issues. Although URP hates my project so its not involved (it turns all my walls to ugly, and then wont compile at build time)

Hi same problem on android, any solution?

This issue should have been fixed in a24. If you’re still experiencing this in later builds, please submit a bug report.

1 Like

@LeonhardP @jukka_j @Marco-Trivellato Same issue here on 2020.1b6, so it’s not fixed yet. Only occurs on WebGL, on Windows with IL2CPP works correctly.

Two bug reports that may be related because the way to reproduce them it’s really similar.

Case 1241237
Case 1241238

2 Likes

I see this problem since 2016 in all versions of Unity. Including LTS 2017, 2018 and the latest updates of 2019. Fortunately, for now I have a problem only on WebGL, however, it is under this engine that I need to compile the project now. The task has been hanging for a week now, and I will assume that no updates will help. The case is buried somewhere in UnityLinker. Dear support, is it really so difficult to solve the problem that it persists for at least 5 years?
Report bug #1244061

1 Like

Good news, this issue has been fixed. The fix is on it’s way to 2020.1. https://issuetracker.unity3d.com/product/unity/issues/guid/1241237/

This issue has also been fixed but still needs to land. The fix will hopefully become available in a couple of weeks.
https://issuetracker.unity3d.com/product/unity/issues/guid/1241238

Thanks a lot for your reports!

2 Likes

Thanks @LeonhardP

Hi I still get the UnityLinker.exe failed error in unity version 2019.4.12f1. @LeonhardHP
How can I fix this?